Depois de corrigirmos um verificador determinístico de tempo polinomial V (entrada, certificado), seu problema NP correspondente é a pergunta: Para esta entrada, existe um certificado (tamanho polinomial) de tal forma que V (entrada, certificado) retorne True?
O problema de contagem associado (classe #P) é: Quantos certificados existem para que V (entrada, certificado) retorne True?
#P não é uma classe de "problemas de decisão", mas uma classe de problemas de contagem. A classe "problemas de decisão" tradicional mais próxima é a PP, que possui problemas no formato: A maioria dos certificados resulta em V (entrada, certificado) retornando True?
Estou interessado na versão de decisão do problema de contagem associado a um determinado problema NP-completo + verificador, que seria: Dada a instância de entrada e um número inteiro positivo K: Existem pelo menos K certificados diferentes, como V (entrada, certificado) retorna True?
Esse problema de decisão é claramente equivalente à versão de contagem (através de uma pesquisa binária). Se não me engano, a classe de todas essas "versões de decisão dos problemas de contagem associados aos problemas de NP" é exatamente tão difícil quanto o PP, pois:
1) Qualquer um desses problemas de "decisão de contagem" pode ser reformulado como outro problema majoritário, escolhendo uma definição de verificador ad-hoc em que muitos certificados são manualmente considerados Verdadeiros ou Falsos, de modo que haja pelo menos certificados K True no original se e somente se a maioria for verdadeira no problema resultante. Apenas como um exemplo simples para ilustrar a ideia de redução, se houver 8 certificados possíveis e desejarmos saber se existem pelo menos 3 verdadeiros, podemos propor um verificador diferente com 11 certificados possíveis: para os 8 originais, apenas verifica normalmente e, nos outros três, ele retorna True imediatamente, sem olhar para a entrada. Como a maioria de 11 é 6, esse novo verificador aceita a maioria dos certificados exatamente se o original aceita pelo menos 3.
Assim, todos esses problemas estão no PP.
2) A versão correspondente da "decisão de contagem" para qualquer problema de PP completo será obviamente difícil para o PP, pois resolver o problema da maioria original é simplesmente resolver o problema. problema. Assim, esses problemas estão completos em PP.
Portanto, agora, finalmente, posso afirmar claramente minha pergunta, que é uma "versão mais sofisticada" da mesma idéia mostrada no MAX, as variantes MAJ dos problemas completos do NP :
Existe algum problema de NP-completo que a versão de decisão do seu problema de contagem (que está no PP) não está completa-PP?
Por exemplo, no caso de Subconjunto-soma, o problema de decisão associado em que estou interessado seria: Existem pelo menos K subconjuntos não vazios de soma zero?
Como K é gratuito e não se limita a estar perto da metade dos certificados, o argumento da outra resposta não se aplica.
fonte
Respostas:
Colocando sua pergunta em termos mais precisos, você pergunta se a seguinte reivindicação é válida:
Ondec o u ntR é definido da seguinte maneira:
Chamamos uma relaçãoR ( x , y) NP-completo se for computável em tempo polinomial e o idioma que ele define euR= { x | ∃ yR ( x , y) = 1 } é NP-completo.
Falamos em termos de relações, pois, como você mencionou, a versão de contagem deve ser definida em relação a algum verificador específico.
Parece que esta é uma pergunta em aberto, pois (*) implica:
Onde# R ( x ) = | { y: R ( x , y) } | .
Para ver por que * implica o acima, deixeR ( x , y) seja uma relação NP-completa. Usando (*),c o u ntR é PP completo, então c o u ntSENTOU≤pc o u ntR . Nesse caso,# SA T∈F P# R e assim # R é # P -complete (use a pesquisa binária, onde em cada ponto de corte você aplica a redução de c o u ntSENTOU para c o u ntR e consulte o # R oráculo no resultado).
Que eu saiba, (**) está atualmente aberto. Veja esta pergunta relacionada da cstheory. Também relacionado .
fonte