You are on page 1of 16

MATEMTICAS DISCRETAS

Marco E. Benalczar, Ph.D.

23 de octubre de 2017
THE HALTING
PROBLEM
Qu pueden Resolver los Computadores?
Ejemplos de lo que pueden hacer los computadores en la actualidad:

Operaciones aritmticas Jugar algunos juegos mejor que


los humanos (e.g., ajedrez)

Pueden los computadores resolver TODOS los problemas?


Qu pueden Resolver los Computadores?
Qu pasa si al computador A (experto en resolver aritmtica) le ponemos a resolver un
juego de ajedrez y si al computador C (experto en resolver ajedrez) le ponemos a resolver
un ejercicio de aritmtica?

Los computadores se quedaran procesando infinitamente las entradas sin poder dar una
respuesta.
Qu pueden Resolver los Computadores?
Qu componentes forman un computador?

Hardware + Software

Hardware Descripcin lgica del programa


que ejecuta el computador A
The Halting Problem
Sea el computador H el cual tiene como entradas una descripcin lgica del computador A
y una entrada I. El computador H puede determinar si el computador A ser capaz de
entregar una respuesta ante la entrada I (NOT STUCK) o si se quedar procesndola para
siempre (STUCK).
The Halting Problem
The Halting Problem
The Halting Problem
The Halting problem: Podemos implementar el computador H?

NO, lgicamente es imposible construir H.

A.Turing, On Computable Numbers with an Application to the Entscheidungsproblem,


Proceedings of the London Mathematical Society s.2 v.42, pp. 230-265, 1936; correction
s.2 v.43, pp. 544-546, 1937.

http://www.dna.caltech.edu/courses/cs129/caltech_restricted/Turing_1936_IBID.pdf

La prueba de que el computador H no puede existir fue dada por Alan Turing en 1936.

Para esta prueba, Turing tuvo que definir un concepto matemtico de computador.
Prueba Grfica que H no puede ser
Implementado
Para la prueba asumimos lo siguiente:

- H existe y siempre da la respuesta correcta.


- P es un computador que imprime a la salida dos copias de su entrada.
- N es un computador que invierte (niega) su entrada.
Prueba Grfica que H no puede ser
Implementado
Los computadores H, P y N se conectan para formar el computador X.
Prueba Grfica que H no puede ser
Implementado

Descripcin lgica del computador X


Prueba Grfica que H no puede ser
Implementado
Qu respuesta da X cuando a su entrada se ingresa X?
Prueba Grfica que H no puede ser
Implementado
1 2

H falla en los dos casos:

1. En el primer caso H predice que X entregar NOT STUCK cuando en realidad X est STUCK.
2. En el segundo caso H predice que X entregar STUCK cuando en realidad X est NOT STUCK = .

Note que H siempre se equivoca a pesar de que asumimos que H siempre da la respuesta correcta.

Esta contradiccin prueba que H no puede ser implementado.


Conclusiones

El the halting problem consiste en determinar si, a partir del par (descripcin
de un programa arbitrario o cualquiera, entradas), el programa terminar o
continuar ejecutndose por siempre.

Alan Turing demostr que el the halting problem no puede ser resuelto.

La prueba de Turing tambin implica que NO existe computador (algoritmo) que


pueda resolver todos los problemas.
Referencias

Las imgenes de esta presentacin han sido obtenidas del siguiente link:

https://www.youtube.com/watch?v=92WHN-pAFCs

Ms informacin se puede obtener en:

https://www.youtube.com/watch?v=macM_MtS_w4

You might also like