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 - 1
9
Antworten:
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ϕ n a k
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) ϕ m m ℓ ϕ a≥ℓ ℓ a≤2n−(m−ℓ) m−ℓ 2n−(m−ℓ)−ℓ=2k 2n−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ϕ m X1,⋯,Xm∈{0,1}n ε=k/2n2n⋅αkk≥| 2nα-a| =2n| α-a/2n| ,| α-a/2n| ≤ε. P[| α-a/α=1m∑mi=1ϕ(Xi) ε=k/2n 2n⋅α k
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ψ m n≥m k<2n−m−1 n=O(m/(1−c)) ϕ=ψ ϕ n m ψ b ϕ b⋅2n−m n−m a^ |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^ ϕ k b b ein b a
quelle
Hier ist ein Verweis auf Bordewich, Freedman, Lovász und Welsh , der dieses Thema in gewissem Maße entwickelt.
quelle