presentacion tc 2010 11
TRANSCRIPT
![Page 1: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/1.jpg)
Introducción a la teoría de la computabilidad
Lógica y Computabilidad 2010/11Joaquín Borrego Díaz
Joaquín Borrego DíazDepartamento de Ciencias de la Computación e IAUniversidad de Sevilla
![Page 2: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/2.jpg)
Contenido
• Un problema
• Modelos de Computación
• Tesis de Church-Turing
• ¿Cómo resolvemos el problema?
• Guía de viaje por la T. Computabilidad
![Page 3: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/3.jpg)
Un problema en el trabajo
• Sr. Pérez, deseo que me programe un verificador automático de programas
![Page 4: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/4.jpg)
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
![Page 5: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/5.jpg)
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
![Page 6: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/6.jpg)
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.?
![Page 7: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/7.jpg)
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
![Page 8: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/8.jpg)
La máquina enigma
![Page 9: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/9.jpg)
Apuntes de Turing
![Page 10: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/10.jpg)
La máquina diseñada por Turing (Bletchley Park)
![Page 11: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/11.jpg)
Modelo formal de computación: la máquina de Turing
![Page 12: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/12.jpg)
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
![Page 13: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/13.jpg)
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
![Page 14: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/14.jpg)
¿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
![Page 15: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/15.jpg)
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
![Page 16: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/16.jpg)
El lenguaje elegido: GOTO
Lenguaje de programación muy simple
Usa variables como registros
Es computacionalmente completo
Modelo de computación basado en lenguaje
![Page 17: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/17.jpg)
Sintaxis de GOTO
![Page 18: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/18.jpg)
Programa Universal en GOTO
• Entrada: datos +Programa
• Salida: Resultado de aplicar el programa al dato
• ¡ES UN ORDENADOR!
![Page 19: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/19.jpg)
Definiciones por recursión
• Necesitamos utilizar mecanismos de definición por recursión
• Potente herramienta de programación
![Page 20: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/20.jpg)
Haskell, Lisp...
![Page 21: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/21.jpg)
NO es un juguete
matemático
![Page 22: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/22.jpg)
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)
![Page 23: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/23.jpg)
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
![Page 24: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/24.jpg)
Aplicaciones (I): imposibilidad de la corrección parcial
![Page 25: Presentacion tc 2010 11](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5569ce47d8b42a5c5d8b599f/html5/thumbnails/25.jpg)
Aplicaciones (II):imposibilidad de la verificación
automatizada de la equivalencia