Ja. Wenn eine Konstante (oder 1 / polylog ( n ) ) ist und Ihnen versprochen wird, dass mindestens ϵ 2 n aller möglichen Zuweisungen die eingegebenen 3CNFs erfüllen, finden Sie eine solche Zuweisung in deterministischen Polynomen. Zeit.0<ϵ<11 / polylog ( n )ϵ 2n
Der Algorithmus ist nicht schwierig:
Claim: Unter dem Versprechen angegeben, muss eine konstante Größe Satz existieren von Variablen , die trifft alle Klauseln im 3CNF, in dem Sinne , dass alle 3-Klausel eine Variable aus enthalten S .SS
Anspruchsnachweis (Skizze): Andernfalls muss eine ausreichend große Familie von 3-Klauseln aus dem 3CNF existieren, in der jede Variable nur einmal vorkommt. Aber diese Familie, wenn sie ausreichend groß ist , hat bereits weniger als Anteil der Zuweisungen zu erfüllen. QEDϵ
Somit können Sie alle möglichen (konstanten) Zuordnungen zu . Bei jeder festen Zuordnung zu S wird der 3CNF zu einem 2CNF, wenn angenommen wird, dass S den ursprünglichen 3CNF trifft. Jetzt können Sie den bekannten polyzeitdeterministischen Algorithmus verwenden, um eine zufriedenstellende Zuordnung für 2CNF-Formeln zu finden. Insgesamt erhalten Sie eine Polynomzeitobergrenze.SSS
Der Algorithmus für 2SAT ist meiner Meinung nach schon in S. Cooks berühmtem Papier von 1971.
Der Algorithmus für 3CNFs stammt von: L. Trevisan
Eine Anmerkung zur deterministischen Näherungszählung für k-DNF
in Proc. von APPROX-RANDOM, Springer-Verlag, Seite 417-426, 2004
Die Originalarbeit, die das Ergebnis für 3CNF zeigt, lautet: E. Hirsch, Ein schneller deterministischer Algorithmus für Formeln mit vielen zufriedenstellenden Aufgaben , Journal of the IGPL, 6 (1): 59-71, 1998