Entiendo la prueba de la indecidibilidad del problema de detención (dada, por ejemplo, en el libro de texto de Papadimitriou), basada en la diagonalización.
Si bien la prueba es convincente (entiendo cada paso), no es intuitiva para mí en el sentido de que no veo cómo alguien la derivaría, comenzando solo por el problema.
En el libro, la prueba es así: "supongamos que resuelve el problema de detención en una entrada , es decir, decide si la máquina Turing detiene para la entrada . Construya una máquina Turing que tome una máquina Turing como entrada , ejecuta e invierte la salida ". Luego muestra que no puede producir una salida satisfactoria.M x D M M H ( M ; M ) D ( D )
Es la construcción aparentemente arbitraria de , particularmente la idea de alimentar a sí mismo, y luego a sí mismo, por lo que me gustaría tener una intuición. ¿Qué llevó a las personas a definir esas construcciones y pasos en primer lugar?M D
¿Alguien tiene una explicación sobre cómo alguien razonaría su camino hacia el argumento de la diagonalización (o alguna otra prueba), si no conocieran ese tipo de argumento para comenzar?
Anexo dado la primera ronda de respuestas:
Entonces, las primeras respuestas señalan que demostrar la indecidibilidad del problema de detención fue algo basado en el trabajo previo de Cantor y Russell y el desarrollo del problema de diagonalización, y que comenzar "desde cero" simplemente significaría tener que redescubrir ese argumento.
Lo suficientemente justo. Sin embargo, incluso si aceptamos el argumento de la diagonalización como algo bien entendido, todavía encuentro que hay una "brecha de intuición" desde el problema de detención. La prueba de Cantor de la incontabilidad de los números reales me parece bastante intuitiva; La paradoja de Russell aún más.
Lo que todavía no se ve es lo que podría motivar a alguien para definir sobre la base de 'auto-aplicación' 's , y luego aplicar de nuevo a sí mismo. Eso parece estar menos relacionado con la diagonalización (en el sentido de que el argumento de Cantor no tenía algo parecido), aunque obviamente funciona bien con la diagonalización una vez que los define.M M ; M D
PD
@babou resumió lo que me preocupaba mejor que yo: "El problema con muchas versiones de la prueba es que las construcciones parecen sacadas de un sombrero mágico".
fuente
true
false
D(M) = not M(M)
D(D)
Respuestas:
En tu edición, escribes:
Un resumen "popular" común de la prueba de Turing es algo así:
Ahora, es fácil ver que el resumen anterior pasa por alto un detalle importante: ¡la detención de la máquina Turing también depende de su entrada, que no hemos especificado! Pero este problema se puede solucionar fácilmente: solo necesitamos que elija alguna entrada adecuada para cada máquina de entrada , antes de pasar ambas a .D x M M M HMETRO re XMETRO METRO METROH
¿Cuál es una opción adecuada para , dado que finalmente queremos derivar una contradicción? Bueno, una opción natural es sugerida directamente por la prueba "manual" anterior, donde finalmente obtenemos la contradicción al ejecutar la máquina sobre sí misma. DXMETRO re
Por lo tanto, para que el comportamiento de sea realmente paradójico en este caso, es decir, cuando se invoca como , lo que queremos es que la detención de D ( M ) dependa del comportamiento de M cuando se invoca como M ( M ) . De esta manera, vamos a obtener la contradicción que queremos estableciendo M = D .D ( D )re D ( D ) D ( M) METRO METRO( M) METRO= D
Eso sí, esta no es la única opción; también podríamos haber derivado la misma contradicción, por ejemplo, construyendo una máquina tal manera que D ' ( M ) se detenga si y solo si M ( D ' ) (en lugar de M ( M ) ) no se detiene. Pero, aunque está claro que la máquina D puede duplicar fácilmente su entrada antes de pasarla a M H , no es tan obvio cómo construir una máquina D ' que invoque a M H con su propio código como entrada. Por lo tanto, usando estore′ re′( M) METRO( D′) METRO( M) re METROH re′ METROH lugar de D complicaría innecesariamente la prueba y la haría menos intuitiva.re′ re
fuente
Puede ser simplemente que es un error pensar que alguien razonaría su camino hacia este argumento sin hacer un argumento similar en algún momento anterior, en un contexto "más simple".
Recuerde que Turing conocía la prueba de diagonalización de Cantor de la incontabilidad de los reales. Además, su trabajo es parte de una historia de las matemáticas que incluye la paradoja de Russell (que usa un argumento de diagonalización) y el primer teorema de incompletitud de Gödel (que usa un argumento de diagonalización). De hecho, el resultado de Gödel está profundamente relacionado con la prueba de indecidibilidad del problema de detención (y, por lo tanto, la respuesta negativa al problema Entscheidungsproblem de Hilbert).
Entonces, mi argumento es que su pregunta está, en cierto sentido, mal fundada y que no puede alcanzar el Problema de detención sin pasar primero el resto (o algo notablemente similar). Si bien les mostramos estas cosas a los estudiantes sin pasar por la historia, si usted fuera un matemático que trabajara, parece poco probable que pase de la nada a las Máquinas de Turing sin nada en el medio; el objetivo de ellas era formalizar la computación, un problema que mucha gente tenía estado trabajando durante décadas en ese momento.
Cantor ni siquiera usó la diagonalización en su primera prueba de la incontabilidad de los reales, si tomamos las fechas de publicación como una aproximación de cuándo pensó en la idea (no siempre es algo confiable), le llevó unos 17 años saberlo que los reales eran incontables, para resolver el argumento de la diagonalización.
En referencia a la "autoaplicación" en la prueba que mencionas, esto también es una parte integral de la paradoja de Russell (que depende completamente de la auto-referencia), y el primer teorema de incompletitud de Gödel es como la versión de alto poder de la paradoja de Russell . La prueba de la indecidibilidad del problema de detención está tan fuertemente informada por el trabajo de Gödel que es difícil imaginar llegar allí sin ella, por lo tanto, la idea de "autoaplicación" ya es parte del conocimiento básico que necesita para llegar al problema de detención. . Del mismo modo, el trabajo de Gödel es una reelaboración de la paradoja de Russell, por lo que no se llega sin la otra (tenga en cuenta que Russell no fue el primero en observar una paradoja como esta, por lo que los prototipos del argumento de la diagonalización han existido en la lógica formal desde aproximadamente 600 AEC). Tanto el trabajo de Turing como el de Gödel (las partes de las que estamos hablando aquí) pueden verse como demostraciones cada vez más poderosas de los problemas con la autorreferencia, y cómo se está incrustando en las matemáticas. Entonces, una vez más, es muy difícil sugerir que estas ideas en el nivel que Turing estaba tratando con ellas surgierona priori , fueron la culminación del trabajo de milenios en partes de filosofía, matemáticas y lógica.
Esta autorreferencia también es parte del argumento de Cantor, simplemente no se presenta en un lenguaje tan poco natural como el trabajo más fundamentalmente lógico de Turing. La diagonalización de Cantor se puede reformular como una selección de elementos del conjunto de potencia de un conjunto (esencialmente parte del Teorema de Cantor). Si consideramos el conjunto de reales (positivos) como subconjuntos de los naturales (tenga en cuenta que realmente no necesitamos que se ordenen los dígitos para que esto funcione, simplemente hace una presentación más simple) y afirmamos que hay un surjection de los naturales para los reales, entonces podemos producir un elemento del conjunto de poder (es decir, un real) que no está en la imagen de la sorpresa (y, por lo tanto, derivar una contradicción) al tomar este elemento como el conjunto de naturales que no están en su propio imagen debajo del surjection. Una vez que lo expresamos de esta manera, '
fuente
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.H L
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.re L
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.H L L L H H
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.L 0 0 1
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.Sj doj( i ) 1 i ∈ Sj 0 0
Esto puede verse como una tabla , tal que T [ i , j ] = C j ( i )T T[ 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.re D ( 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 .re norte
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.METROj Hj( i ) 1 METROj yo 0 0
Esto puede verse como una tabla , tal que T [ i , j ] = H j ( i )T T[ i , j ] = Hj( i )
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.
Comparación con la "otra" prueba
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).
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é.
fuente
También hay una prueba de este hecho que utiliza una paradoja diferente, la paradoja de Berry, que escuché de Ran Raz.
Considere el siguiente programa:
La misma idea se puede utilizar para probar los teoremas de incompletitud de Gödel, como lo muestran Kritchman y Raz .
fuente
Hay una idea más general involucrada aquí llamada "teorema de recursión" que puede ser más intuitiva: las máquinas de Turing pueden usar su propia descripción (y así ejecutarse). Más precisamente, hay un teorema:
Si tuviéramos una máquina de Turing que pudiera resolver el problema de detención, entonces, usando la idea descrita anteriormente, podemos construir fácilmente una variedad de máquinas de mentiroso "mentiroso": por ejemplo, en notación similar a la pitón,
El argumento más complicado es esencialmente tratar de hacer esto directamente sin apelar al teorema de recursión. Es decir, está repitiendo una receta para construir funciones "autorreferenciales". Por ejemplo, dada una máquina de Turing
T
, aquí hay una de esas recetas para construir una máquinaR
satisfactoriaPrimero, defina
donde
M(M; -)
, lo que realmente quiero decir es que calculamos (usando la descripción deM
) y conectamos una descripción de una máquina de Turing que, en la entraday
, evalúaM(M; y)
.Ahora, se observa que si nos conectamos
S
en sí mismoobtenemos la duplicación que queremos. Entonces si establecemos
entonces tenemos
como se desee.
fuente
liar
True
not liar()
False
la prueba de Turing es bastante similar a la prueba de Cantors de que la cardinalidad de los reales ("incontable") es mayor que la cardinalidad de los racionales ("contables") porque no se pueden poner en correspondencia 1-1 pero esto no se nota / enfatiza en muchas referencias (¿alguien sabe alguna?) (iirc) un profesor de CS mostró una vez esto hace años en clase (no estoy seguro de dónde lo consiguió él mismo). en la prueba Cantors uno se puede imaginar una cuadrícula con dimensión horizontal del n º dígito del número y la dimensión vertical del n º número del conjunto.
la construcción a prueba de detención Turing es bastante similar, excepto que el contenido de la tabla son Halt / Nonhalt para 1/0 en su lugar, y el eje horizontal es n º de entrada, y el eje vertical es n º programa de ordenador. en otras palabras, la combinación de programas de computadora y entradas son contables, pero la tabla / matriz infinita es incontable en base a una construcción de simulador de máquina universal que puede "voltear" un caso de detención a un caso no mortal suponiendo que exista una máquina detectora de detención (por lo tanto, reductio ad absurdam ) .
Alguna evidencia de que Turing tenía en mente la construcción de Cantors es que su mismo documento con la prueba de detención habla de números computables como (a lo largo de las líneas de) números reales con dígitos computables.
fuente
En este punto, vale la pena señalar el trabajo de Emil Post, a quien (justamente) se le atribuye ser un co-descubridor de los resultados básicos de la computabilidad, aunque lamentablemente se publicó demasiado tarde para ser considerado un co-descubridor de la solución al problema Entscheidungsproblem . Ciertamente participó en la elaboración de la llamada tesis de Church-Turing .
Post fue motivado por consideraciones muy filosóficas, a saber, las limitaciones teóricas de la capacidad humana para calcular, o incluso obtener respuestas precisas de manera consistente . Él ideó un sistema, ahora llamado sistemas post-canónicos , cuyos detalles no son importantes, y afirmó que podría usarse para resolver cualquier problema que pueda resolverse de manera adversa mediante la manipulación de símbolos . Curiosamente, él consideró explícitamente que los estados mentales eran parte de la "memoria" explícitamente, por lo que es probable que al menos considerara su modelo de computación como un modelo del pensamiento humano en su totalidad.
El problema Entscheidungs considera la posibilidad de utilizar dicho medio de cálculo para decir, determinar la teoría de cualquier proposición expresable en el sistema de los Principia Mathematica . ¡Pero el PM era un sistema diseñado explícitamente para poder representar todo el razonamiento matemático y, por extensión (al menos en ese momento, cuando el Logicismo todavía estaba en boga) todo el razonamiento humano!
Por lo tanto, es muy sorprendente, entonces, dirigir la atención de tal sistema a los propios sistemas canónicos del Post, al igual que la mente humana, a través de los trabajos de Frege, Russel y los lógicos del cambio de siglo, habían centrado su atención en la facultad de razonamiento. de la mente humana misma.
Entonces, está claro en este punto, que la autorreferencia, o la capacidad de los sistemas para describirse a sí mismos, era un tema bastante natural a principios de la década de 1930. De hecho, David Hilbert esperaba "arrancar" el razonamiento matemático en sí mismo, al proporcionar una descripción formal de todas las matemáticas humanas, que luego podrían demostrarse matemáticamente que son consistentes.
Una vez que se obtiene el paso de usar un sistema formal para razonar sobre sí mismo, es un salto y un salto lejos de las paradojas habituales autorreferenciales (que tienen una historia bastante antigua ).
Dado que se supone que todas las declaraciones en Principia son "verdaderas" en algún sentido metafísico, y los Principia pueden expresar
Si existe un programa para decidir todos los teoremas en ese sistema, es bastante simple expresar directamente la paradoja del mentiroso:
puede ser expresado por
La dificultad es construir el programa
p
. Pero en este punto, es bastante natural considerar la oración más generalpor alguna arbitraria
q
. ¡Pero es fácil de construirp(q)
para cualquieraq
! Simplemente calcule lo que PM predice que generará y devuelva la respuesta opuesta. Sin embargo, no podemos reemplazarq
porp
en este punto, ya quep
tomaq
como entrada yq
no (no toma entrada). Vamos a cambiar nuestra oración para quep
hace de entrada para llevar:Arg! Pero ahora
p
toma 2 entradas:q
yr
, mientras queq
solo toma 1. Pero espere: queremosp
en ambos lugares de todos modos, porr
lo que no es una nueva información, ¡sino la misma información nuevamente, es decirq
! Esta es la observación crítica.Entonces finalmente tenemos
Olvidémonos de este tonto negocio de "PM dice", y tenemos
Este es un programa legítimo siempre que tengamos un programa que siempre nos diga qué
q(q)
retorna . Pero ahora que tenemos nuestro programap(q)
, podemos sustituirq
porp
y obtener la paradoja de nuestra mentiroso.fuente