Estamos interessados em aproximações aditivas ao # 3SAT. ou seja, dado um 3CNF em n variáveis, conte o número de atribuições satisfatórias (chame a ) de até o erro aditivo k .ϕnak
Aqui estão alguns resultados básicos para isso:
Caso 1: k=2n−1−poly(n)
Aqui existe um algoritmo determinístico de politempo: Seja . Agora avalie ϕ em m entradas arbitrárias (por exemplo, as primeiras m lexicograficamente ). Suponha ℓ desses insumos satisfazer φ . Então, sabemos a ≥ ℓ, pois há pelo menos ℓ tarefas satisfatórias e a ≤ 2 n - ( m - ℓ )m=2n−2k=poly(n)ϕmmℓϕa≥ℓℓa≤2n−(m−ℓ)como existem pelo menos tarefas insatisfatórias. A duração deste intervalo é 2 n - ( m - ℓ ) - ℓ = 2 k . Portanto, se emitirmos o ponto médio 2 n - 1 - m / 2 + ℓ, isso está dentro de k da resposta correta, conforme necessário.m−ℓ2n−(m−ℓ)−ℓ=2k2n−1−m/2+ℓk
Caso 2: k=2n/poly(n)
Aqui temos um algoritmo aleatório de politempo: Avalie em m pontos aleatórios X 1 , ⋯ , X m ∈ { 0 , 1 } n . Seja α = 1ϕmX1,⋯,Xm∈{0,1}neε=k/2n. Nós produzimos2n⋅α. Para que isso tenha erro no máximok, precisamos dek≥| 2nα-a| =2n| α-a/2n| ,que é equivalente a| α-a/2nα=1m∑mi=1ϕ(Xi)ε=k/2n2n⋅αk
k≥|2nα−a|=2n|α−a/2n|,
Por um
limite de Chernoff,
P [ | α - a / 2 n | > Ε ] ≤ 2 - Ω ( m ε 2 ) , como
E [ φ ( X i ) ] = E [ α ] = um / 2 n . Isso implica que, se escolhermos
m = O ( 1 / ε|α−a/2n|≤ε.P[|α−a/2n|>ε]≤2−Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n (e garanta que
m é uma potência de
2 ); então, com probabilidade de pelo menos
0,99 , o erro é no máximo
k .
m=O(1/ε2)=poly(n)m20.99k
Caso 3: para 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^