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=2n−1−poly(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=2n−2k=poly(n)ϕmmℓϕa≥ℓℓa≤2n−(m−ℓ)m−ℓ2n−(m−ℓ)−ℓ=2k2n−1−m/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/α=1m∑mi=1ϕ(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ψmn≥mk<2n−m−1n=O(m/(1−c))ϕ=ψϕnmψbϕb⋅2n−mn−ma^|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
|b−a^/2n−m|=∣∣∣a−a^2n−m∣∣∣≤k2n−m<1/2.
bba^ba^