Existe um problema de NP-completo, de modo que a versão de decisão do seu problema de contagem não seja PP-completa?

8

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. (Eunpvocêt,totumaeuCertEufEucumates2+1)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.

Agustín
fonte
Uma questão paralela muito relacionada seria: Um desses problemas de "decisão de contagem" está completo com PP se e somente se a versão de contagem estiver #P concluída?
Agustín

Respostas:

3

Colocando sua pergunta em termos mais precisos, você pergunta se a seguinte reivindicação é válida:

R(x,y) é uma relação NP-completacovocêntR está completo em PP

Onde covocêntR é definido da seguinte maneira:

covocêntR={(x,k)||{y:R(x,y)}|k}.

Chamamos uma relação R(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:

R(x,y) é uma relação NP-completa#R é # P-completo

Onde #R(x)=|{y:R(x,y)}|.

Para ver por que * implica o acima, deixe R(x,y)seja uma relação NP-completa. Usando (*),covocêntR é PP completo, então covocêntSENTOUpcovocêntR. Nesse caso,#SUMATFP#R e assim #R é #P-complete (use a pesquisa binária, onde em cada ponto de corte você aplica a redução de covocêntSENTOU para covocêntR e consulte o #R oráculo no resultado).

Que eu saiba, (**) está atualmente aberto. Veja esta pergunta relacionada da cstheory. Também relacionado .

Ariel
fonte