Nodari Vakhania Maizuradse, Antonio Daniel Rivera López
Ciclo de formación:
Profesional
Área curricular:
Ciencias de la Disciplina
Tipo de unidad:
Teórica
Carácter de unidad:
Obligatoria
Clave:
TM01FP050010
Créditos:
10
Semestre:
7°
Horas Teoría:
5
Horas Práctica:
0
Programas académicos en los que se imparte:
Licenciatura en Ciencias Áreas terminales en Matemáticas, Física, Bioquímica y Biología Molecular, y Ciencias Computacionales y Computación Científica
Prerrequisitos:
Comprende y utiliza las herramientas básicas de análisis de algoritmos.
Antecedentes Recomendadas:
Ninguna
Consecuentes Recomendadas:
Ninguna
Presentación de la unidad de aprendizaje:
Se estudian los fundamentos teóricos de las ciencias de la computación. Para saber si un problema se puede resolver o no con una computadora, es necesario formalizar el concepto de algoritmo e introducir un modelo teórico de las computadoras. El estudio de estas máquinas nos ayuda formalizar el proceso y concepto de cómputo y nos va a permitir tener mas idea de lo que se puede calcular, en qué tiempo y qué no se puede calcular en las computadoras. Clasificamos los problemas/lenguajes en decidibles, no-decidibles, reconocibles y no-reconocibles. Los problemas decidibles son los que se pueden resolver en las computadoras, los reconocibles se pueden resolver en condiciones favorables, pero no son resolubles en general. Y los problemas no-reconocibles son todavía mucho más complicados que los problemas reconocibles. En esta unidad de aprendizaje se estudiará la técnica llamada de reducción. Informalmente, un problema/lenguaje se reduce a otro si el primero se puede resolver teniendo la solución del segundo.
Propósito de la unidad de aprendizaje:
Profundizar en los fundamentos teóricos de las ciencias de la computación, comprender los modelos matemáticos de las computadoras y aprender a clasificar los problemas/lenguajes en decidibles, no-decidibles, reconocibles y no-reconocibles.
Competencias profesionales:
Contribución al perfil de egreso:
Secuencia temática:
I Lenguajes regulares y autómatas finitos.
Introducción a la computabilidad.
Gramáticas y lenguajes. Gramáticas regulares.
Autómatas finitos deterministas, con y sin salidas, reconocedores. Autómatas finitos no-deterministas y la equivalencia de autómatas deterministas y no-deterministas.
Expresiones regulares, cerradura sobre expresiones regulares. La equivalencia entre los autómatas de estado finito y expresiones regulares.
Lenguajes no-regulares.
II Lenguajes libres del contexto y autómatas con pila.
La definición de un lenguaje libre del contexto y ejemplos de estos lenguajes. Construcción de lenguajes libres del contexto.
La reducción a la forma normal de Chomsky.
La definición formal de autómatas con pila (pushdown automation) y ejemplos.
Equivalencia entre los lenguajes de libres del contexto y autómatas con pila.
Lenguajes que no son de libres del contexto, lema de bombeo para los lenguajes de libres del contexto.
III Modelo general de computación y la hipótesis de Church-Turing.
Tesis de Church y Turing.
Máquinas de Turing. Lenguajes decidibles y reconocibles. Variaciones de máquinas de Turing con multi-cinta. Máquinas de Turing no deterministas. Equivalencia de las máquinas de Turing deterministas y no-deterministas. Equivalencia de las máquinas de Turing con otros modelos de computación.
Noción de algoritmo.
IV Decidibilidad.
Lenguajes decidibles: lenguajes decidibles del campo de conjuntos regulares, autómatas finitas, lenguajes libres de contexto y autómatas con pila.
Problemas no-decidibles. Problema de parada de una máquina de Turing, el método de diagonalización. Lenguajes no-reconocibles.
V Reducibilidad.
El método de reducción para demostrar que un lenguaje es o no decidible.
Problemas no-decidibles de teoría de lenguajes.
El problema de post-correspondencia.
La definición formal de reducibilidad. Reducibilidad por mapeo, funciones computables.
Criterios de Evaluación:
Bibliografía básica:
Sipser, M. 1997. Introduction to theory of computation. Ed. PWS Publishing Company.
Cooper, S. 2004. Computability theory. Ed. Chapman & Hall/CRC.
Garey, M. y Johnson, D. 1979. Computers and intractabililty: a guide to theory of NP-completeness. Ed. Freeman and Company.
Bibliografía complementaria:
Boolos, G. y Jeffrey, R. Computability and logic. Ed. Cambridge University Press.
Hopcroft, J., Motwani, R. y Ullman, J. 2000. Introducción a la teoría de autómatas, lenguajes y computación. Ed. Prentice-Hall.
Hopcroft, J., Motwani, R. y Ullman, J. Teoría de autómatas, lenguajes y computación. 3a edición. Ed. Pearson.