Conditions de tractabilité de la satisfaction 3SAT

12

Ce que je me demande précisément, c'est s'il existe une condition intéressante sur le pourcentage d'affectations qui satisfont à une formule 3SAT pour garantir que ces problèmes sont traitables.

Supposons par exemple la classe de problèmes 3SAT que des 2 n affectations possibles satisfont la formule booléenne; pouvons-nous trouver efficacement une affectation satisfaisante? Pour quel ϵ est le problème résultant de P?ϵ(n)2n2nϵ

Modifier la note: remplacé par ϵ ( n ) pour dissiper la confusion.ϵϵ(n)

Rafi Witten
la source
4
Une observation simple: si est au plus petit polynomial inverse, alors échantillonner uniformément 1 / ϵ fois donnera une solution dans le temps polynomial attendu. Donc si ϵ est compris entre 1 et 1 / poly (n), ce problème est facile (c'est en ZPP). ϵ1/ϵϵ
Robin Kothari
1
de même, si 1 / eps est quasipolynomial, alors vous avez un algorithme de temps de quasipole aléatoire, ce qui lui-même serait surprenant
Suresh Venkat

Réponses:

12

Oui. Si est une constante (ou 1 / polylog ( n ) ), et on vous promet qu'au moins ϵ 2 n de toutes les affectations possibles satisfont les 3CNF d'entrée, alors vous pouvez trouver une telle affectation dans le polynôme déterministe- temps.0<ϵ<11/polylog(n)ϵ2n

Les algorithmes ne sont pas difficiles:

Revendication: En vertu de la promesse a déclaré, il doit exister une taille constante ensemble de variables qui frappe toutes les clauses du 3CNF, en ce sens que tous les 3 article doit contenir une variable de S .SS

Preuve de revendication (esquisse): Sinon, il doit exister une famille suffisamment grande de 3 clauses du 3CNF, dans laquelle chaque variable n'apparaît qu'une seule fois. Mais cette famille, lorsqu'elle est suffisamment grande, a déjà moins de fraction d'affectations satisfaisantes. QEDϵ

Ainsi, vous pouvez exécuter sur tous les possibles (nombre constant) des affectations à . Sous chaque affectation fixe à S , le 3CNF devient un 2CNF, en supposant que S frappe le 3CNF d'origine. Maintenant, vous pouvez utiliser l'algorithme déterministe polytime connu pour trouver une affectation satisfaisante pour les formules 2CNF. Dans l'ensemble, vous obtenez une limite supérieure de temps polynomial.SSS

L'algorithme pour 2SAT est, je pense, déjà dans le célèbre article de 1971 de S. Cook.

L'algorithme pour les 3CNF provient de: L. Trevisan Une note sur le comptage approximatif déterministe pour k-DNF dans Proc. de APPROX-RANDOM, Springer-Verlag, page 417-426, 2004

L'article original montrant le résultat pour 3CNF est: E. Hirsch, Un algorithme déterministe rapide pour les formules qui ont de nombreuses affectations satisfaisantes , Journal of the IGPL, 6 (1): 59-71, 1998

Iddo Tzameret
la source
ϵ
1
ϵ=1/polylog(n)
Comment construisez-vous S?
Radu GRIGore
1
C1C2C1