Approximation des problèmes # P-hard

9

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 ?n2n1k<2n1

user0928
la source
Si , alors il existe un algorithme poly-temps avec une erreur additive . Si , alors il y aurait un algorithme poly-temps aléatoire avec une erreur additive . Lorsque est significativement plus petit (mais pas polynomialement petit), je m'attendrais à ce qu'il soit NP-dur, mais pas # P-dur, car la dureté #P dépend généralement du fait qu'il s'agit d'un calcul exact. k=2n1poly(n)kk=2n/poly(n)kk
Thomas
Pourriez-vous fournir une référence pour les deux premières revendications? Désolé je suis un débutant ...
user0928

Réponses:

10

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ϕnak

Voici quelques résultats de base pour cela:

Cas 1: k=2n1poly(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=2n2k=poly(n)ϕmmϕaa2n(m)m2n(m)=2k2n1m/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ϕmX1,,Xm{0,1}nε=k/2n2nαkk| 2nα-a| =2n| α-a/2n| ,| α-a/2n| ε. P[| α-a/α=1mi=1mϕ(Xi)ε=k/2n2nαk

k|2nαa|=2n|αa/2n|,
|αa/2n|ε.
P[|αa/2n|>ε]2Ω(mε2),
E[ϕ(Xi)]=E[α]=a/2n. Cela implique que, si nous choisissons (et assurons que est une puissance de ), alors avec une probabilité d'au moins , l'erreur est au plus .m=O(1/ε2)=poly(n)m20.99k

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ψmnmk<2nm1n=O(m/(1c))ϕ=ψϕnmψbϕb2nmnma^|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^ϕkbb a b a

|ba^/2nm|=|aa^2nm|k2nm<1/2.
bba^ba^
Thomas
la source