Presentacion Teoria de la computabilidad

3,070 views
2,840 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,070
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
68
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentacion Teoria de la computabilidad

  1. 1. Introducción a la teoría de la computabilidad Lógica y Computabilidad 2009/10 Joaquín Borrego Díaz Joaquín Borrego Díaz Coordinador del programa de doctorado Departamento de Ciencias de la Computación e IA Universidad de Sevilla sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  3. 3. Un problema en el trabajo • Sr. Pérez, deseo que me programe un verificador automático de programas sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  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.? sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  8. 8. La máquina enigma sábado 21 de noviembre de 2009
  9. 9. Apuntes de Turing sábado 21 de noviembre de 2009
  10. 10. La máquina diseñada por Turing (Bletchley Park) sábado 21 de noviembre de 2009
  11. 11. Modelo formal de computación: la máquina de Turing sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  13. 13. Tercera Cuestión • Tesis de Church-Turing • Otra versión: (versión informal): • Todo algoritmo o • Cualesquiera dos procedimiento efectivo modelos de es Turing-computable computación resuelven los mismos problemas • Se puede considerar un “axioma” en Informática • Es cierto en todos los modelos creados sábado 21 de noviembre de 2009
  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 sábado 21 de noviembre de 2009
  15. 15. Guía de viaje por la computabilidad El lenguaje GOTO Matemáticas Definiciones por recursión Programa Universal Codificación de programas El problema de la parada El Teorema de Rice Computabilidad sábado 21 de noviembre de 2009
  16. 16. El lenguaje elegido: GOTO Modelo de computación basado en lenguaje Lenguaje de programación muy simple Usa variables como registros Es computacionalmente completo sábado 21 de noviembre de 2009
  17. 17. Sintaxis de GOTO sábado 21 de noviembre de 2009
  18. 18. Programa Universal en GOTO • Entrada: datos +Programa • Salida: Resultado de aplicar el programa al dato • ¡ES UN ORDENADOR! sábado 21 de noviembre de 2009
  19. 19. Definiciones por recursión • Necesitamos utilizar mecanismos de definición por recursión • Potente herramienta de programación sábado 21 de noviembre de 2009
  20. 20. El problema de la parada • Entrada: Un programa y • Se prueba usando el un dato de entrada método diagonal (usando el programa • Salida: universal) • 1 (sí) si el programa para sobre ese dato • 0 (no) si no para sábado 21 de noviembre de 2009
  21. 21. 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 sábado 21 de noviembre de 2009
  22. 22. Aplicaciones (I): imposibilidad de la corrección parcial sábado 21 de noviembre de 2009
  23. 23. Aplicaciones (II): imposibilidad de la verificación automatizada de la equivalencia sábado 21 de noviembre de 2009

×