Amostragem de uma tarefa satisfatória uniformemente aleatória


14
Problema: Dado representado por um circuito booleano, gerar uma maneira uniforme aleatória tal que (ou output se esse existir). ϕ:{0 0,1}n{0 0,1} ϕ ( x ) = 1 xx{0 0,1}nϕ(x)=1x

Claramente, esse problema é difícil para o NP. Minha pergunta é se esse problema também é "NP-easy":

Pergunta: Existe um algoritmo que resolve o problema acima no polinômio do tempo em e o tamanho do circuito de com acesso a um oráculo SAT? ϕnϕ

Alternativamente, existe um algoritmo de tempo polinomial assumindo NP = P?

Claramente, ter acesso a um oracle #SAT é suficiente, portanto a complexidade fica em algum lugar entre NP e #P.


Sinto que isso deveria ter sido estudado antes, mas não consigo encontrar uma resposta no Google.

Eu sei como resolver o problema aproximadamente (ou seja, gerar uma tarefa satisfatória estatisticamente próxima do uniforme) usando uma variante do Teorema de Valiant-Vazirani e / ou contagem aproximada, mas obter exatamente uniforme parece ser um problema diferente.

Respostas:


19

Sim.

(links de backup em caso de queda: 1 2 3 4 )

Referência de backup, caso todos esses links sejam desativados: Bellare, Mihir, Oded Goldreich e Erez Petrank. "Geração uniforme de testemunhas NP usando um oráculo NP." Informação e computação 163.2 (2000): 510-526.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.