Definindo o problema de parada para autômatos não determinísticos

18

A definição primária de máquina de Turing (TM), pelo menos no meu próprio livro de referência (Hopcroft + Ullman 1979) é determinística.

Portanto, meu próprio entendimento do problema da parada é principalmente para a MT determinística, embora eu saiba que pode ser considerado para outros tipos de autômatos.

Também notei que o determinismo é frequentemente mais ou menos implícito na maneira como as pessoas costumam se referir à MT ou ao problema de parada. A página da Wikipedia sobre o problema da parada é um bom exemplo disso.

Mas, não parece haver razão para essa limitação. Dada uma família F de autômatos que pode ser não determinística, o problema de parada para F pode ser definido como:

Existe um procedimento de decisão uniforme, de modo que, dado um autômato e uma entrada x , ele possa decidir se há um cálculo de A de parada na entrada x .UMAFxUMAx

(Isso não é exatamente o mesmo que dizer que o cálculo de com a entrada x será encerrado.)UMAx

De fato, essa parece a única maneira de dar algum sentido às discussões sobre o problema de parada para os Autômatos Limitados Lineares (LBA), que são principalmente autômatos não determinísticos.

Portanto, minha pergunta é se estou correto e se existe uma razão (e qual razão) para esse tratamento aparentemente de segunda classe do problema de parada de autômatos não determinísticos.

babou
fonte
Se você acha que algo está errado nesta pergunta, queira dizer o que é, para que todos possamos nos beneficiar do seu conhecimento e melhorar a publicação para todos os usuários. Obrigado.
babou 8/07/2015

Respostas:

12

Existem algumas razões pelas quais acho que colocamos menos esforço no problema de Halting para modelos não determinísticos.

A primeira é que existem, de fato, dois problemas de parada relevantes para um modelo de ND. Dada uma entrada e uma máquina não determinística M :xM

  • Existe uma execução válida de em x que para?Mx
  • Existe uma execução válida de em x que não pára? ou seja, todas as execuções válidas são interrompidas?Mx

Para máquinas determinísticas, elas são idênticas, pois existe exatamente uma execução válida de em uma entrada x . Mas para máquinas não determinísticas, pode haver várias execuções. Em qual você está interessado depende do seu aplicativo.Mx

Em segundo lugar, os modelos não determinísticos já não são realistas: eles assumem que você possui uma caixa mágica informando o caminho a seguir ou que possui alguma forma de paralelismo infinito. Como as Máquinas de Turing não determinísticas e determinísticas são equivalentes em potência, na maioria dos casos, você apenas converte a máquina em determinística antes de se preocupar em parar.

Como uma extensão disso, não nos importamos, porque provar algo sobre uma máquina não determinística é pelo menos tão difícil quanto provar algo sobre uma máquina determinística equivalente. Já sabemos que não há solução para o Problema de Parada determinístico, então tudo o que é realmente útil é provar outros problemas indecidíveis por meio de reduções. E sempre haverá menos trabalho para reduzir ao problema de parada determinística, já que é mais fácil do que sua contraparte não determinística.

jmite
fonte
Você declara: " Mas para máquinas não determinísticas, pode haver várias execuções. Qual delas você está interessado depende do seu aplicativo. " Você poderia ilustrar essa afirmação com um exemplo? Então você declara " você acabou de converter a máquina em uma determinística antes de se preocupar em parar ". Como isso é feito para um LBA?
babou 8/07/2015
Os LBAs são um subconjunto de Máquinas de Turing não determinísticas, portanto, elas sempre podem ser convertidas em Máquinas de Turing determinísticas usando o método usual. Suspeito que exista uma construção especial que possa ser usada para converter em uma máquina com propriedades específicas, para que possamos manter a capacidade de raciocínio extra que recebemos dos LBAs. Eu acho que vai parecer um algoritmo de retorno, onde o espaço linear é usado, exceto que a pilha de chamadas pode ser exponencialmente grande (não tenho certeza, preciso procurar).
jmite
Para vários caminhos, considere duas máquinas , uma que sempre para na entrada x e outra que nunca é usada para x . Podemos criar um novo LBA M que começa escolhendo não deterministicamente um valor booleano. Se escolher true, executa M 1 na entrada x. Se escolher falso, executa M 2 em x . Cada escolha de verdadeiro e falso é uma "corrida" diferente. Esta máquina pára por x ? Existe um caminho em que ele pára em x , mas não para todos os caminhos que lêem x . M1,M2xxMM1M2xxxx
jmite
1
@HendrikJan Parece que a suspensão do NLBA é abordada com o teorema de Savitch . Mas muda o limite linear para um quadrático.
babou 9/07/2015
1
@ Rafael, o que quero dizer com isso é que, para mostrar o problema indecidível, você mostra que pode usar P para simular outro problema indecidível. Como existe um mapeamento injetivo trivial de DTMs para NTMs, qualquer redução da parada do NTM também é uma redução da parada do DTM. Normalmente, seria menos trabalhoso reduzir a interrupção do DTM, já que é um problema menos difícil que você está tentando simular. PP
jmite
4

