Parando o problema sem auto-referência

10

No problema de parada, estamos interessados ​​se existe uma máquina de Turing que pode dizer se uma determinada máquina de Turing pára ou não em uma determinada entrada . Geralmente, a prova começa assumindo que existe umEm seguida, consideramos um caso em que restringimos ao próprio e derivamos uma contradição usando uma instância de um argumento diagonal. Estou interessado em como seria a prova se nos for dada a promessa de que ? E a promessa , onde é funcionalmente equivalente a ?M i T i M i M i M M MTMiTiMiMiMMM

bellpeace
fonte
2
Dica: mesmo que não precise responder corretamente a perguntas sobre si mesmo ou sobre o equivalente de a ele, ainda podemos alimentar um equivalente e ver o que ele faz. Como não é calculável se é equivalente a , não será capaz de dizer que obteve algo equivalente a si próprio. M M M M MMMMMMM
Andrej Bauer
@AndrejBauer Essa foi apenas uma dica que você me deu e eu devo resolver meu problema real usando essa dica? Estou um pouco confuso, já que você relaxa o problema dizendo "não é necessário", onde, em meu ambiente, tenho a promessa de que não será alimentado com um equivalente . Basicamente, eu gostaria de ver qualquer tipo de "auto-referência" que torne os problemas indecidíveis. Eu pensava que esse é o caso quando se fala de lógica e incompletude. M MM
bellpeace
Você pode quebrar a promessa e alimentar como quiser. Não posso dizer que você quebrou a promessa, de qualquer maneira. Se você acha que isso é trapaça, alimentarei coisas que não são equivalentes a porque são como mas com todas as entradas alteradas em , ou algo assim. M M M 1MMMM1
Andrej Bauer
Na verdade, suas perguntas não estão bem formuladas. Você deve descrever a prova real que tem em mente e especificar o que exatamente deseja evitar. Eu não acho que você quer dizer , mas outra coisa. iM
Andrej Bauer

Respostas:

7

Suponha que HALTS é uma TM que lê sua entrada como um par e , onde é uma codificação TM e é qualquer entrada para essa TM.x M xMxMx

Sua pergunta é se o que aconteceria se nós assumimos pára resolvido o problema da parada para todas as entradas tal que não é uma codificação de uma TM que é funcionalmente equivalente a .x MM,xxM

Eu afirmo que isso implica uma contradição. Eu vim com isso no local, então eu recebo toda e qualquer crítica à minha prova. A idéia da prova é que, em vez de diagonalizar algo em si mesmo, criamos duas MTs mutuamente recursivas que se comportam de maneira diferente em algumas entradas (portanto, não são funcionalmente equivalentes), mas causam contradições.

Sejam e duas TMs mutuamente recursivas (ou seja, podemos simular, imprimir, etc., a descrição de dentro do programa de e vice-versa). Observe que podemos fazer TMs recursivas mutuamente a partir do teorema da recursão.D 2 D 2 D 1D1D2D2D1

Defina e seguinte maneira: na entrada , se (10 escolhidos arbitrariamente), então aceita e loops. (Portanto, eles não são funcionalmente equivalentes).D 2 x | x | < 10 D 1 D 2D1D2x|x|<10D1D2

Entrada dada com , defina para simular HALTS em e interrompa se parar ou faça um loop se loop.| x | 10 D 1D 2 , x D 2 D 2x|x|10D1D2,xD2D2

Entrada dada com , defina para simular HALTS em e faça um loop se parar ou parar se loop.| x | 10 D 2D 1 , x D 1 D 1x|x|10D2D1,xD1D1

Observe que, para qualquer com , (x) pára ou faz um loop. Se na entrada x, sabemos que HALTS ( , x) determinou que pára na entrada x. No entanto, na entrada x implica que HALTS ( , x) faça um loop.| x | 10 D 1 D 1 D 2 D 2 D 2 D 1x|x|10D1D1D2D2D2D1

Se loops de entrada , a contradição da mesma forma. xD1x

Isso é uma contradição, a menos que seja uma codificação para uma máquina de turing funcionalmente equivalente a ou , caso em que o HALTS tem um comportamento indefinido. No entanto, foi escolhido arbitrariamente entre todas as cadeias de tamanho maior que . Portanto, resta mostrar que existe uma máquina de turing com uma codificação de tamanho maior que 10 que se comporta de maneira diferente de e . Podemos construir essa máquina trivialmente. QED.D 1 D 2 x 10 D 1 D 2xD1D2x10D1D2

Pensamentos?

Kurt Mueller
fonte
Por que você precisa garantir que e não sejam funcionalmente equivalentes? D 2D1D2
bellpeace
Acho que você está certo de que isso não é necessário. Minha intenção original era diagonalizar em paradas ( )D1,D2
Kurt Mueller
Sem isso, a prova é mais elegante, mas de qualquer maneira parece boa para mim e é exatamente o que eu precisava.
bellpeace
2

Você ainda não está fora de perigo. Você se depara com o mesmo problema, só que agora fornece a ele um TM, como entrada, onde você escolheu para ser funcionalmente equivalente a (diga que você adiciona uma nova regra a para que abertura de se mova estão um passo à direita, um passo à esquerda e, caso contrário, você não faz alterações). Você ainda vai se deparar com uma contradição. Você pode tentar eliminar todas as TMs equivalentes a , mas esse é um conjunto indecidível.M ' M M M ' MMMMMMM


Update . Corrija um esquema de codificação em que denota a descrição desse esquema de uma TM e suponha que você tenha uma TM, em queM HMMH

  • x H x HH(M,x) é indefinido quando é a codificação de uma TM que calcula a mesma função parcial que (ou seja, e são funcionalmente equivalentes).xHxH
  • Para todas as outras entradas, retorna true se e somente se parar.M ( x )H(M,x)M(x)

Agora, a construção usual de diagonalização ainda resulta em uma contradição. Defina um TM porQ

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

Claramente e são funcionalmente diferentes, então podemos deixar e descobrir que pára se, e somente se, não parar. não pode haver nenhuma TM tais .H x = QHQ ( x=QHQ(Q)H

Rick Decker
fonte
E suponha que eu tenho uma promessa de que não sou uma MT funcionalmente equivalente a ? Talvez eu possa estender minha pergunta no OP? MiM
bellpeace
11
Suponha que você receba tal promessa; Eu sei que não é computável. Eu atualizei o OP.
bellpeace
@bellpeace: Como você define isso?
Entrada: um par de números inteiros de tal modo que não representam uma TM funcionalmente equivalente a TM representado por . Saída: se parar em , caso contrário. Esse problema é decidível? i M 1 M i 0(M,i)iM1Mi0
bellpeace
11
@RickyDemer Sim, duas TMs são consideradas funcionalmente equivalentes se calcularem a mesma função parcial. Observe que, como Andrey apontou, que, embora determinar se e sejam equivalentes seja indecidível, ainda podemos considerar o problema em que recebemos a promessa de que dois TMS de entrada não são equivalentes, como exemplifiquei acima. M MM
bellpeace