Introducción a la teoría
de la computabilidad
Lógica y Computabilidad 2010/11
Joaquín Borrego Díaz
Joaquín Borrego Díaz
De...
Contenido
• Un problema
• Modelos de Computación
• Tesis de Church-Turing
• ¿Cómo resolvemos el
problema?
• Guía de viaje ...
Un problema en el
trabajo
• Sr. Pérez, deseo que me programe un
verificador automático de programas
Escenario 1: El sr. Pérez no
ha estudiado computabilidad
• ...(Dos meses de sufrimiento después)
• Jefe, a mí no me sale
•...
Escenario 2: El sr. Pérez ha
estudiado computabilidad
• (Unas horas después):
• Jefe, he estudiado el problema y NO se pue...
Cuestiones
• ¿Existen problemas que no se pueden
resolver mediante programas?
• ¿Qué tipo de análisis ha realizado en Sr.
...
Primera cuestión
• Existen problemas que NO
se pueden resolver
algorítmicamente
• Demostrado por A.Turing
en 1936
• Matemá...
La máquina enigma
Apuntes de Turing
La máquina diseñada por
Turing (Bletchley Park)
Modelo formal de computación:
la máquina de Turing
Segunda Cuestión
• El análisis que ha realizado
el Sr. Pérez está basado en
el argumento diagonal
• Diseñado por Georg
Can...
Tercera Cuestión
• Tesis de Church-Turing
(versión informal):
• Cualesquiera dos
modelos de
computación resuelven
los mism...
¿Cómo demostrar que un
problema es indecidible?
• Demostramos, en primer lugar, que
el problema no se puede resolver
en un...
Guía de viaje por la
computabilidad
El lenguaje GOTO
Definiciones por recursión
Codificación de programas
Programa Universal...
El lenguaje elegido:
GOTO
Lenguaje de programación
muy simple
Usa variables como registros
Es computacionalmente completo
...
Sintaxis de GOTO
Programa Universal en GOTO
• Entrada: datos
+Programa
• Salida: Resultado
de aplicar el
programa al dato
•¡ES UN
ORDENADOR!
Definiciones por
recursión
• Necesitamos utilizar
mecanismos de
definición por
recursión
• Potente
herramienta de
programaci...
Haskell, Lisp...
NO es un
juguete
matemático
El problema de la parada
• Entrada: Un programa
y un dato de entrada
• Salida:
• 1 (sí) si el programa
para sobre ese dato...
Teorema de Rice
• Método para detectar la no computabilidad
de ciertos problemas. Por ejemplo lo
aplicaremos para demostra...
Aplicaciones (I):
imposibilidad de la corrección parcial
Aplicaciones (II):
imposibilidad de la verificación
automatizada de la equivalencia
Upcoming SlideShare
Loading in …5
×

Presentacion tc 2010 11

1,333 views
1,248 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,333
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentacion tc 2010 11

  1. 1. Introducción a la teoría de la computabilidad Lógica y Computabilidad 2010/11 Joaquín Borrego Díaz Joaquín Borrego Díaz Departamento de Ciencias de la Computación e IA Universidad de Sevilla
  2. 2. Contenido • Un problema • Modelos de Computación • Tesis de Church-Turing • ¿Cómo resolvemos el problema? • Guía de viaje por la T. Computabilidad
  3. 3. Un problema en el trabajo • Sr. Pérez, deseo que me programe un verificador automático de programas
  4. 4. Escenario 1: El sr. Pérez no ha estudiado computabilidad • ...(Dos meses de sufrimiento después) • Jefe, a mí no me sale • Bueno, Sr. Pérez, no se preocupe
  5. 5. Escenario 2: El sr. Pérez ha estudiado computabilidad • (Unas horas después): • Jefe, he estudiado el problema y NO se puede resolver con un programa de ningún tipo • Excelente análisis, Sr. Pérez
  6. 6. Cuestiones • ¿Existen problemas que no se pueden resolver mediante programas? • ¿Qué tipo de análisis ha realizado en Sr. Pérez? • ¿Cómo puede afirmar que no se puede resolver en ningún tipo de lenguaje de programación, modelo de computación etc.?
  7. 7. Primera cuestión • Existen problemas que NO se pueden resolver algorítmicamente • Demostrado por A.Turing en 1936 • Matemático • Rompió el código enigma • Máquinas de Turing • Test de Turing
  8. 8. La máquina enigma
  9. 9. Apuntes de Turing
  10. 10. La máquina diseñada por Turing (Bletchley Park)
  11. 11. Modelo formal de computación: la máquina de Turing
  12. 12. Segunda Cuestión • El análisis que ha realizado el Sr. Pérez está basado en el argumento diagonal • Diseñado por Georg Cantor en 1834 • para demostrar que el cardinal de los reales es mayor que el de los naturales
  13. 13. Tercera Cuestión • Tesis de Church-Turing (versión informal): • Cualesquiera dos modelos de computación resuelven los mismos problemas • Se puede considerar un “axioma” en Informática • Es cierto en todos los modelos creados • Otra versión: • Todo algoritmo o procedimiento efectivo es Turing-computable
  14. 14. ¿Cómo demostrar que un problema es indecidible? • Demostramos, en primer lugar, que el problema no se puede resolver en un modelo de computación concreto • Entonces, por la tesis de Church- Turing, no es resoluble en ningún modelo
  15. 15. Guía de viaje por la computabilidad El lenguaje GOTO Definiciones por recursión Codificación de programas Programa Universal El problema de la parada El Teorema de Rice Matemáticas Computabilidad
  16. 16. El lenguaje elegido: GOTO Lenguaje de programación muy simple Usa variables como registros Es computacionalmente completo Modelo de computación basado en lenguaje
  17. 17. Sintaxis de GOTO
  18. 18. Programa Universal en GOTO • Entrada: datos +Programa • Salida: Resultado de aplicar el programa al dato •¡ES UN ORDENADOR!
  19. 19. Definiciones por recursión • Necesitamos utilizar mecanismos de definición por recursión • Potente herramienta de programación
  20. 20. Haskell, Lisp...
  21. 21. NO es un juguete matemático
  22. 22. El problema de la parada • Entrada: Un programa y un dato de entrada • Salida: • 1 (sí) si el programa para sobre ese dato • 0 (no) si no para • Se prueba usando el método diagonal (usando el programa universal)
  23. 23. Teorema de Rice • Método para detectar la no computabilidad de ciertos problemas. Por ejemplo lo aplicaremos para demostrar la indecidibilidad de: • Equivalencia entre programas • Reconocer los programas que siempre paran • Clases de complejidad algorítmica
  24. 24. Aplicaciones (I): imposibilidad de la corrección parcial
  25. 25. Aplicaciones (II): imposibilidad de la verificación automatizada de la equivalencia

×