Diagrama de temas

  • Teoría de Autómatas y Lenguajes Formales (2010)

    maquinas-termicas.jpg

    Profesores

    Luis Migel Pardo Vasallo

    Domingo Gómez Pérez

    Departamento de Matemáticas, Estadística y Computación




    El objetivo básico de la asignatura es ofrecer una estructura teórica que permita analizar los procesos de cálculo en función de la dificultad de
    computación. Estudiar la relación entre generatividad (gramáticas) y resolubilidad (autómatas), de cara a su utilización en compiladores. Adquirir un conocimiento teórico de las limitaciones de estos procesos (problemas indecidibles). Los estudiantes, después de cursar esta asignatura, deberían conocer los grados de complejidad intrínsecos de los lenguajes regulares e incontextuales. Dispondrán de algunas herramientas para describir estos lenguajes, reconocerlos y caracterizarlos.


    Palabras Clave de la Asignatura

    Interpretación de funciones, Sintaxis concreta, Sintaxis abstracta, Análisis sintáctico, El método científico, Recursión, Análisis léxico, Interpretador, Jerarquía de Chomsky, Ingeniería de sistemas y automática

  • Programa

    programa

    Datos identificativos de la Asignatura

    • Asignatura: Teoría de Autómatas y Lenguajes Formales (2010)

    • Código: 3494

    • Departamento: Departamento de Matemáticas, Estadística y Computación

    • Área: 

    • Tipo: Troncal

    • Curso/Cuatrimestre:

    • Idioma de impartición: ESPAÑOL

    • Profesor Responsable: Luis Miguel Pardo Vasallo / Domingo Gómez Pérez


    Programa de la asignatura

    1. Lenguajes formales

    • 1. Introducción.
    • 2. Alfabetos y palabras.
    • 3. Operaciones con palabras.
    • 4. Lenguajes. Concatenación.
    • 5. Otras operaciones con lenguajes.
    • 6. Morfismos y sustituciones.

     

    2. Gramáticas incontextuales

    • 1. Introducción.
    • 2. Definición.
    • 3. Árbol de derivación. Ambigüedad.
    • 4. Verificación de gramáticas.
    • 5. Operaciones básicas con gramáticas. 
    • 6. La intersección de dos CFL puede no ser CFL.

     

    3. Normalización de gramáticas

    • 1. Introducción.
    • 2. Eliminación de producciones nulas.
    • 3. Eliminación de producciones unarias.
    • 4. Eliminación de símbolos inútiles.
    • 5. Gramáticas depuradas.
    • 6. Forma normal de Chomsky.

     

    4. Autómatas finitos

    • 1. Introducción.
    • 2. Autómatas finitos deterministas.
    • 3. Verificación de autómatas finitos.
    • 4. Autómatas finitos indeterministas.
    • 5. Equivalencia de los NFA con los DFA.
    • 6. Autómatas finitos con lambda-transiciones 
    • 7. Operaciones básicas con autómatas.
    • 8. Lenguajes no regulares.

     

    5. Minimización de autómatas finitos

    • 1. Minimización de un DFA.
    • 2. Algoritmo de minimización.
    • 3. Sobre la talla del DFA mínimo.
    • 4. Equivalencia entre autómatas.

     

    6. Expresiones regulares y gramáticas regulares

    • 1. Introducción.
    • 2. Expresiones regulares.
    • 3. Ecuaciones lineales entre lenguajes. Lema de Arden.
    • 4. Sistemas de ecuaciones lineales asociados a un NFA.
    • 5. Gramáticas regulares.
    • 6. Correspondencia entre gramáticas regulares y autómatas finitos.
    • 7. Morfismos y sustituciones de lenguajes regulares.

     

    7. Propiedades de iteración

    • 1. Lema de bombeo de lenguajes regulares.
    • 2. Lemas de bombeo de lenguajes incontextuales.

     

    8. Autómatas con pila

    • 1. Introducción.
    • 2. Autómatas con pila deterministas.
    • 3. Autómatas con pila indeterministas.
    • 4. Equivalencia entre autómatas con pila y gramáticas incontextuales.
    • 5. Propiedades de cierre de los CFL y de los DCFL.

     

    9. Autómatas bidireccionales y jerarquía de Chomsky

    • 1. Introducción.
    • 2. Autómatas finitos bidireccionales.
    • 3. Autómatas con pila bidireccionales.
    • 4. Relación entre las familias de lenguajes estudiadas.
    • 5. La jerarquía de Chomsky. Gramáticas de tipo 0.

     

    10. Máquinas de Turing

    • 1. Introducción a la calculabilidad. Problemas indecidibles.
    • 2. Definición de máquina de Turing. Interpretación.
    • 3. Computación. Convergencia y divergencia.
    • 4. Lenguaje reconocido y función computada por una máquina de Turing.
    • 5. Máquina de Turing de parada segura. Tiempo de cálculo.
    • 6. Lenguajes enumerables recursivamente y lenguajes decidibles.
    • 7. Funciones computables.
    • 8. Extensiones del modelo básico de máquina de Turing.

     

    11. Máquinas de Turing y algoritmos

    • 1. Los esquemas algorítmicos básicos.
    • 2. Codificación de las máquina de Turing.
    • 3. Intérpretes y simuladores. La máquina de Turing universal.
    • 4. La tesis de Church-Turing.

     

    12. Computabilidad y decidibilidad

    • 1. Teorema de la proyección.
    • 2. Propiedades de cierre de los lenguajes recursivamente enumerables y decidibles.
    • 3. Teorema del complementario.
    • 4. Algunos lenguajes recursivamente enumerables. El lenguaje K de Karp.
    • 5. Lenguajes no decidibles. Números reales e indecidibilidad. El Problema de Parada.

     

    13. Reductibilidad y completitud

    • 1. Reducción entre problemas.
    • 2. Propiedades de las reducciones. Ejemplos de reducciones.
    • 3. Teorema de Rice.
    • 4. Conjuntos enumerable recursivamente completos.

     

    14. Algunos problemas indecidibles clásicos

    • 1. El problema de las palabras de Thue.
    • 2. El problema de la correspondencia de Post.
    • 3. Problemas indecidibles sobre lenguajes incontextuales.

     

    15. Computación acotada. Espacio y tiempo

    • 1. Tiempo de cálculo.
    • 2. Espacio de cálculo.
    • 3. Clases de complejidad.
    • 4. Propiedades Elementales.

     

    16. Apéndice.

    • 1.- Máquinas RAM.
    • 2.- Redes Neuronales.
  • Bibliografía

    Bibliografía Básica

    • R. Cases, L Marquez. Llenguatges, gramàtiques i autòmats. Curs bàsic, Edicions UPC, 2003.
    • J.E. Hopcroft, R. Motwani, J.D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 2001 (2a ed.).
    • J. Gruska. Foundations of computing. International Thomson Computer Press, 1997.
    • D. Kozen. Automata and Computability. Springer-Verlag, 1997.
    • H.R. Lewis, C. Papadimitriou. Elements of the Theory of Computation. Prentice-Hall, Eglewood Cliffs, NJ, 1998 (2a ed.).
    • D. Kelley. Automata and Formal Languages. Prentice Hall, 1995.

     

    Bibliografía Complementaria

    • Alfred V. Aho, John E. Hopcroft, y Jeffrey D. Ullman. The design and analysis of computer algorithms. Addison-Weslwy Publishing Co., Reading, Mass. -London-Amsterdam, 1975.
    • Alfred V. Aho y Jeffrey D. Ullman. The theory of parsing, translation, and compiling, Vol I: Parsing. Pretince-Hall Inc., Englewood Cilffs, N.J., 1972.
    • Noam Chomsky. Syntactic Structures. Mouton and Co., The Hague, 1957
    • Noam Chomsky. Context-free grammars and pushdown storage. Quaterly Progress Report, 65, 1962.
    • John Cocke and Jakob Schwartz. Programming languages and their compilers. Courant Institute of Mathematical Sciences, New York University, 1970.
    • Ding-Zhu and Ker-I Ko. Problem Solving in Automata, Languages and Complexity. John Wiley and Sons, INC, 2001.
    • Terence Parr. The Definitive ANTLR Reference. Programatic Bookshelf, United States of America, 2007.
  • Material de Clase

     1. Lenguajes Regulares

    • MC-F-001. Tema 1.1. Introducción a los Procesos Algorítmicos.
    • MC-F-002. Tema 1.2. Lenguajes Formales y Monoides.
    • MC-F-003. Tema 1.3. Las Gramáticas Formales.
    • MC-F-004. Tema 1.4. La Jerarquía de Chomsky.
    • MC-F-005. Tema 1.5. Expresiones Regulares.
    • MC-F-006. Tema 1.6. Expresiones Regulares y Derivadas Formales.
    • MC-F-007. Tema 1.7. Expresiones Regulares y Derivadas Formales. Las Derivadas Sucesivas.
    • MC-F-008. Tema 1.8. Expresiones Regulares y Gramáticas Regulares. Sistemas Lineales.

    2. Autómatas Finitos y Relación con Expresiones Regulares

    • MC-F-009. Tema 2.1. Introducción.
    • MC-F-010. Tema 2.2. El Lenguaje aceptado por un Autómata e Indeterminismo.
    • MC-F-011. Tema 2.3. Descripción de los Lenguajes Aceptados por Autómatas.
    • MC-F-012. Tema 2.4. Lenguajes No Regulares. Problemas que los Autómatas No Resuelven.
    • MC-F-013. Tema 2.5. Minimización de autómatas.

    3. Gramáticas Libres de Contexto y Autómatas con Pila

    • MC-F-014. Tema 3.1. introducción.
    • MC-F-015. Tema 3.2. La Representación de las Gramáticas: Símbolos Útiles.
    • MC-F-016. Tema 3.3. Hacia las Gramáticas Propias.
    • MC-F-017. Tema 3.4. Hacia las Gramáticas Propias II.
    • MC-F-018. Tema 3.5. La Forma Normal de Chomsky.
    • MC-F-019. Tema 3.6. El Autómata con Pila.
    • MC-F-020. Tema 3.7. El Autómata con Pila: Transiciones.
    • MC-F-021. Tema 3.8. El Lenguaje aceptado por un Autómata con Pila.

    4. El análisis sintáctico como Algoritmo

    • MC-F-022. Tema 4.1. Introducción al Parsing.
    • MC-F-023. Tema 4.2. Etapas de la Compilación.
    • MC-F-024. Tema 4.3. La Ambigüedad en el Parsing.
    • MC-F-025. Tema 4.4. Algoritmos de Parsing Genéricos.
    • MC-F-026. Tema 4.5. Las Gramáticas LL.
    • MC-F-027. Tema 4.6. Las Gramáticas LL (II).
    • MC-F-028. Tema 4.6a. Traductores Push-Down.
    • MC-F-029. Tema 4.7. Traductores Push-Down para Gramáticas LL.
  • Pruebas de Evaluación

    Establecer en cada caso el peso en porcentaje que tiene en la evaluación de la asignatura la parte de la evaluación continua, y la correspondiente a la prueba del examen final.

    Descripción de la evaluación continua: actividades que debe desarrollar el alumno y su valoración

    Realización de Ejercicios Prácticos. El alumno realizará ejercicios en la parte práctica de la asignatura que demuestren su adaptación, habilidades y competencias orientadas hacia los objetivos específicos y generales de la asignatura.

    Esta contribución aportará hasta un 15 por ciento de la calificación final de la asignatura y no es obligatoria.

    Descripción del examen final (duración, se pueden llevar apuntes o no, tiene partes diferenciadas o no, se promedian teoría y problemas o no, etc).

    La asignatura tiene un único examen final, que aportará hasta el 85 por ciento de la calificación de la asignatura.

    El examen tendrá dos partes, una parte teórica que podrá realizarse con apuntes y tendrá una duración máxima de 1 hora y 30 minutos y que supondrá el 35 por ciento de la calificación final de la asignatura. No se admitirán ordenadores, discos duros o soportes digitales de cualquier clase, como tampoco se admitirán medios de comunicación digital o analógica con puntos de información externos al aula.

    La parte práctica/problemas tendrá una duración estimada de 2 horas y 30 minutos y aportará el 50 por ciento de la calificación de la asignatura. Esta parte se realizará sin apuntes. Tampoco se admitirán soportes de información de ninguna clase (digital o analógica) ni medios de comunicación (digitales o analógicos) con puntos externos al lugar ocupado por el alumno en el aula.

  • Guía de Aprendizaje

  • Sobre el Profesor

    Logo de la UC

     

          Luis Miguel Pardo Vasallo

     

           Departamento de Matemáticas, Estadística

     y Computación



     

     

     

     

    Logo de la UC

     

       Domingo Gómez Pérez

     

      Departamento de Matemáticas, Estadística

     y Computación