O que há de errado com essa prova condicional de P = NP?

8

Recentemente, pensei na seguinte prova de que L = P implica P = NP.

Suponha que L = P. Seja A um problema no NP. Pela definição do verificador de NP, cada solução positiva para A tem uma testemunha que pode ser verificada em tempo polinomial. Desde P = L, a mesma solução pode ser verificada no espaço logarítmico. Assim NP = NL. Mas então NL está contido em P, o que significa que NP está contido em P e, portanto, P = NP.

Pela hipótese do mercado eficiente, suspeito que essa prova seja falha. No entanto, sou incapaz de determinar a natureza exata do erro. Alguém pode apontar isso?

user44898
fonte

Respostas:

9

Suponha que L = P. Seja A um problema no NP. Pela definição do verificador de NP, cada solução positiva para A tem uma testemunha que pode ser verificada em tempo polinomial. Desde P = L, a mesma solução pode ser verificada no espaço logarítmico. Assim NP = NL.

Você não mostrou que NP=NL . O único método que você derivou para mostrar quexUMAé "adivinhar" incondicionalmente uma testemunha ye use o algoritmo determinístico do espaço de log para verificá-lo. Contudo,yela mesma pode ser polinomialmente longa, enquanto sua máquina NL pode adivinhar logaritmicamente muitos bits: sua máquina NL não tem espaço suficiente para armazenar a testemunha, portanto você não possui um algoritmo NL .

Além disso, nota que já sabemos que testemunhas NP problemas -completo pode ser verificado em uma classe de complexidade menor do que  L . O teorema de Fagin diz que NP é exatamente o conjunto de problemas que podem ser definidos no fragmento existencial da lógica de segunda ordem. Isso equivale a dizer que você pode verificar uma testemunha de comprimento polinomial usando lógica de primeira ordem. O FO é estritamente mais fraco que L , pois a lógica de primeira ordem não pode resolver problemas simples do espaço de log, como dizer se sua cadeia de testemunhas contém um número par 1s.

David Richerby
fonte