Você está na página 1de 8

Mquina de Turing

En noviembre de 1936, Alan Turing public el artculo On computable numbers, with an application to the Entscheidungsproblem (Problema de Decisin) en la revista de la Sociedad Matemtica de Londres. En este artculo se presentan dos conceptos cruciales de la Teora de la Informtica, la Mquina de Turing y el Problema de Parada (Halting Problem). En su versin original, Turing planteaba la cuestin de la existencia de un nmero natural x, tal que, para todo nmero natural y, la Mquina de Turing nmero x podra predecir si la Mquina de Turing nmero y parara tomando como entrada la cinta vaca. La esencia de este problema, trasladada a un leguaje ms sencillo, y puesto que una Mquina de Turing es un algoritmo, que, en definitiva, es un programa informtico; puede ser descrita como la pregunta de si es posible predecir con antelacin y por anlisis de su cdigo, si un algoritmo, o un programa informtico parar, o continuar su ejecucin indefinidamente.

Problema de la parada (halting problem)


Para mquinas de Turing consiste en: Dada una MT M y una palabra w, determinar si M terminar en un nmero finito de pasos cuando es ejecutada usando w como dato de entrada. Alan Turing, en su famoso artculo "On Computable Numbers, with an Application to the Entscheidungsproblem" (1936), demostr que el problema de la parada de la Mquina de Turing es irresoluble, en el sentido que ninguna mquina de Turing lo puede resolver.

Problema de la Parada
WILL STOP, se para

PROGRAMA +

DATOS

COMPORTAMIENTO DEL PROGRAMA 1

WILL NOT STOP, se para

El Programa 1 examinar un programa y unos datos de entrada, efectuar el diagnostico correcto, imprimir el mensaje correspondiente y despus parar.

Problema de la Parada
COMPORTAMIENTO DEL PROGRAMA 2
PROGRAMA + DATOS + PROCEDIMIENTO INFINITO Si P+D No Para, Se detiene Si P+D Para, Entra en un lazo Infinito

El Programa 2 examinar un programa y unos datos de entrada, efectuar el diagnostico correcto, imprimir el mensaje correspondiente y despus parar, entrando as a un procedimiento infinito.

Problema de la Parada
Si P+P Para, Entra en un lazo Infinito

PEQUEO PROGRAMA C

P+P

PROGRAMA CON PROCEDIMIENTO INFINITO

Si P+P No Para, Se detiene

Al construir un programa C, que copie un programa para que el Programa los use como datos, Se genera el Programa Q. Se puede resumir el comportamiento del programa Q as. 1. El Programa Q acepta el Programa P como entrada. 2. Si el Programa P cuando usa el Programa P como dato de entrada, en algn momento va a parar, entonces el Programa Q entrar en un lazo infinito. 3. Si el programa P, cuando usa el Programa P como dato de Entrada, va a entrar en un lazo Infinito, entonces el Programa Q Parar.

Problema de la Parada
Si Q+Q No Para, Entra en un lazo Infinito Si Q+Q No Para, Se detiene Si se hace que el programa Q -Sabiendo que es un programa - sea la entrada del Programa Q se tiene. 2. Si el Programa Q, cuando usa el programa Q como dato de entrada, en algn momento va a parar, entonces el programa Q entrar en un lazo infinito. 3. Si el Programa Q, cuando usa el Programa Q como dato de entrada, va a entrar en un lazo infinito, entonces el Programa Q parar.

Problema de la Parada
Al construir un programa C, que copie un programa para que el Programa los use como datos, Se genera el Programa Q. Se puede resumir el comportamiento del programa Q as. 1. El Programa Q acepta el Programa P como entrada. 2. Si el Programa P cuando usa el Programa P como dato de entrada, en algn momento va a parar, entonces el Programa Q entrar en un lazo infinito. 3. Si el programa P, cuando usa el Programa P como dato de Entrada, va a entrar en un lazo Infinito, entonces el Programa Q Parar.

Si se hace que el programa Q -Sabiendo que es un programa - sea la entrada del Programa Q se tiene. 2. Si el Programa Q, cuando usa el programa Q como dato de entrada, en algn momento va a parar, entonces el programa Q entrar en un lazo infinito. 3. Si el Programa Q, cuando usa el Programa Q como dato de entrada, va a entrar en un lazo infinito, entonces el Programa Q parar.

Problema de la Parada
Es evidente que las afirmaciones 2 y 3 son contradictoras, en consecuencia se puede concluir que No es posible escribir un programa que examine cualquier programa y conjunto de datos dado y determine si el programa en algn momento va a parar. En conclusin, el Problema de la Parada sirve para determinar si un programa cualquiera, con unos datos de entrada cualquiera, Parar o No.