O problema da parada é o problema completo por por excelência , pois pode ser afirmado como:Σ1

.H(P,x)c s. t. c is a halting computing of P on x

Isso sugere que sua definição é correta. Em geral, todas as definições completas são "corretas".Σ1

Yuval Filmus
fonte
Infelizmente, não sei quase nada sobre hierarquia aritmética. Estou correto ao entender que representa problemas semi-decidíveis? O que cerca de: K ( P , x ) c , c  é uma computação de  P  em  XΣ1. Estou perguntando porque quantificações existenciais e universais parecem terminar em classes diferentes, mas tudo é nebuloso para mim. Ktambém é semi-decidível. K(P,x)c,c é uma computação de P em xc está parando.K
babou 13/07/2015
Era isso que eu tinha medo que você respondesse. Eu perguntei porque acho que tenho um procedimento de semi-decisão. Portanto, ou minha prova está errada ou formalizei meu problema incorretamente. Basicamente, é sugestão de jmite que a parada não determinística na entrada possa ser definida exigindo que todos os cálculos na parada x . E eu acreditava que até agora eu tinha uma semi-decisão para isso. xx
babou 13/07/2015
Na verdade, sua definição não é boa por outro motivo: o que você quer dizer com " está parando"? Ou você quer dizer que c , que é a priori apenas uma computação incompleta, está realmente completo. Nesse caso, K ( P , x ) nunca é verdadeiro, pois você pode considerar c como o cálculo vazio. Em qualquer outro caso, não está claro que a descrição de c seja finita e também não está claro que o predicado " c está parando" é computável. ccK(P,x)ccc
Yuval Filmus
Então, na verdade o problema está no , mas provavelmente não Π 1 -completo. Π1Π1
Yuval Filmus
Obrigado e desculpe pela minha leitura ingênua. Eu pensei que o você usou representava cálculos "completos", o que aparentemente é um erro no domínio quantificado. Eu acho que se pode usar apenas domínios contáveis ​​e o conjunto de cálculos sem interrupção de uma TM não determinística não se qualifica. Também acho que os quantificadores nos dizem o quão ruim a computabilidade pode ser, mas não oferece garantia de que seja ruim. Portanto, parece que a proposta de jmite não é facilmente expressa de maneira direta no "formato" necessário, mas meu procedimento de semi-decisão pode estar correto. c
babou
2

você diz que existe um "aparente tratamento de segunda classe" do problema de parada para máquinas não determinísticas. parece que o não determinismo não foi considerado historicamente até muito tempo após a criação da MT determinística por Turings e isso pode ter algo a ver com o foco da pesquisa na área. no entanto, o ponto principal aqui é que o problema não determinístico pode ser facilmente reduzido ao problema determinístico; portanto, é necessário apenas estudar o problema determinístico "sem perda de generalidade".

além disso, para contrariar a idéia de "2ª classe", aqui está pelo menos uma ref / paper que estuda o problema de parada para máquinas não determinísticas e encontra conexões úteis / profundas. algumas evidências circunstanciais ao longo das linhas de que a pesquisa em CS é tão vasta / especializada, às vezes algumas pesquisas iniciais foram feitas na maioria das áreas, mesmo que aparentemente estreitas, e podem se aproximar de quase sem sentido ou de cortar o cabelo para classificar problemas diferentes em sua importância. e, pelo contrário, o não-determinismo parece um conceito muito profundo / onipresente / transversal no CS (questões abertas importantes como P vs NP estão nele) e esse aspecto provavelmente continuará por muito tempo no futuro.

Abstrato. O problema parametrizado p-Halt toma como entrada uma máquina de Turing não determinística M e um número natural n, sendo o tamanho de M o parâmetro. Ele pergunta se cada execução aceitável de M na fita de entrada vazia leva mais de n etapas. Esse problema está na classe XPuni, a classe “XP uniforme”, se houver um algoritmo que o decida, que para a máquina fixa M é executado no polinômio de tempo em n. Acontece que vários problemas em aberto de diferentes áreas da ciência da computação teórica estão relacionados ou até equivalentes ao p-Halt XPuni. Assim, essa afirmação forma uma ponte que permite derivar equivalências entre afirmações de diferentes áreas (teoria da prova, teoria da complexidade, complexidade descritiva, ...) que, à primeira vista, parecem não ter relação. Como mostra nossa apresentação,

vzn
fonte
2

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):

  • Mx

  • Mx

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 :

  • MxMx

  • MxMx

MxMx. 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 xeu?

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.

babou
fonte