Acima de #P e contando problemas de pesquisa


14

Eu estava lendo o artigo da Wikipedia sobre o problema das oito rainhas. Afirma-se que, não existe uma fórmula conhecida para o número exato de soluções. Após algumas pesquisas, encontrei um artigo chamado "Sobre a dureza de contar problemas de mapeamentos completos". Neste artigo, há um problema, que se mostra no máximo tão difícil quanto #queens, que está além do #P. Vislumbrando o número de rainhas contadas exaustivamente no artigo da Wikipedia, elas parecem superexponenciais.

Quero perguntar se existe um nome para esta classe ou se, em geral, há problemas de contagem pertencentes a classes acima de #P (com decisão que não está no PSPACE, é claro, porque seria óbvio).

Finalmente, quero perguntar se existem outros resultados conhecidos para outros problemas de pesquisa, como encontrar um ponto colorido no lema de Sperner, por exemplo (PPAD completo).


Respostas:


14

Se a função f estiver em #P, dada uma sequência de entrada x com algum comprimento N, o valor f (x) é um número não negativo delimitado por . (Isso segue da definição, em termos de número de caminhos aceitos de um verificador NP.)2poeuy(N)

Isto significa que muitas funções f fora mentira de #P para desinteressante razões --- quer porque f é negativa, ou, no caso de mencionar, porque a função cresce mais depressa do que . Mas, para o problema n- rainhas, conforme modelado no artigo, esse é apenas um artefato da decisão dos autores de permitir que o valor de entrada n seja codificado em binário. Se a entrada esperada for a sequência unária 1 n , então f ( 1 n ) : = (número de n válido2poeuy(N)nn1nf(1n): =n-queen configurações) certamente estariam em #P, por um simples verificador NP que verifica a validade de uma determinada configuração.

Se você deseja explorar algumas funções que (conjecturalmente) estão fora do #P por razões mais interessantes, considere, por exemplo:

  • UNSAT: se ψ for uma fórmula booleana insatisfatória; caso contrário, f ( ψ ) : = 0 . Esta função não está em #P, a menos que NP = coNP. Provavelmente, também não está na classe GapP de contagem mais geral; isto é, UNSAT provavelmente não é a diferença f - g de duas funções #P. No entanto, está na classe de complexidade de contagem mais geral P # P , que de fato contém toda a Hierarquia Polinomial pelo teorema de Toda.f(ψ): =1ψf(ψ): =0 0P#P

Você pode não gostar desse exemplo porque não é um "problema de contagem" natural. Mas os próximos dois serão:

  • o número de atribuições para x de modo que a fórmula booleana ψ ( x , ) seja satisfatória para algumas configurações em y .f(ψ(x,y)): =xψ(x,)y

  • o número de x tal que, para pelo menos metade de todo y , ψ ( x , y ) = 1 .f(ψ(x,y)): =xyψ(x,y)=1

Os dois últimos problemas não são conhecidos por serem eficientemente computáveis, mesmo com o acesso da Oracle ao #P. No entanto, eles são computáveis ​​dentro da chamada "hierarquia de contagem". Para alguns problemas mais naturais classificados nesta classe, consulte, por exemplo, este artigo recente.

Contar os equilíbrios de Nash é aparentemente difícil, veja aqui . Além disso, mesmo os problemas em que o problema de pesquisa é fácil podem ser #P difíceis de contar, por exemplo, contar combinações perfeitas.


1
Para o seu exemplo UNSAT, se estiver no GapP, você percebe que o coNP está no SPP e, portanto, o coNP é baixo para o PP - existem más conseqüências decorrentes disso? Se estiver em #P, na verdade, o coNP está contido em UP :), então coNP = NP = UP = coUP.
Joshua Grochow

Sim, não tenho certeza, mas é uma boa pergunta.
Andy Drucker

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.