Campionamento di un compito soddisfacente uniformemente casuale


14
Problema: Dato rappresentato da un circuito booleana, generare un uniformemente casuale x { 0 , 1 } n tale che φ ( x ) = 1 (o uscita se tale x esiste). φ:{0,1}n{0,1}X{0,1}nφ(X)=1X

Chiaramente questo problema è NP-difficile. La mia domanda è se questo problema sia o meno "NP-easy":

Domanda: esiste un algoritmo che risolve il problema di cui sopra nel tempo polinomiale in e la dimensione del circuito di ϕ accesso a un oracolo SAT? nφ

In alternativa, esiste un algoritmo del tempo polinomiale che assume NP = P?

Chiaramente avere accesso a un oracolo #SAT è sufficiente, quindi la complessità sta da qualche parte tra NP e #P.


Credo che questo avrebbe dovuto essere studiato prima, ma non riesco a trovare una risposta su Google.

So risolvere il problema approssimativamente (cioè generare un incarico soddisfacente che è statisticamente vicino all'uniforme) usando una variante del teorema di Valiant-Vazirani e / o il conteggio approssimativo, ma ottenere esattamente l'uniforme sembra essere un problema diverso.

Risposte:


19

Sì.

(collegamenti di backup nel caso in cui uno si interrompa: 1 2 3 4 )

Riferimento di backup, nel caso in cui tutti questi collegamenti vengano disattivati: Bellare, Mihir, Oded Goldreich ed Erez Petrank. "Generazione uniforme di testimoni NP utilizzando un oracolo NP." Informazioni e calcolo 163.2 (2000): 510-526.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.