Diferencia entre revisiones de «Problema de la parada»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Sin resumen de edición
Manuelt15 (discusión · contribs.)
m Revertidos los cambios de 189.165.71.79 a la última edición de Muro Bot
Línea 1: Línea 1:
{{complejo}}
{{complejo}}
El '''problema de la parada''', '''problema de la detención''' o '''disfunción erectil''' para [[Máquina de Turing|Máquinas de Turing]] consiste en lo siguiente: dada una [[Máquina de Turing]] <math>M</math> y una palabra <math>w</math>, determinar si <math>M</math> se detendrá cuando es ejecutada usando <math>w</math> como dato de entrada.
El '''problema de la parada''' o '''problema de la detención''' para [[Máquina de Turing|Máquinas de Turing]] consiste en lo siguiente: dada una [[Máquina de Turing]] <math>M</math> y una palabra <math>w</math>, determinar si <math>M</math> se detendrá cuando es ejecutada usando <math>w</math> como dato de entrada.
[[Alan Turing]], en su famoso artículo "On Computable Numbers, with an Application to the ''[[Entscheidungsproblem]]''" (1936), demostró que el problema de la parada de la Máquina de Turing es [[problema indecidible|indecidible]].
[[Alan Turing]], en su famoso artículo "On Computable Numbers, with an Application to the ''[[Entscheidungsproblem]]''" (1936), demostró que el problema de la parada de la Máquina de Turing es [[problema indecidible|indecidible]].



Revisión del 22:03 14 jun 2009

El problema de la parada o problema de la detención para Máquinas de Turing consiste en lo siguiente: dada una Máquina de Turing y una palabra , determinar si se detendrá cuando es ejecutada usando como dato de entrada. Alan Turing, en su famoso artículo "On Computable Numbers, with an Application to the Entscheidungsproblem" (1936), demostró que el problema de la parada de la Máquina de Turing es indecidible.

Idea de la demostración

Hablando formalmente, Turing demostró que este problema es indecidible en términos de máquinas de Turing. Para tener una idea más natural (y por simplicidad hablando en término de pseudocódigo) haremos una pequeña demostración por una reducción a lo absurdo:

Supongamos que existe una máquina de turing Mhp(Mk,T) que recibe:

  una máquina de turing (Mk)
  y una cadena (T)

y determina si al ejecutar Mk con T en la cinta para o no para.

Ahora bien, definamos Ml(Mk) como una máquina de turing que recibe una máquina de turing (Mk) y realiza Mhp(Mk,Mk) y si es cierto, entonces Ml(Mk) se para, sino Ml(Mk) termina.

Ahora hagamos Mhp(Ml(Ml)), es decir, que dada nuesta máquina de turing inicial, comprobamos la entrada Ml(Ml), y esto último es aplicar a la segunda máquina ella misma:

  Si Mhp(Ml(Ml)) es cierto es porque (Ml(Ml)) termina, entonces Mhp(Ml(Ml)) es cierto, pero por construcción de Ml, termina cuando Mhp(Ml(Ml)) es falso.
  Si Mhp(Ml(Ml)) es falso, es porque (Ml(Ml)) no termina, pero por construcción (Ml(Ml)) se cuelga cuando Mhp(Ml(Ml)) es cierto.

Por ende, llegamos una contradicción, por lo que no existe la máquina de turing Mhp.