A dureza de gerar uma instância de um problema que é mais difícil que a complexidade do problema resultante

8

insira a descrição da imagem aqui

No filme Inception, Cobb pede a Ariadne para projetar um labirinto que leva o dobro do tempo para projetar. Isso se presta a um problema generalizado em que temos uma situação em que temos recursos limitados em alguma quantia e quem verificará se esse problema está na classe de complexidade fornecida que levará mais tempo e / ou espaço para resolver. Isso é um problema novo?

Joshua Herman
fonte
2
como você representa os problemas?
Kaveh
@ Kaveh: Talvez a maneira de formalizar isso seja que o problema seja resolvido e a tarefa seja gerar instâncias difíceis em tempo polinomial? Por exemplo, o problema mostrado na imagem é um problema de pesquisa, a entrada é um labirinto solucionável e a saída é um caminho válido através do labirinto.
227156 Robin Kothari
1. "leva o dobro do tempo necessário para projetar" - o que isso significa? "como isso é"? Existe algum erro de digitação ou palavras ausentes em algum lugar nessa frase? Estou tendo dificuldades para analisá-lo. 2. "quem verificará se esse problema está na classe de complexidade fornecida, que levará mais tempo e / ou espaço para ser resolvido". - Estou tendo dificuldade para analisar isso também. Qual é o verbo nessa frase? "(quem verificará se esse problema está na classe de complexidade fornecida)" será o quê?
DW
1
Desculpe, não entendo a pergunta: "projetar um labirinto que leva o dobro do tempo para projetar" ainda não faz sentido. Você quer dizer "projetar um labirinto que leva duas vezes mais tempo para resolver do que para projetar" ou "projetar um labirinto que leva duas vezes mais tempo para projetar do que para resolver"?
András Salamon

Respostas:

15

Essa situação surge com freqüência em criptografia, na qual você deseja gerar instâncias de problemas difíceis junto com suas soluções. Por exemplo, há o trabalho de Eric Bach (e mais tarde, Adam Kalai) na geração eficiente de números inteiros aleatórios com suas fatorações primárias.

Uma das muitas observações interessantes de Impagliazzo e Wigderson (Randomness vs time: derandomization sob uma suposição uniforme. J. Comput. Syst. Sci., 63: 672–688, 2001) é que se pode gerar eficientemente matrizes aleatórias uniformes módulo p junto com suas permanentes. (Pense nisso ... use a auto-redutibilidade da permanente ....) Além disso, sabemos que a permanente é auto-redutível aleatoriamente . Portanto, este é um exemplo de um problema muito difícil para o qual podemos gerar instâncias resolvidas com eficiência.

Ryan Williams
fonte
Outra referência clássica ao longo destas linhas de: gerar casos difíceis de problemas de rede
Daniel Apon
4

Primeiro, não acho que o protocolo Arthur-Merlin tenha que entrar no modelo - parece que a motivação é que você deseja produzir instâncias de problemas rapidamente, para que qualquer algoritmo para resolvê-las seja lento. Em outras palavras, se pudéssemos provar que Arthur pode produzir um problema difícil, parece não haver necessidade de Merlin verificar se o problema produzido é difícil.

Muito relacionada é esta pergunta : podemos gerar no tempo polinomial uma linguagem que não é decidível no tempo polinomial? A resposta acaba sendo sim se P unário não for igual a NP unário.

fxff(x)x

nni{1,,n}i

usul
fonte
Eu acho que você quer dizer "P unária não é igual a NP unário"
Ryan Williams