Tema 1
-
Upload
joaquin-borrego-diaz -
Category
Education
-
view
244 -
download
2
description
Transcript of Tema 1
![Page 1: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/1.jpg)
Tema 1Preliminares: algoritmos, computabilidad,
corrección y complejidad
Ciencias de la Computación 2012-13Grado en MatemáticasJoaquín Borrego Díaz
Joaquín Borrego DíazDepartamento de Ciencias de la Computación e IAUniversidad de Sevilla
![Page 2: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/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
• Verificación de programas
• Complejidad computacional
![Page 3: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/3.jpg)
Un problema en el trabajo
• Sr. Pérez, deseo que me programe un verificador automático de programas
![Page 4: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/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: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/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: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/6.jpg)
Cuestiones
• ¿Existen problemas que no se pueden resolver mediante programas?
• ¿Qué tipo de análisis ha realizado el 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: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/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: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/8.jpg)
La máquina enigma
![Page 9: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/9.jpg)
Apuntes de Turing
![Page 10: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/10.jpg)
La máquina diseñada por Turing (Bletchley Park)
![Page 11: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/11.jpg)
Modelo formal de computación: la máquina de Turing
![Page 12: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/12.jpg)
En 1936, de manera independiente, A. Church y A. Turing demostraron ambos que es imposible escribir tal algoritmo
El Entscheidungsproblem
Encontrar un algoritmo general que decida si una fórmula del cálculo de primer orden es un teorema
![Page 13: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/13.jpg)
Test de Turing
![Page 14: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/14.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 15: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/15.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 Computación
• Es cierto en todos los modelos creados
• Otra versión:
• Todo algoritmo o procedimiento efectivo es Turing-computable
![Page 16: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/16.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 17: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/17.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
PRELIMINARES
Computabilidad
El Teorema de Recursión
![Page 18: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/18.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 19: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/19.jpg)
Sintaxis de GOTO
![Page 20: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/20.jpg)
No es tan “simple”:Programa Universal en GOTO
• Entrada: datos +Programa
• Salida: Resultado de aplicar el programa al dato
• ¡ES UN ORDENADOR!
![Page 21: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/21.jpg)
Definiciones por recursión
• Necesitamos utilizar mecanismos de definición por recursión
• Potente herramienta de programación
• Cuestión: ¿Cuántas construcciones necesitamos para caracterizar las funciones computables?
![Page 22: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/22.jpg)
Haskell, Lisp...
![Page 23: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/23.jpg)
NO es un juguete
matemático
![Page 24: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/24.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 25: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/25.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 26: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/26.jpg)
Aplicaciones (I): imposibilidad de la corrección parcial
![Page 27: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/27.jpg)
Aplicaciones (II):imposibilidad de la verificación
automatizada de la equivalencia
![Page 28: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/28.jpg)
El teorema de Recursión• Los procedimientos
efectivos sobre programas son computables
Procedimiento que usa programas para calcular
Programa (codificado)
• Una consecuencia: siempre existen virus autorreplicantes
![Page 29: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/29.jpg)
Verificación de programas
Semántica Axiomática
![Page 30: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/30.jpg)
Complejidad
Reducciones
![Page 31: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/31.jpg)
Jerarquía de complejidad
![Page 32: Tema 1](https://reader035.fdocuments.es/reader035/viewer/2022070317/5569ce29d8b42a5c5d8b598e/html5/thumbnails/32.jpg)