Annäherung an # P-harte Probleme

9

Betrachten Sie das klassische # P-vollständige Problem # 3SAT, dh die Anzahl der Bewertungen zu zählen, um einen 3CNF mit Variablen erfüllbar zu machen. Ich interessiere mich für die additive Approximierbarkeit. Natürlich gibt es einen trivialen Algorithmus, um einen -Fehler zu erzielen , aber wenn , ist es möglich, einen effizienten Approximationsalgorithmus zu haben, oder dieses Problem ist auch # P-schwer ?2 n - 1 k < 2 n - 1n2n1k<2n1

user0928
quelle
Wenn , dann gibt es einen Polyzeitalgorithmus mit dem additiven Fehler . Wenn , würde es einen randomisierten Polyzeitalgorithmus mit dem additiven Fehler . Wenn signifikant kleiner (aber nicht polynomiell klein) ist, würde ich erwarten, dass es NP-hart ist, aber nicht # P-hart, da die # P-Härte normalerweise davon abhängt, dass es sich um eine exakte Berechnung handelt. k k = 2 n / p o l y ( n ) k kk=2n1poly(n)kk=2n/poly(n)kk
Thomas
Könnten Sie die ersten beiden Ansprüche angeben? Entschuldigung, ich bin ein Anfänger ...
user0928

Antworten:

10

Wir sind an additiven Annäherungen an # 3SAT interessiert. dh wenn ein 3CNF auf Variablen gegeben ist, zählen Sie die Anzahl der erfüllenden Zuweisungen (nennen Sie dies ) bis zum additiven Fehler .n a kϕnak

Hier sind einige grundlegende Ergebnisse dafür:

Fall 1: k=2n1poly(n)

Hier gibt es einen deterministischen Polyzeitalgorithmus: Sei . Bewerten Sie nun auf beliebigen Eingaben (z. B. die lexikographisch ersten Eingaben). Angenommen, dieser Eingaben erfüllen . Dann kennen wir da es mindestens befriedigende Aufgaben gibt, und da es mindestens unbefriedigende Aufgaben gibt. Die Länge dieses Intervalls beträgt . Wenn wir also den Mittelpunkt ausgeben, liegt dieser innerhalb vonφ m m l φ a l l a 2 n - ( m - l ) m - l 2 n - ( m - l ) - l = 2 k 2 n - 1 - m / 2 + km=2n2k=poly(n)ϕmmϕaa2n(m)m2n(m)=2k2n1m/2+k der richtigen Antwort, wie erforderlich.

Fall 2: k=2n/poly(n)

Hier haben wir einen randomisierten Poly-Time-Algorithmus: Bewerten Sie an zufälligen Punkten . Sei und . Wir geben . Damit dies höchstens fehlerhaft ist, benötigen wir wasDurch eine Chernoff gebunden , alsm X 1 , , X m{ 0 , 1 } n α = 1ϕmX1,,Xm{0,1}nε=k/2n2nαkk| 2nα-a| =2n| α-a/2n| ,| α-a/2n| ε. P[| α-a/α=1mi=1mϕ(Xi)ε=k/2n2nαk

k|2nαa|=2n|αa/2n|,
|αa/2n|ε.
P[|αa/2n|>ε]2Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n. Dies impliziert, dass, wenn wir wählen (und sicherstellen, dass eine Potenz von ) , der Fehler mit einer Wahrscheinlichkeit von mindestens höchstens ist .m=O(1/ε2)=poly(n)m20.99k

Fall 3: fürk=2cn+o(n)c<1

In diesem Fall ist das Problem # P-schwer: Wir werden eine Reduzierung von # 3SAT vornehmen. Nehmen Sie einen 3CNF für Variablen. Wählen Sie so, dass - dies erfordert . Es sei außer dass jetzt auf Variablen und nicht auf . Wenn hat erfüllenden Belegungen, dann hat erfüllenden Belegungen als „frei“ Variablen einen beliebigen Wert in zufriedenstellender Zuordnung erfolgen kann. Nehmen wir nun an, wir haben so, dassψmnmk<2nm1n=O(m/(1c))ϕ=ψϕnmψbϕb2nmnma^|a^a|k - das heißt ist eine Annäherung an die Anzahl der erfüllenden Zuweisungen von mit dem additiven Fehler . Dann Da eine ganze Zahl ist, bedeutet dies, dass wir den genauen Wert von aus bestimmen können . Das algorithmische Bestimmen des genauen Wertes von beinhaltet das Lösen des # P-vollständigen Problems # 3SAT. Dies bedeutet, dass es # P-schwer ist, zu berechnen .a^ϕkb b ein b a

|ba^/2nm|=|aa^2nm|k2nm<1/2.
bba^ba^
Thomas
quelle