3º curso Ingeniería Técnica en Informática de Sistemas UNED Teoría de Autómatas II 3º curso Ingeniería Técnica en Informática de Sistemas UNED
Profesor Josep Silva Galiana E-mail: jfsilva@valencia.uned.es . Profesor Universidad Politécnica de Valencia E-mail: jsilva@dsic.upv.es Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Semana Tema o actividad 13-15 octubre Funciones recursivas primitivas=funciones iniciales + (combinación, composición y recursividad primitiva). Ejemplos de funciones computables no recursivas primitivas: función de Ackermann 18-22 octubre Ampliación de los mecanismos de generación de funciones: la minimalización. Conjunto resultado, las funciones recursivas parciales. Tesis de Church: toda función computable es recursiva parcial. 25-29 octubre Lenguaje mínimo de programación. Descripción y alcance. 2-5 noviembre Equivalencia entre los límites computacionales de las máquinas de Turing y el de los dos sistemas formales anteriores 8-12 noviembre Complejidad temporal y espacial. Su definición y cálculo sobre máquinas de Turing. 15-19 noviembre Evaluación de la complejidad de un cálculo puntual, de un algoritmo (rendimiento promedio) y de un problema 22-26 noviembre Ordenes de complejidad y clases de equivalencia inducidas: las tasas de crecimiento. Sus limitaciones como criterio discriminante de interés práctico. 29 nov.-3 dic. Problemas resolubles polinómicos (clase P) y no polinómicos. Lenguajes decidibles en tiempo polinómico y problemas de decisión 9-10 diciembre Complejidad polinómica sobre máquinas no deterministas: la clase NP. P como subconjunto de NP. El concepto de reducción polinómica. 13-17 diciembre Los problemas NP-completos y su importancia. Teorema de Cook 20-22 diciembre Repaso de conceptos, solución problemas exámenes años anteriores 10-14 enero Resolución de dudas, problemas y ejercicios 17-20 enero 24 –28 enero Primeras pruebas presenciales. 1ª semana (No hay tutorías) 31 enero-4 febrero Atención alumnos (dudas, consultas, etc.) 7-11 febrero Primeras pruebas presenciales. 2ª semana (No hay tutorías) Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Bibliografía Texto base: Teoría de la computación: Lenguajes formales, Autómatas y complejidad BROOKSHEAR J. G. Addison-Wesley Iberoamericana, 1993 Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Examen Examen con tres partes: Examen tipo test Respuestas erróneas restan Problema sobre computabilidad Problema sobre complejidad Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Sesión 1 Funciones recursivas primitivas Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Motivación ¿Existe algún problema que no pueda resolverse? ¿Puede cualquier lenguaje de programación resolver cualquier problema? ¿Qué necesita un lenguaje de programación para resolver cualquier problema algorítmico? Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Motivación Computable o calculable: una función puede calcularse por algún algoritmo (más que por un algoritmo determinado). Funciones iniciales: Conjunto de funciones que son tan sencillas que no hay duda acerca de su computabilidad. Existen combinadores de funciones para los cuales está demostrado que se preserva la computabilidad. Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Motivación Determinar funciones computables a partir de la combinación de funciones iniciales. Un lenguaje de programación que abarque todas las funciones iniciales tiene todo el poder computacional de las funciones recursivas primitivas. ¿Cuáles son las funciones iniciales y primitivas? Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones totales vs. Funciones parciales Cualquier dato puede ser codificado como una cadena de ceros y unos (y en consecuencia como enteros no negativos). Funciones totales vs. Funciones parciales Ejemplos Función total de NxN: + Función parcial de NxN: div Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Donde m y n son enteros no negativos Funciones parciales Todas las funciones computables son funciones parciales de la forma: Donde m y n son enteros no negativos Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Iniciales Función cero: Función sucesor: Proyecciones: EJERCICIO: ¿Cuál es el resultado de la siguiente llamada a función?. Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Iniciales Combinación: Composición: Ejercicios: Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Iniciales Recursividad primitiva: suma 0 x = 0 suma (y + 1) x = 1 + (suma y x) Ejercicios: Definir las funciones “mult”, “power” y “app” Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas Funciones recursivas primitivas: construidas a partir de las funciones iniciales aplicando un número finito de combinaciones, composiciones y recursiones primitivas EJERCICIOS: Realizar ejercicios 1 y 2 del libro Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas Algunas funciones recursivas primitivas: Funciones constantes Correspondencia entre cualquier tupla de 5 elementos y el valor 3 Correspondencia entre cualquier tupla de 3 elementos y el valor 5 Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas Algunas funciones recursivas primitivas: Función predecesor Función monus (x-y) Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas Algunas funciones recursivas primitivas: Función equal: Función not: Funciones tabulares: Entrada Salida 3 4 5 otros 2 Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas Todas las FRP son totales Existen funciones computables que no son FRP: ¡¡ Div es computable y es parcial !! Los matemáticos pensaron que las FRP abarcaban todas las funciones totales computables. Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana
Funciones Recursivas Primitivas En 1928 Ackermann, presentó una función computable, total y no recursiva primitiva: La función de Ackerman: Las funciones totales computables se conocen como -recursivas Teoría de Autómatas II 3º Ing. Tec. Informática Sistemas Josep Silva Galiana