Por que não podemos dar respostas eficientes a um NDTM?


11

Li várias vezes que não é possível alterar a resposta de um NDTM com eficiência. No entanto, eu não entendo o porquê. Por exemplo, dado um NDTM executado em O ( n ) , este texto (seção 3.3) afirma que não está claro como outro NDTM T pode determinar em O ( n 100 ) tempo como inverter a resposta de M.MO(n)TO(n100)M

Meu problema é o seguinte: Um NDTM gera se houver uma sequência de opções não determinísticas que leve ao estado de aceitação. Além disso, existe um NDTM N U universal que pode simular todo NDTM com apenas uma pequena sobrecarga (logarítmica). Então, por que não podemos construir T da seguinte maneira: Primeiro, simule M com o NDTM universal, que deve ser possível no tempo O ( n log n ) . Em seguida, escreva 1 - resposta de M. Isso significaria que podemos inverter a resposta de qualquer NDTM linear no tempo O ( n log n ) .1NUO(nlogn)O(nlogn)


Um NDTM não "produz" nada. Ajuste seu modelo mental de não-determinismo.
Raphael

Respostas:


15

Uma máquina de Turing não determinística aceita se pelo menos um caminho aceita; somente rejeita se todos os caminhos rejeitarem. Essa assimetria dificulta "virar respostas".

MwMwMMMwMw

Uma máquina não determinística não pode olhar para todos os seus caminhos simultaneamente e agir com base no que todos esses caminhos fazem. Se quiser, você pode pensar nisso como uma forma de paralelismo em que os threads são proibidos de se comunicar. Quando todos os threads tiverem terminado, o programa deverá se perguntar: "Pelo menos um dos meus threads aceitou?" Se a resposta for sim, é legalmente obrigado a aceitar; se a resposta for não, é legalmente obrigado a rejeitar. Não pode fazer mais nada.

MMMMMMMM

A única maneira de sabermos se uma máquina não determinística rejeita sua entrada é tentar todos os caminhos possíveis e verificar se todos eles rejeitam. Afinal, se apenas um deles aceitasse, a máquina aceitaria a entrada. Mas tentar todos os caminhos possíveis é exponencialmente mais lento do que tentar apenas um.


2

O(n)O(n)

NUO(nlog(n))nlog(n)MM


-3

=?=?


11
Na verdade, ele está perguntando algo semelhante a co-NP = NP : é perfeitamente possível que P e NP sejam diferentes, mas os NDTMs possam ser negados com eficiência.
David Richerby
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.