Échantillonnage d'une affectation satisfaisante uniformément aléatoire


14
Problème: étant donné représenté par un circuit booléen, générer un uniformément aléatoire tel que (ou sortie si un tel n'existe pas). ϕ:{0,1}n{0,1}X{0,1}nϕ(X)=1X

Clairement, ce problème est NP-difficile. Ma question est de savoir si ce problème est également «NP-facile»:

Question: Existe-t-il un algorithme qui résout le problème ci-dessus dans le polynôme temporel en et la taille du circuit de accès à un oracle SAT? nϕ

Alternativement, existe-t-il un algorithme polynomial en supposant que NP = P?

Il est clair que l'accès à un oracle #SAT suffit, donc la complexité se situe quelque part entre NP et #P.


Je pense que cela aurait dû être étudié auparavant, mais je ne trouve pas de réponse sur Google.

Je sais comment résoudre le problème approximativement (c'est-à-dire générer une affectation satisfaisante qui est statistiquement proche de l'uniforme) en utilisant une variante du théorème de Valiant-Vazirani et / ou un comptage approximatif, mais obtenir exactement l'uniforme semble être un problème différent.

Réponses:


19

Oui.

(liens de sauvegarde en cas de panne: 1 2 3 4 )

Sauvegardez la référence, au cas où tous ces liens tomberaient en panne: Bellare, Mihir, Oded Goldreich et Erez Petrank. "Génération uniforme de NP-témoins utilisant un NP-oracle." Information et calcul 163.2 (2000): 510-526.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.