Por que o problema da parada é decidível para o LBA?

13

Eu li na Wikipedia e alguns outros textos que

O problema de parada é [...] decidível para máquinas determinísticas de autômatos limitados lineares (LBAs) [e] com memória finita.

Mas, anteriormente, está escrito que o problema de parada é um problema indecidível e, portanto, a TM não pode resolvê-lo! Como o LBA é definido como um tipo de TM, o mesmo não deve valer para eles?

user5507
fonte
9
Você pode usar uma TM para determinar se um LBA pára em uma determinada entrada, verificando se ele pára, digamos, em O (2 ^ 2 ^ n) etapas por simulação. Qualquer LBA trabalhando por mais tempo do que isso está preso em um loop infinito. Isso não está dizendo que os LBAs podem resolver o problema de interrupção das TMs gerais!
precisa
Autômatos finitos também são um tipo de TM.
Raphael
@ Rafael Você não pode editar perguntas como essa. Você mudou o significado da pergunta, tornando minha resposta existente fora do tópico, enquanto a outra resposta estava fora do tópico e agora está no tópico.
22414
@babou Não vejo como mudei o significado da pergunta e não vejo como nenhuma das duas perguntas estava respondendo à pergunta (mesmo que elas usem abordagens diferentes).
Raphael
@Rap A pergunta original é mais sobre discurso lógico do que sobre justificação formal das propriedades do LBA, e foi isso que você removeu do título. Para mim, é claro que, embora possa ser provado que a interrupção é decidível para os LBAs, o OP está se perguntando como ele pode ser compatível com outras declarações sobre a inclusão de LBAs nas TMs e a indecidibilidade de interromper as TMs (posso editar de volta?) . Aliás, não há intenção de menosprezar a resposta de Yuval. Espero que ele receba a maioria dos votos, porque é isso que os leitores buscam (o que é um problema pedagógico em si), mesmo que eu não ceda.
22414

Respostas:

18

O problema da parada é solucionável para qualquer máquina de Turing que utilize uma quantidade limitada de espaço conhecida, por uma generalização do argumento dado por Yonatan N. Se a quantidade de espaço for , o tamanho do alfabeto será A e o número de estados será Q , em seguida, o número de configurações possíveis é Q S a S . Se a máquina parar, ela deverá parar dentro das etapas Q S A S , pois, caso contrário, pelo princípio do buraco de pombo, ela terá uma configuração repetida e ficará presa em um loop infinito. Portanto, para determinar se a máquina para, basta executá-la por Q S A SSAQQSASQSASQSAS etapas e veja se ele pára dentro desse prazo.

Yuval Filmus
fonte
Por que esse argumento funciona para máquinas não determinísticas?
Raphael
1
Devido ao teorema de Savitch.
Yuval Filmus 22/03
Eu não conhecia (ou lembrei) do teorema de Savitch além do nome (nunca fiz muita complexidade). Mas não tenho certeza de que possa ser usado dessa maneira, pois se aplica aos procedimentos de decisão, ou seja, interromper os cálculos, enquanto a decidibilidade da interrupção é precisamente o que deve ser provado. A prova pode ser adaptada para incluir semi-decisões com limite de espaço, mas parece mais simples provar separadamente que a interrupção é decidível para a MT com limite de espaço, transformando assim as semi-decisões com limite de espaço em decisões completas. Isso é parecido com o que é feito por Hopcroft-Ullman-79 em seu lema 12-1, antes de provar o teorema de Savitch.
babou
1
Talvez eu esteja entendendo errado isso, mas é a resposta para literalmente executar o programa e ver se ele fica preso em um loop infinito ou não?
quer
1
@TrentonMaki Sim, é exatamente isso.
Yuval Filmus
10

Você parece preso com um problema lógico.

Pelo fato de existirem livros que você não pode ler, você não pode deduzir que não pode ler nenhum livro.

Dizer que o problema da parada é indecidível para a Turing Machines (TM) significa apenas que existem máquinas para as quais não há como determinar se elas são interrompidas ou não por algum procedimento uniforme que sempre será interrompido.

No entanto, existem máquinas de Turing que param. Agora, pegue um subconjunto de Máquinas de Turing, chamado Nice Turing Machines (NTM), de forma que contenha apenas Máquinas de Turing que parem se e somente se a fita contiver um número par de símbolos. Se uma máquina M é conhecida desse conjunto, você tem uma maneira simples de decidir se M será interrompido: você verifica se o número de símbolos da fita é par (isso requer apenas dois dedos).

Mas esse procedimento não funcionará para a TM que não está no conjunto NTM. (que pena!)

Portanto, o problema da parada é decidível para o NTM, mas não para o TM em geral, mesmo que o conjunto NTM esteja incluído no conjunto.

Isso é realmente crítico, e algumas vezes esquecido, ao interpretar o resultado da indecidibilidade.

Pode ser que se prove que uma propriedade importante é indecidível para uma família muito grande de objetos matemáticos ou computacionais.

Isso não significa que você deve parar de procurar uma solução, mas apenas que não encontrará uma para toda a família.

O que você pode fazer é identificar subfamílias relevantes para as quais a solução do problema permanece importante e tentar fornecer algoritmos para decidir se a propriedade vale para os membros dessa família menor.

Normalmente, a interrupção é indecidível para a MT em geral, mas é decidível, muitas vezes de maneira muito simples, para famílias grandes e úteis de autômatos, que podem ser vistos como casos especiais de MT.

babou
fonte
3
"Dizer que o problema da parada é indecidível para a Turing Machines (TM) significa apenas que existem máquinas para as quais não há como determinar se elas são interrompidas ou não por algum procedimento que sempre será interrompido". - Não é bem verdade. Para qualquer TM, o problema da parada é decidível. É o problema de decisão geral que é indecidível, ou seja, não existe um algoritmo que lide com todas as TMs. (Eu acho que isso tem que ser feito muito, muito claro para iniciantes Cf o. Problema pi .)
Raphael
Um exemplo mais imediato é o conjunto de todas as TMs que sempre são válidas. O seu adiciona um sabor extra, pois fica fora da hierarquia normal.
Raphael
Certo. Eu deveria ter dito "procedimento uniforme", mas estava implícito em minha mente como eu disse "procedimento que sempre parará", implicando que eu possa usá-lo em qualquer entrada, ou seja, em qualquer máquina. Mas é verdade que um procedimento pode funcionar corretamente para uma máquina e fazer qualquer coisa para outras máquinas. Bem ... - - - - - - - - Quanto ao segundo comentário, foi o que escrevi no começo. Então mudei de idéia porque achei que meu exemplo seria mais fácil de entender intuitivamente, pois a seleção de máquinas não depende diretamente da propriedade a ser decidida (embora seja próxima).
22414
2

Em resumo, um LBA possui um número finito de configurações, digamos D. Portanto, podemos executar as etapas D e concluir o resultado. Se for executado em mais de D etapas, pelo princípio do buraco de pombo, podemos dizer que está preso em um loop infinito.

SiluPanda
fonte
1
O que isso acrescenta sobre a resposta existente ? Isso parece apenas repeti-lo, com menos detalhes. Embora aprecie que você esteja tentando contribuir, preferimos que você evite repetir as respostas existentes e se concentre em responder a perguntas que ainda não tenham uma boa resposta.
DW