Em poucas palavras
Parece não haver uma boa razão para negligenciar o problema da parada em ambientes que não são os clássicos das máquinas determinísticas de Turing, além do fato de que o problema clássico da parada responde a algumas questões matemáticas importantes (como o
problema de Entscheidung ), enquanto as variantes são apenas questões técnicas interessantes (?), mas com menos impacto nas fundações.
UMAx
De acordo com a resposta de jmite, essa parada não determinística pode ser definida como correspondendo à existência de pelo menos uma computação de parada ( parada existencial ) ou como alternativa a exigir que toda a computação possível seja interrompida ( parada universal ). Essas duas definições correspondem a duas definições diferentes do problema de parada não determinística.
Mostro que, para máquinas de Turing, as duas definições correspondem a duas maneiras distintas de determinar a máquina por meio de encaixe. Disto, deduzo que as duas variantes do problema de parada não determinística são Turing equivalentes ao problema de parada determinística clássica
.
No entanto, também mostro que cada uma dessas definições de parada está diretamente relacionada a uma definição correspondente da linguagem reconhecida por uma máquina de Turing, e essa relação pode ser simplesmente expressa com a condição de escolher definições consistentes.
Portanto, dada a definição usual da linguagem reconhecida por um autômato não determinístico, a definição natural de parada não determinística é parada existencial, como proposto na pergunta original.
A maior parte dessa análise se estende naturalmente a outros tipos de autômatos, embora as construções em cauda de andorinha geralmente não estejam disponíveis em famílias menos poderosas que as máquinas de Turing.
Introdução
Estou escrevendo isso como uma resposta, uma vez que responde parcialmente à minha pergunta depois de mais pensamentos, levando em consideração as respostas existentes. Além disso, editar minha pergunta após três respostas pode, nesse caso, confundir problemas, e eu prefiro deixar a pergunta como originalmente escrita para evitar isso.
Discuto primeiro algumas das minhas divergências com as respostas dadas. A questão não é desmerecer as tentativas justas de responder à minha pergunta (meus agradecimentos por todas as respostas), mas chegar ao fundo das questões discutindo ou contestando pontos técnicos.
Eu acho que a pergunta original dificilmente precisa de contexto ou motivação. O problema da parada é uma das principais perguntas que fazemos sobre autômatos, por um lado, e o não determinismo é um recurso muito comum e útil de muitos autômatos, por outro. Além disso, o não determinismo não é apenas um dispositivo teórico comum para simplificar as provas, mas uma característica essencial de algumas famílias de autômatos, como o autômato limitado linear (LBA), pelo menos no momento da redação deste documento.
Portanto, é bastante natural se perguntar se o problema da parada tem um significado, ou um significado preferido, que e por que, no caso de autômatos não determinísticos.
O problema de interrupção não-termininista é bem resolvido?
Minha pergunta se pergunta por que o problema de parada de autômatos não determinísticos parece receber tratamento de segunda classe , o que gerou um voto negativo e uma resposta por vzn. A resposta de vzn , que é realmente um comentário mais longo, insiste que "o não determinismo parece um conceito muito profundo / onipresente / transversal no CS", o que eu nunca duvidei. Também fornece uma referência a algumas pesquisas sobre a parada de máquinas não determinísticas, o que não é surpreendente, mas realmente não aborda o meu ponto. Meu argumento é que não me lembro de realmente ter visto uma definição do problema de parada apontado em máquinas não determinísticas, embora eu tenha lido alguma literatura no campo. Não é abordada, AFAIK, no meu livro de referência (Hopcroft + Ullman 1979) .Parece frequentemente implícito na mente das pessoas que elas estão considerando autômatos determinísticos, geralmente Turing máquinas, cuja definição de referência é determinística.
Por exemplo, na pergunta Por que o problema de parada é decidível para o LBA? , Yuval Filmus esqueceu em sua resposta que os LBAs são dispositivos não determinísticos - mas salvou brilhantemente sua resposta com um comentário de 4 palavras .
Como última testemunha do fato de que esta questão não é bem abordada em geral (apesar de algumas pesquisas especializadas), eu chamaria o fato de que a questão deve ser discutida aqui.
A resposta do jmite é a única que realmente tenta explicar por que não pode ser bem abordada. Seu primeiro argumento é que existem duas definições possíveis, mas acredito que essa situação deveria incentivar mais análises para determinar qual definição seria mais apropriada. Eu tento fazer isso abaixo.
Ele também sugere que, como uma MT não determinística sempre pode ser convertida em uma determinística equivalente, não há muito motivo para se preocupar com a questão da parada no caso não determinístico. Não estou totalmente convencido, mas pode ser percebido como uma boa razão para muitos. No entanto, o argumento não se aplica ao autômato vinculado linear (LBA), porque ainda é um problema em aberto se o LBA determinístico é equivalente ao LBA não determinístico. E existem outras famílias de autômatos para os quais a subfamília determinística é mais fraca que toda a família não determinística (PDA, por exemplo).
Também discordo do último ponto, afirmando que não devemos nos preocupar com a parada não determinística, porque as provas são mais fáceis com as máquinas determinísticas. Raphael se opôs a isso em um comentário : " Eu costumo encontrar reduções para problemas mais difíceis ". De fato, para muitos tipos de autômatos, a versão não determinística serve principalmente para simplificar provas, como a redução desse tipo de autômato. Ter além disso duas formas de parada que podem ser usadas, como sugerido pelo próprio jmite, pode até ser considerado uma vantagem, pois oferece mais flexibilidade para resolver problemas.
Sobre a definição do problema de parada não determinística
Nota: o uso da palavra "universal" no texto a seguir refere-se à quantificação universal , NÃO a máquinas de Turing universais
A resposta do jmite é a mais detalhada.
Essa resposta conjectura que autômatos não determinísticos promovem menos esforço no problema de parada porque ele pode ser definido de duas maneiras diferentes (a terminologia é minha):
A única definição que eu sugeri adequada é a parada existencial .
x
Prova : Isso é facilmente comprovado com o lema de König , uma vez que o número de possíveis escolhas não determinísticas em cada etapa é limitado para um determinado autômato. Se houvesse infinitas computações de interrupção, poderíamos rotular cada configuração com cada um dos caminhos computacionais que conduzem a ela, o que criaria um gráfico de computação com infinitos nós, mas apenas ramificações não determinísticas finitas em cada nó. Pelo lema de König, isso implica a existência de um caminho computacional infinito, correspondente a um cálculo sem interrupções.
O caso das máquinas de Turing (não determinísticas)
Então agora, vamos examinar a parada no caso da máquina de Turing não determinística (NTM).
Para analisar as duas definições, a mais simples é de fato considerar versões determinísticas de máquinas não determinísticas, que podem ser alcançadas, como lembrado por Hendrik Jan , combinando todos os cálculos possíveis.
Mas existem (pelo menos) duas maneiras de calcular os cálculos para determinação, embora apenas uma seja considerada:
Determinação de encaixe existencial que simula todos os cálculos em paralelo e termina quando um dos cálculos simulados termina.
determinação universal de encaixe, que simula todos os cálculos em paralelo e termina somente quando todos os cálculos simulados terminam. Mas é possível enumerar de alguma maneira os cálculos finais ou contá-los.
Proposição 2 :
MxM∀x. O inverso é direto.
Teorema 3 : O problema da parada para a MT determinística e os problemas existenciais e universais para a MT não determinística são equivalentes a Turing.
Prova : Isso resulta da proposição 2 e do fato de as MT determinísticas serem um subconjunto da MT não determinística, em que a parada existencial e a universal se reduzem a uma parada determinística simples.
Portanto, do ponto de vista da computabilidade, e sou tentado a dizer, do ponto de vista de empurrar o símbolo, parece que realmente não importa qual definição é escolhida, existencial ou universal, para o problema de interrupção não determinístico.
Por que escolher uma definição de parada NTM e qual
No entanto, há muito sentido em um processo de determinação que não preserva a linguagem reconhecida pelo autômato original?
A essência do uso do não-determinismo no reconhecimento de linguagem é que ele assume um oráculo que deveria adivinhar um caminho computacional correto sempre que houver um que leve à aceitação,
uma visão fundamentalmente existencial .
Em um cálculo não determinístico, não há diferença entre a rejeição na parada e a não parada. Nos dois casos, nenhuma conclusão pode ser tirada. O idioma reconhecido não será alterado se você substituir a rejeição ao parar por um loop infinito sem interrupção, o que pode ser feito para todos os autômatos não determinísticos em que posso pensar, incluindo o NFA (basta adicionar um loopϵtransição nos estados de falha). Isso também se aplica aos autômatos determinísticos, desde que haja um símbolo especial marcando o final da entrada, como geralmente é feito para o LBA.
Assim, a aceitação pela parada pode ser vista como uma forma canônica de aceitação de autômatos não determinísticos.
Considerando essa visão canônica, o problema de parada também pode ser expresso de maneira equivalente como o problema de reconhecimento :
Existe um procedimento uniforme que, dada uma linguagem eu reconhecido por uma máquina de Turing M, pode decidir por qualquer palavra x se x ∈ L?
Isso evidencia os laços estreitos entre a enumerabilidade recursiva e o problema da parada. Essa equivalência entre a decisão de parar a MTM
na entrada x e contenção de x no idioma M reconhece é verdade tanto para MT determinística quanto para não determinísticas, desde que consideremos a definição existencial de parada não determinística.
No entanto, no caso de parada universal, essa estreita relação se perde. Uma afirmação semelhante pode ser feita, mas para um idioma diferente daquele reconhecido pelo NTM (ou alternativamente para uma definição universal e diferente do que é o idioma reconhecido pelo NTM).
Ao desenvolver uma teoria, é essencial usar definições consistentes para enfatizar estruturas e relações em sua forma mais simples e perspicaz. É bastante claro que, no presente caso, a consistência com outras definições sugere que a
parada existencial é a definição natural de parada para máquinas de Turing não determinísticas.
Obviamente, pode-se sempre estar interessado em analisar a parada universal. Da mesma forma, também se poderia desenvolver uma teoria da aceitação universal para MNT baseada no requisito de que uma stringx é aceito se todo o cálculo na entrada xparar e aceitar. Mas, aparentemente, não é considerado um problema importante na teoria das máquinas de Turing.
O caso de outras famílias de autômatos
Partes da análise acima não podem ser estendidas à maioria das famílias de autômatos não determinísticos. Por exemplo, um atomaton de empilhamento (PDA) pode definir idiomas que não podem ser reconhecidos por um PDA determinístico. O mesmo pode acontecer com os LBAs. Outras partes podem ser estendidas a todas as famílias não determinísticas.
Com relação à definição de parada não-determinística, mesmo que o raciocínio usado no caso da máquina de Turing possa não ser utilizável, parece que a única opção sensata é adotar uma definição que seja consistente com a usada para máquinas de Turing não-determinísticas, daí a definição existencial .
A definição do problema de parada para essas famílias de autômatos não determinísticos segue e segue a definição proposta na pergunta.