Por que as máquinas de Turing com limite linear são mais poderosas que os autômatos de estados finitos?

11

Fiquei com a impressão de que nossos computadores, por serem finitos, não são mais poderosos que as máquinas de estado finito (extraordinariamente grandes). Entretanto, as Máquinas de Turing com Limite Linear também são finitas, mas parece que as Linguagens Regulares são estritamente um subconjunto impróprio de Linguagens Sensíveis ao Contexto.

Obviamente, estou perdendo alguma coisa aqui. O que está acontecendo?

Ben I.
fonte

Respostas:

21

A máquina de Turing delimitada linear é restrita a uma fita cujo comprimento é uma função linear do comprimento da entrada.

Se o limite de comprimento fosse constante, a máquina não seria mais poderosa que um DFA. No entanto, um DFA não pode aumentar mais estados para lidar com uma entrada mais longa, o que de fato o LBTM pode fazer (considerando o estado como sendo a configuração completa da máquina). Portanto, o LBTM é estritamente mais poderoso.

rici
fonte
6
Há um resultado interessante relacionado a isso. Qualquer máquina de Turing que é executada no espaço aceita um idioma regular. o(loglogn)
precisa saber é o seguinte
@ skankhunt42, por que isso?
Ben I.
@ skankhunt42: Corrija-me se estiver errado, mas… qualquer TM que seja executada no espaço deve ser executada em tempo. Mas não é difícil mostrar que qualquer TM executada em tempo decide uma linguagem que também pode ser decidida em . Depois, há uma constante modo que os primeiros caracteres da entrada determinam se a entrada está no idioma. Mas a linguagem é obviamente regular: inclua um estado para cada prefixo em . Estou esquecendo de algo? Onde está meu erro? kloglogn2kloglogn=2log(logkn)=logkno(n)O(1)cNc0ic{0,1}i
wchargin
@Choirbean Requer uma prova usando sequências cruzadas. Você pode procurar aqui em cs.stackexchange.com/questions/7372/… .
precisa saber é o seguinte
@wchargin Acho que o erro pode estar alegando que a TM é executada em porque você precisa considerar também a posição da cabeça da fita de entrada enquanto conta o número de configurações. Então, acho que a MT roda no tempo . 2kloglognn2kloglogn
precisa saber é o seguinte
4

Acho que devemos primeiro entender a descrição de uma máquina e o tamanho da entrada, para que a comparação seja apenas de objetos válidos. Digamos que N é um tamanho de entrada. Isso significa que as máquinas terão esses limites de recursos.

ResourceFinite Automata:ALBTM:MInput Tape SizeO(N)O(N)Tape OperationsRead OnlyRead, WriteTape MovementLeft to right, One pass onlyBoth directions, No pass limit# of Locations (States)MMInput AlphabetΣΣAcceptance ConditionReach finite location: fReach finite location: f

Agora, aqui é mais expressivo que . Isso ocorre simplesmente porque o movimento e as restrições da fita são limitados para .MAA

Agora vamos fazer uma comparação inválida .

ResourceFinite Automata:ALBTM:MInput Tape SizeO(N)O(N)Tape OperationsRead OnlyRead, WriteTape MovementLeft to right, One pass onlyBoth directions, No pass limit# of Locations (States)M×2NMInput AlphabetΣΣAcceptance ConditionReach finite location: fReach finite location: f

Aqui e têm o mesmo poder expressivo. Mas observe que o tamanho de depende da entrada maneira exponencial. Tamanho antes de não dependem . Isso significa que para cada entrada em , você precisará gerar uma nova FA, mesmo que permaneça inalterado.AMANANMM

Devendra Bhave
fonte