A auto-aplicação não é um ingrediente necessário da prova
Em poucas palavras
Se existe uma máquina de Turing que resolve o problema de parada, a partir dessa máquina podemos construir outra máquina de Turing com um comportamento de parada (função característica de parada) que não pode ser o comportamento de parada de qualquer máquina de Turing.LHL
O paradoxo construído sobre a função auto-aplicada (chamada nesta resposta - desculpe pelas inconsistências da notação) não é um ingrediente necessário da prova, mas um dispositivo utilizável na construção de uma contradição específica, ocultando o que parece ser o "real". finalidade "da construção. Provavelmente é por isso que não é intuitivo.LDL
Parece mais direto mostrar que há apenas um número inumerável de comportamentos de parada (não mais que as máquinas de Turing), que podem ser definidos como funções de parada características associadas a cada máquina de Turing. Pode-se definir construtivamente uma função de parada característica que não está na lista e construir a partir dela e de uma máquina
que resolve o problema de parada, uma máquina que possui essa nova função de parada característica. Mas como, por construção, não é a função de parada característica de uma máquina de Turing, não pode ser uma. Como é construído a partir de usando técnicas de construção de máquinas de Turing, não pode ser uma máquina de Turing.L L L H HHLLLHH
A auto-aplicação de para si mesma, usada em muitas provas, é uma maneira de mostrar a contradição. Mas funciona apenas quando a função de parada característica impossível é construída a partir da diagonal da lista de funções de parada característica permitidas por Turing, invertendo essa diagonal (trocando e ). Mas existem infinitamente muitas outras maneiras de construir uma nova função de parada característica. Então o não-Turing-ness não pode mais ser evidenciado com um paradoxo do mentiroso (pelo menos não simplesmente). A construção de autoaplicação não é intuitiva porque não é essencial, mas parece lisa quando puxada para fora do chapéu mágico.0 1L01
Basicamente, não é uma máquina de Turing porque foi projetada desde o início para ter um comportamento de parada que não é o de uma máquina de Turing e que pode ser mostrado mais diretamente, portanto, de maneira mais intuitiva.L
Nota : Pode ser que, para qualquer escolha construtiva da função de parada característica impossível, haja um reordenamento computável da enumeração da máquina de Turing, de forma que ela se torne a diagonal (não sei). Mas, imho, isso não altera o fato de que a autoaplicação é uma técnica de prova indireta que esconde um fato mais intuitivo e interessante.
Análise detalhada das provas
Eu não vou ser histórico (mas graças a quem é, eu gosto), mas estou apenas tentando trabalhar do lado intuitivo.
Eu acho que a apresentação dada ao @vzn , que eu encontrei há muito tempo (eu tinha esquecido), é realmente bastante intuitiva e até explica a diagonalização do nome. Estou repetindo em detalhes apenas porque sinto que o @vzn não enfatizou suficientemente sua simplicidade.
Meu objetivo é ter uma maneira intuitiva de recuperar a prova, conhecendo a Cantor. O problema com muitas versões da prova é que as construções parecem ser retiradas de um chapéu mágico.
A prova que dou não é exatamente a mesma da pergunta, mas está correta, tanto quanto posso ver. Se eu não cometer um erro, é intuitivo o suficiente, pois eu poderia recuperá-lo depois de mais anos do que gostaria de contar, trabalhando em questões muito diferentes.
O caso dos subconjuntos de (Cantor)N
A prova de Cantor assume (é apenas uma hipótese) que existe uma enumeração dos subconjuntos dos números inteiros, de modo que todo esse subconjunto possa ser descrito por sua função característica que é se
e é caso contrário.C j ( i ) 1 i ∈ S j 0SjCj(i)1i∈Sj0
Isso pode ser visto como uma tabela , de modo queT [ i , j ] = C j ( i )TT[i,j]=Cj(i)
Então, considerando a diagonal, construímos uma função característica
tal que , ou seja, é idêntica à diagonal da tabela, com cada bit invertido para o outro valor.D ( i ) = ¯ t [ i , i ]DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
Não há nada de especial na diagonal, exceto que é uma maneira fácil de obter uma função característica diferente de todas as outras, e é isso que precisamos.D
Portanto, o subconjunto caracterizado por não pode estar na enumeração. Desde que seria verdade de qualquer enumeração, não pode haver uma enumeração que enumera todos os subconjuntos de .NDN
É certo que, de acordo com a pergunta inicial, é bastante intuitivo. Podemos tornar a prova do problema de parada tão intuitiva?
O caso do problema da parada (Turing)
Assumimos que temos uma enumeração de máquinas de Turing (que sabemos que é possível). O comportamento de parada de uma máquina de Turing pode ser descrito por função travar a sua característica H j ( i ) que é um se
M j paradas na entrada i e é 0 de outra forma.MjHj(i)1Mji0
Isso pode ser visto como uma tabela , de modo que T [ i , j ] = H j ( i )TT[i,j]=Hj(i)
Então, considerando a diagonal, construímos uma função de parada característica
tal que D ( i ) = ¯ T [ i , i ] , ou seja, é idêntica à diagonal da tabela, com cada bit invertido para o outro valor.DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
Não há nada de especial na diagonal, exceto que é uma maneira fácil de obter uma função de parada diferente de todas as outras, e é tudo o que precisamos (veja a nota na parte inferior).D
Portanto, o comportamento de parada caracterizado por não pode ser o de uma máquina de Turing na enumeração. Como enumeramos todos eles, concluímos que não existe uma máquina de Turing com esse comportamento.D
THj
HH(i,j)Hj(i)
HLDLHL(i)H(i,i)H(i,i)1L(i)
LHDLH
Eu deliberadamente imitei a primeira prova e entrei em pequenos detalhes
Meu sentimento é que os passos ocorrem naturalmente dessa maneira, principalmente quando consideramos a prova de Cantor razoavelmente intuitiva.
Um primeiro enumera as construções litigiosas. Então, toma-se e modifica-se a diagonal como uma maneira conveniente de tocar em todos eles para obter um comportamento não contabilizado, e obtém-se uma contradição exibindo um objeto que não tem o comportamento contabilizado ... se alguma hipótese fosse verdadeira: existência de a enumeração para Cantor e a existência de um oráculo de parada computável para Turing.
DTTLDL(i)HH(i,i)
Comparação com a "outra" prova
LD
Nós apenas o construímos de tal maneira que ele possui uma função de parada característica que não corresponde a nenhuma máquina de Turing, e obtemos diretamente uma contradição a partir disso. Isso nos dá a liberdade de não usar a diagonal (pelo que vale a pena).
LjLL=MjLL(jL)T[jL,jL]=H(jL,jL)=1L(jL)L(jL)T[jL,jL]=H(jL,jL)=0L(jL)LL não pode ser uma máquina de Turing porque foi construída para ter uma função de parada característica que não é a de uma máquina de Turing.
Um aspecto secundário é que essa prova usual seria muito mais dolorosa se não escolhéssemos a diagonal, enquanto a abordagem direta usada acima não tem nenhum problema. Se isso pode ser útil, eu não sei.