Considérons le problème classique # P-complet # 3SAT, c'est-à-dire de compter le nombre d'évaluations pour rendre un 3CNF avec variables satisfaisable. Je m'intéresse à l' approximabilité additive . De toute évidence, il existe un algorithme trivial pour obtenir une erreur de , mais si , est-il possible d'avoir un algorithme d'approximation efficace, ou ce problème est également # P-difficile ?
9
Réponses:
Nous sommes intéressés par les approximations additives de # 3SAT. c'est-à-dire, étant donné un 3CNF sur variables, comptez le nombre d'affectations satisfaisantes (appelez ceci ) jusqu'à l'erreur additive .n a kϕ n a k
Voici quelques résultats de base pour cela:
Cas 1:k=2n−1−poly(n)
Ici, il existe un algorithme de temps poly déterministe: Soit . Maintenant, évaluez sur entrées arbitraires (par exemple, les premières entrées lexicographiquement ). Supposons que de ces entrées satisfasse . On connaît alors car il y a au moins assignations satisfaisantes et car il y a au moins assignations insatisfaisantes. La longueur de cet intervalle est de . Donc, si nous sortons le point milieu cela se trouve dansϕ m m ℓ ϕ a ≥ ℓ ℓ a ≤ 2 n - ( m - ℓ ) m - ℓ 2 n - ( m - ℓ ) - ℓ = 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 de la bonne réponse, au besoin.
Cas 2:k=2n/poly(n)
Ici, nous avons un algorithme poly-temps aléatoire: Évaluer en points aléatoires . Soit et . Nous produisons . Pour que cela ait une erreur au plus nous avons besoin de ce qui équivaut àPar une borne Chernoff , asm 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
Cas 3: pourk=2cn+o(n) c<1
Dans ce cas, le problème est # P-difficile: nous ferons une réduction de # 3SAT. Prenez un 3CNF sur variables. Choisissez tel que - cela nécessite . Soit sauf que est maintenant sur variables, plutôt que . Si a affectations satisfaisantes, alors a affectations satisfaisantes, car les variables "libres" peuvent prendre n'importe quelle valeur dans une affectation satisfaisante. Supposons maintenant que nous ayons tel queψ m n≥m k<2n−m−1 n=O(m/(1−c)) ϕ=ψ ϕ n m ψ b ϕ b⋅2n−m n−m a^ |a^−a|≤k - c'est-à-dire est une approximation du nombre d'assignations satisfaisantes de avec l'erreur additive . Alors
Puisque est un entier, cela signifie que nous pouvons déterminer la valeur exacte de partir de . La détermination algorithmique de la valeur exacte de implique la résolution du problème # P-complet # 3SAT. Cela signifie qu'il est # P-difficile de calculer .a^ ϕ k bb a b a
la source
Voici une référence à Bordewich, Freedman, Lovász et Welsh qui développe ce sujet dans une certaine mesure.
la source