Supondo que P NP, os problemas completos de NP sejam "difíceis de resolver, mas têm respostas fáceis de verificar". Faz algum sentido considerar o contrário, ou seja, problemas para os quais é fácil calcular uma resposta correta, mas difícil de verificar uma solução arbitrária?
Eu acho que esse problema implicaria:
Exponencialmente muitas respostas "corretas" para qualquer entrada, porque, caso contrário, a verificação poderia ser realizada simplesmente computando todas as respostas corretas.
Algumas respostas "corretas" são fáceis de calcular, mas outras são difíceis de encontrar.
complexity-theory
rphv
fonte
fonte
Respostas:
Se você está bem com problemas artificiais, pode fazer muitos deles. Aqui estão alguns:
É fácil fornecer uma fórmula 3CNF satisfatória, mas decidir se uma dada fórmula 3CNF é satisfatória ou não é 3SAT, um problema bem conhecido de NP-completo.
É fácil dar uma dessas máquinas de Turing, mas se uma determinada máquina de Turing pára ou não é indecidível.
Adicionado : a propósito, não acho que o que você escreveu no último parágrafo contenha:
Se o problema tiver uma solução, verificar a resposta não é mais difícil do que calcular a solução correta. No entanto, se o problema tiver uma solução fácil e outra difícil, você não poderá calcular todas as soluções com eficiência. Aqui está um desses problemas (que é muito artificial):
É fácil fornecer uma solução : você sempre pode escolher “ M é uma máquina de Turing”. No entanto, se uma determinada resposta está correta ou não é indecidível. Observe que nesse problema, existem apenas duas soluções para cada instância.
fonte
Embora a resposta de Tsuyoshi Ito cubra a resposta "principal", havia duas notas mais sutis que eu gostaria de acrescentar.
Mesmo quando a solução é difícil de verificar, ainda é fácil verificar a solução com uma sequência curta de provas. Ou seja, ao estender um pouco a solução com informações extras, ela se torna facilmente verificável; a verificação está sempre em NP. Uma maneira de ver isso é que o agente que calcula uma solução pode registrar todos os bits aleatórios que eles usam e, em seguida, o verificador pode usar a mesma sequência aleatória para executar a mesma computação. (O provador deve usar bits aleatórios, caso contrário, eles sempre emitem a mesma resposta, e o verificador sempre pode verificar facilmente calculando uma resposta pelo mesmo método.)
Para computadores quânticos, essa é uma pergunta muito aberta. Para computadores clássicos, o verificador sempre pode fazer algo como simular o provador e verificar se ele recebe a mesma resposta. É perfeitamente possível que, para algum problema complicado, exista um algoritmo quântico que produz uma distribuição uniforme em todas as soluções (exponencialmente numerosas), difíceis de verificar. Você não pode executar o teste novamente, porque provavelmente obterá uma resposta diferente a cada vez.
Como exemplo de um tipo semelhante de problema, o problema da Deutsch-Jozsa sofre um pouco com isso. Se um oráculo não é uma função equilibrada, um computador quântico pode determinar rapidamente que esse é o caso, mas não há prova curta que permita que um computador clássico verifique isso. (Este é apenas um problema "semelhante" porque ele ainda pode ser verificado por outro computador quântico, e a verificação também ocorre no BPP clássico, mesmo que não esteja em P.)
fonte