Máquina de Turing - fita infinita em uma ou duas direções

11

Vi máquinas de turing sendo representadas com fitas infinitas em uma e em duas direções. Existe alguma diferença no poder dessas máquinas de turing, ou elas são basicamente equivalentes? Na minha cabeça, acho que são equivalentes, pois acho que deve haver alguma maneira de representar a fita infinita bidirecional como uma fita infinita unidirecional, mas não consigo encontrar uma prova ou exemplo.

user2795095
fonte
1
Você duplica os estados e os símbolos da fita, para ter uma versão para a parte direita e outra para a parte esquerda. Na fita, você armazena pares de símbolos, um esquerdo e um direito. Você ajusta a função de transição para que ela altere apenas a parte do par correspondente à meia fita com a qual você está trabalhando atualmente. E adicione um pouco de gerenciamento quando precisar alterar a meia fita que está considerando. Não esqueça que se você dobrar a meia fita direita para a esquerda, os movimentos da cabeça serão invertidos. Portanto, altere suas transições para os estados corretos de acordo.
21414
@babou Transformar em uma resposta completa?
Yuval Filmus

Respostas:

12

Eles são equivalentes em poder computacional. Qualquer coisa computável por um desses dois tipos de máquinas de Turing é computável por outro tipo. Vejamos como simular uma máquina de Turing com uma fita duplamente infinita, em uma máquina de Turing com uma fita isoladamente infinita.

A idéia é cortar sua fita duplamente infinita em duas, para que você tenha duas fitas individualmente infinitas, uma esquerda e uma direita, que acabará mesclando. Você pode marcar as extremidades com um local de fita contendo um símbolo EOF especial. Você também duplica seu controle finito, para ter dois controles de estado finito idênticos. Você assume que possui um dispositivo de passagem de controle (veja abaixo), de modo que, quando a máquina esquerda tenta ir além da extremidade direita da fita, ela passa o controle para a máquina direita, na posição mais à esquerda da fita (logo antes da extremidade esquerda da fita direita). E, inversamente, ao tentar passar pela extremidade esquerda da fita direita.

RL

Agora estamos prontos para mesclar as duas meias fitas, por exemplo, dobrando a direita na esquerda. Para isso, você vira a meia fita direita e toma cuidado para modificar as transições, trocando a direita por esquerda e a esquerda por direita. Em seguida, você funde as duas meias fitas em uma única fita contendo pares de símbolos, um esquerdo e um direito, cada componente possivelmente em branco.

Você modifica novamente as transições de ambas as máquinas, para que as transições esquerda (resp. Direita) usem e modifiquem apenas as partes esquerda (resp. Direita) dos pares na fita. Em seguida, você mescla o controle das duas máquinas por união simples de conjuntos, respectivamente, para estados e transições.

Você adiciona um conjunto de transições para cada estado existente, para que, quando o símbolo da fita for EOF, ele retorne ao local anterior da fita (o primeiro local não-EOF) e o estado mude para seu equivalente quiral: se estiver à esquerda (resp. right), ele muda para sua contraparte direita (resp. left). Esse é o dispositivo de passagem de controle.

Posso ter esquecido um detalhe, mas essa é a ideia geral da construção. A prova é deixada como uma execução.

Obviamente, a fita inicial (entrada) deve ser modificada de acordo. Mas isso pode ser simplificado colocando a entrada (se finita) totalmente no lado esquerdo (o que não é virado) do corte da fita.

Em seguida, guarde a chave de fenda, pois pode ser perigoso para as crianças.

PS: Apenas mostrei que a fita duplamente infinita pode ser simulada com uma fita infinitamente simples. O inverso parece óbvio demais.

babou
fonte
@DW Obrigado pela edição. Eu deveria ter pensado em fazê-lo. Pelo que me lembro, inseri a última linha como uma reflexão tardia durante o período de cortesia de 5 minutos após a edição. Dadas as regras existentes sobre o número de edições, normalmente espero coletar as alterações necessárias antes de uma nova sessão de edição.
babou
Ah, sim, as regras de edição! Não sou fã das regras que limitam o número de edições; a qualquer momento, as pessoas relutam em melhorar sua resposta parece uma perda para o site, mas tudo bem, o que você faria? Desculpe, aumentamos sua contagem de edições em um - não queria incomodá-lo, considerando a quantidade de trabalho que você já realizou, mas talvez eu devesse ter perguntado primeiro. Obrigado pela ótima resposta!
DW
Pergunta que solicita uma simulação eficiente: cs.stackexchange.com/questions/28901/…
Ciro Santilli </