Siamo interessati ad approssimazioni additive a # 3SAT. cioè dato un 3CNF su n variabili contano il numero di assegnazioni soddisfacenti (chiamare questo a ) fino all'errore additivo k .ϕnak
Ecco alcuni risultati di base per questo:
Caso 1: k=2n−1−poly(n)
Qui c'è un algoritmo deterministico poli-tempo: Let . Ora valutare φ su m ingressi arbitrarie (ad esempio, i primi lexicographically m ingressi). Supponiamo che ℓ di questi input soddisfi ϕ . Quindi conosciamo un ≥ ℓ in quanto vi sono almeno ℓ incarichi soddisfacenti e un ≤ 2 n - ( m - ℓ )m=2n−2k=poly(n)ϕmmℓϕa≥ℓℓa≤2n−(m−ℓ)poiché ci sono almeno incarichi insoddisfacenti. La lunghezza di questo intervallo è 2 n - ( m - ℓ ) - ℓ = 2 k . Quindi, se produciamo il punto medio 2 n - 1 - m / 2 + ℓ questo è entro k della risposta corretta, come richiesto.m−ℓ2n−(m−ℓ)−ℓ=2k2n−1−m/2+ℓk
Caso 2: k=2n/poly(n)
Qui abbiamo un algoritmo randomizzato poly-time: Valuta at m punti casuali X 1 , ⋯ , X m ∈ { 0 , 1 } n . Lascia α = 1ϕmX1,⋯,Xm∈{0,1}neε=k/2n. Emettiamo2n⋅α. Per avere questo errore al massimokabbiamo bisogno dik≥| 2nα-a| =2n| α-a/2n| ,che equivale a| α-a/2nα=1m∑mi=1ϕ(Xi)ε=k/2n2n⋅αk
k≥|2nα−a|=2n|α−a/2n|,
Di un
limite di Chernoff,
P [ | α - a / 2 n | > ε ] ≤ 2 - Ω ( m ε 2 ) , come
E [ ϕ ( X i ) ] = E [ α ] = a / 2 n . Ciò implica che, se scegliamo
m = O ( 1 / ε|α−a/2n|≤ε.P[|α−a/2n|>ε]≤2−Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n (e assicurati che
m sia una potenza di
2 ), quindi con probabilità almeno
0,99 , l'errore è al massimo
k .
m=O(1/ε2)=poly(n)m20.99k
Caso 3: per c < 1k=2cn+o(n)c<1
ψmn≥mk<2n−m−1n=O(m/(1−c))ϕ=ψϕnmψbϕb⋅2n−mn−ma^|a^−a|≤ka^ϕk
|b−a^/2n−m|=∣∣∣a−a^2n−m∣∣∣≤k2n−m<1/2.
bba^ba^