La auto aplicación no es un ingrediente necesario de la prueba
En una palabra
Si hay una máquina de Turing que resuelve el problema de detención, entonces desde esa máquina podemos construir otra máquina de Turing L con un comportamiento de detención (función característica de detención) que no puede ser el comportamiento de detención de ninguna máquina de Turing.HL
La paradoja construida sobre la función autoaplicada (llamada L en esta respuesta, perdón por las inconsistencias de notación) no es un ingrediente necesario de la prueba, sino un dispositivo utilizable con la construcción de una contradicción específica, ocultando lo que parece ser el "verdadero propósito "de la construcción. Probablemente por eso no es intuitivo.reL
Parece más directo mostrar que solo hay un número innumerable de comportamientos de detención (no más que las máquinas de Turing), que se pueden definir como funciones de detención características asociadas con cada máquina de Turing. Se puede definir constructivamente una función de detención característica que no está en la lista, y construir a partir de ella, y desde una máquina
que resuelve el problema de detención, una máquina L que tiene esa nueva función de detención característica. Pero dado que, por construcción, no es la función de detención característica de una máquina de Turing, L no puede ser una. Como L está construido a partir de H utilizando técnicas de construcción de máquinas de Turing, H no puede ser una máquina de Turing.HLLLHH
La autoaplicación de a sí misma, utilizada en muchas pruebas, es una forma de mostrar la contradicción. Pero solo funciona cuando la función de detención característica imposible se construye a partir de la diagonal de la lista de funciones de detención características permitidas por Turing, volteando esta diagonal (intercambiando 0 y 1 ). Pero hay infinitas maneras de construir una nueva función de detención característica. Entonces la no-Turing-ness ya no se puede evidenciar con una paradoja mentirosa (al menos no simplemente). La construcción de la aplicación automática no es intuitiva porque no es esencial, pero se ve resbaladiza cuando se saca del sombrero mágico.L0 01
Básicamente, no es una máquina de Turing porque está diseñada desde el principio para tener un comportamiento de detención que no es el de una máquina de Turing, y que se puede mostrar más directamente, por lo tanto, de manera más intuitiva.L
Nota : Puede ser que, para cualquier elección constructiva de la función de detención característica imposible, haya una reordenación computable de la enumeración de la máquina de Turing de modo que se convierta en diagonal (no lo sé). Pero, en mi opinión, esto no cambia el hecho de que la autoaplicación es una técnica de prueba indirecta que oculta un hecho más intuitivo e interesante.
Análisis detallado de las pruebas.
No voy a ser histórico (pero gracias a quienes lo son, lo disfruto), pero solo estoy tratando de trabajar el lado intuitivo.
Creo que la presentación dada a @vzn , que encontré hace mucho tiempo (lo había olvidado), en realidad es bastante intuitiva e incluso explica la diagonalización del nombre. Lo repito en detalles solo porque siento que @vzn no enfatizó lo suficiente su simplicidad.
Mi propósito es tener una forma intuitiva de recuperar la prueba, sabiendo eso de Cantor. El problema con muchas versiones de la prueba es que las construcciones parecen sacadas de un sombrero mágico.
La prueba que doy no es exactamente la misma que en la pregunta, pero es correcta, por lo que puedo ver. Si no cometí un error, es lo suficientemente intuitivo ya que podría recuperarlo después de más años de los que me gustaría contar, trabajando en problemas muy diferentes.
El caso de los subconjuntos de (Cantor)norte
La prueba de Cantor supone (es solo una hipótesis) que hay una enumeración de los subconjuntos de los enteros, de modo que todo el subconjunto puede describirse por su función característica C j ( i ), que es 1 si
i ∈ S j y es 0 de lo contrario.Sjdoj( i )1i ∈ Sj0 0
Esto puede verse como una tabla , tal que T [ i , j ] = C j ( i )TT[ i , j ] = Cj( i )
Luego, considerando la diagonal, construimos una función característica
tal que D ( i ) = ¯ T [ i , i ] , es decir, es idéntica a la diagonal de la tabla con cada bit invertido al otro valor.reD ( i ) = T[ i , i ]¯¯¯¯¯¯¯¯¯¯¯¯
La diagonal no tiene nada de especial, excepto que es una manera fácil de obtener una función característica que sea diferente de todas las demás, y eso es todo lo que necesitamos.re
Por lo tanto, el subconjunto caracterizado por no puede estar en la enumeración. Ya que sería cierto para cualquier enumeración, no puede haber una enumeración que enumera todos los subconjuntos de N .renorte
Esto es ciertamente, de acuerdo con la pregunta inicial, bastante intuitivo. ¿Podemos hacer que la prueba del problema de detención sea intuitiva?
El caso del problema de detención (Turing)
Asumimos que tenemos una enumeración de máquinas de Turing (que sabemos que es posible). El comportamiento de detención de una máquina de Turing se puede describir por su función de detención característica H j ( i ) que es 1 si
M j se detiene en la entrada i y es 0 en caso contrario.METROjHj( i )1METROjyo0 0
Esto puede verse como una tabla , tal que T [ i , j ] = H j ( i )TT[ i , j ] = Hj( i )
reD ( i ) = T[ i , i ]¯¯¯¯¯¯¯¯¯¯¯¯
re
re
THj
HH( i , j )Hj( i )
HLreLHL ( i )H( i , i )H( i , i )1L ( i )
LHreLH
Deliberadamente imité la primera prueba y entré en pequeños detalles
Mi sensación es que los pasos vienen naturalmente de esta manera, especialmente cuando uno considera que la prueba de Cantor es razonablemente intuitiva.
Primero se enumeran los constructos litigiosos. Luego, uno toma y modifica la diagonal como una forma conveniente de tocarlos a todos para obtener un comportamiento no contabilizado, luego obtiene una contradicción al exhibir un objeto que tiene el comportamiento no explicado ... si alguna hipótesis fuera cierta: existencia de la enumeración para Cantor y la existencia de un oráculo de detención computable para Turing.
reTTLreL ( i )HH( i , i )
Comparación con la "otra" prueba
Lre
Solo lo construimos de tal manera que tenga una función de detención característica que no corresponde a ninguna máquina de Turing, y obtenemos directamente una contradicción de eso. Esto nos da la libertad de no usar la diagonal (por lo que vale).
LjLL = MjLL ( jL)T[ jL, jL] = H( jL, jL) = 1L ( jL)L ( jL)T[ jL, jL] = H( jL, jL) = 0L ( jL)LL no puede ser una máquina de Turing porque está construida para tener una función de detención característica que no es la de una máquina de Turing.
Un punto secundario es que esta prueba habitual sería mucho más dolorosa si no eligiéramos la diagonal, mientras que el enfoque directo utilizado anteriormente no tiene ningún problema. Si eso puede ser útil, no lo sé.