Vous devez comprendre que les problèmes ont une structure que les problèmes S A T génériques n'ont pas. Je vais vous donner un exemple simple. Soit Γ = { { ( 0 , 0 ) , ( 1 , 1 ) } , { ( 0 , 1 ) , ( 1 , 0 ) } }CSPSATΓ={{(0,0),(1,1)},{(0,1),(1,0)}}. Cette langue est telle que vous ne pouvez exprimer que l'égalité et l'inégalité entre deux variables. De toute évidence, un tel ensemble de contraintes peut être résolu en temps polynomial.
Je vais vous donner deux arguments pour clarifier la relation entre
et les clauses. Notez que tout ce qui suit suppose P ≠ N P .CSPP≠NP
Premièrement : les contraintes ont un nombre fixe de variables, tandis que l'encodage des problèmes intermédiaires peut nécessiter de grosses clauses. Ce n'est pas nécessairement un problème lorsque des contraintes aussi importantes peuvent être exprimées comme une conjonction de petites contraintes utilisant des variables auxiliaires. Ce n'est malheureusement pas toujours le cas pour le général .Γ
Supposons que contienne simplement l' O R de cinq variables. Il est clair que vous pouvez exprimer le O R de moins de variables en répétant les entrées. Vous ne pouvez pas exprimer un O R plus grand parce que la façon de le faire en utilisant des variables d'extension nécessite des disjonctions de littéraux positifs et négatifs. Γ représente les relations sur les variables , pas sur les littéraux . En effet, lorsque vous pensez à 3- S A T comme un C S P, vous avez besoin de Γ pour contenir quatre relations de disjonction avec quelques entrées négatives (de zéro à trois).ΓORORORΓSATCSPΓ
Deuxièmement : chaque relation dans peut être exprimée comme un lot de clauses avec (disons) trois littéraux. Chaque contrainte doit être un lot entier de telles clauses. Dans l'exemple des contraintes d' égalité / inégalité vous ne pouvez pas avoir un binaire A N D (relation -à- dire ( 1 , 1 ) ) sans appliquer un binaire niée O R (ie relation ( 0 , 0 ) ) sur les mêmes variables.ΓAND(1,1)OR(0,0)
J'espère que cela vous montre que les instances obtenues à partir des C S P ont une structure très particulière, qui est imposée par la nature de Γ . Si la structure est trop serrée, vous ne pouvez pas exprimer de problèmes difficiles. SATCSPΓ
Un corollaire du théorème de Schaefer est que chaque fois que applique une structure suffisamment lâche pour exprimer des problèmes de décision N P ∖ P , alors le même Γ laisse suffisamment de liberté pour exprimer des instances générales de 3- S A T.ΓNP∖PΓSAT