Está en la página 1de 14

Teora de autmatas y lenguajes formales

Jos Ramn Garitagoitia Dpto. Ingeniera Matemtica e Informtica Universidad Pblica de Navarra

Descripcin Obligatoria; Curso 3; Cuatrimestre 2. 9 Crditos (4,5 Tericos; 4,5 Prcticos) Descriptor (B.O.E.):
Mquinas secuenciales y autmatas finitos. Mquinas de Turing. Funciones recursivas. Gramticas y lenguajes formales.

Requisitos:
Haber cursado las asignaturas Programacin (41107), Estructuras de Datos (41102) y Algoritmia (41204).
2
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Contextualizacin La asignatura consta de dos partes.


La primera parte se dedica a la introduccin de los conceptos fundamentales de la Teora de Lenguajes Formales. La segunda parte de la asignatura introduce los fundamentos de la Teora de la Computacin.

3
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Contextualizacin
El objetivo de la primera parte es la presentacin en profundidad del concepto de Lenguaje Formal de acuerdo a la propuesta de Chomsky. El desarrollo de esta presentacin busca profundizar en las dos categoras de lenguajes formales de mayor aplicacin: Lenguajes Regulares (LR) y Lenguajes Independientes de Contexto (LIC). Dentro de cada categora se estudian los problemas de generacin y de aceptacin de un lenguaje perteneciente a la misma, introducindose en cada caso los mecanismos formales que permiten resolver ambos problemas:
Gramticas formales para resolver el problema de generacin: Expresiones Regulares en el caso de los LR y Gramticas Independientes del Contexto en el caso de los LIC. Autmatas para resolver el problema de aceptacin: Autmatas Finitos en el caso de los LR y Autmatas a Pila en el caso de los LIC.

La presentacin de dichas categoras de lenguajes y de los conceptos y mecanismos asociados a las mismas se orienta hacia sus aspectos ms aplicados como son el diseo de analizadores lxicos (caso de los LR) y sintcticos (caso de los LIC), para sentar las bases formales que permitan abordar posteriormente la implementacin de compiladores e intrpretes.
4

2008, J.R. Garitagoitia.

41303 Teora de Autmatas y Lenguajes Formales

Contextualizacin
La segunda parte de la asignatura presentar los argumentos tericos que, de acuerdo a la tesis de Church, permiten considerar a la Mquina de Turing como mecanismo abstracto de computacin universal. A continuacin, dentro del contexto de las mquinas de Turing, se analizarn los aspectos de computabilidad y tratabilidad de problemas, extrayndose algunas conclusiones sobre la posibilidad terica y prctica de resolucin algortmica de problemas.

5
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Objetivos y competencias
Los objetivos de aprendizaje de la parte de teora que el estudiante debe alcanzar son:
Saber especificar autmatas que reconozcan lenguajes regulares. Saber definir gramticas que generen lenguajes regulares. Saber especificar autmatas que reconozcan lenguajes independientes del contexto. Saber definir gramticas que generen lenguajes independientes del contexto. Tanto para lenguajes regulares como para lenguajes independientes del contexto, ser capaz de convertir el mecanismo reconocedor en el mecanismo generador, y viceversa. Ser capaz de especificar mquinas de Turing que correspondan a algoritmos para el tratamiento de cadenas. Conocer la diferencia entre lenguajes recursivos y lenguajes recursivamente enumerables, y comprender sus consecuencias. Conocer la existencia de problemas algortmicamente insolubles.
6
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Objetivos y competencias
Los objetivos de aprendizaje de la parte de prcticas que el estudiante debe alcanzar son:
Ser capaz de preparar shell scripts moderadamente avanzados. Adquirir suficiente experiencia prctica en el manejo de las herramientas sed y flex, y en la programacin en lenguaje awk. Saber especificar expresiones regulares que describan patrones lxicos, y saber emplear eficazmente esas expresiones con las herramientas anteriores para la solucin de problemas.

7
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Bibliografa Bibliografa bsica


J.E. Hopcroft, R. Motwani, J.D. Ullman; Introduccin a la Teora de Autmatas, Lenguajes y Computacin; Addison-Wesley, 2002. J.E. Hopcroft, J.D. Ullman; Introduction to Automata Theory, Languages, and Computation; AddisonWesley, 1979.
8
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Bibliografa Bibliografa complementaria


J. G. Brookshear; Teora de la Computacin: Lenguajes Formales, Autmatas y Complejidad; Addison-Wesley Iberoamericana, 1993. D. Kelley; Teora de autmatas y lenguajes formales; Prentice-Hall, 1995.

9
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Bibliografa
Otros recursos
http://www1.unavarra.es/ets-industrialesytelecos/estudios/ primer-y-segundo-ciclo/ingenieria-tecnica-en-informatica-degestion
Descripcin de la asignatura Horarios de clases Fechas de exmenes

http://www-db.stanford.edu/~ullman/ialc.html
Materiales para la primera parte

https://miaulario.unavarra.es/portal
Trasparencias de la primera parte Trasparencias y lecturas de la segunda parte Guiones de prcticas
10
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Contenido Parte I
Tema 1. Introduccin Tema 2. Autmatas de estados finitos! Tema 3. Expresiones y lenguajes regulares Tema 4. Propiedades de los lenguajes regulares Tema 5. Gramticas independientes del contexto Tema 6. Autmatas a pila Tema 7. Propiedades de los LIC Tema 8. La jerarqua de Chomsky

11
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Contenido Parte II
Tema 9. Mquinas de Turing Tema 10. Problemas indecidibles Tema 11. Problemas intratables

12
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Contenido Prcticas
P1. Preparacin de bash shell scripts (2 sesiones). P2. Expresiones regulares en Linux y utilidades tr y grep (2 sesiones). P3. Utilidad sed (3 sesiones). P4. Lenguaje dot (1 sesin). P5. Lenguaje awk (3 sesiones). P6. Utilidad flex (4 sesiones).

13
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Evaluacin
Para aprobar la asignatura es necesario haber aprobado cada parte (teora y prctica) por separado. El examen de la parte terica tendr dos partes: (1) Autmatas y gramticas; (2) Computabilidad. El examen de la parte prctica se realizar en laboratorio. La calificacin final del estudiante se calcula del modo siguiente:
Si ha aprobado ambos exmenes:
Calificacin final = (NotaTeora + NotaPrctica) / 2

Si ha suspendido al menos uno de los exmenes:


Calificacin final = min(NotaTeora, NotaPrctica)
14
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Tema 1
Introduccin

15
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Tema 1. Introduccin 1. Por qu estudiar teora de autmatas? 2. Conceptos centrales de la teora de autmatas

16
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Motivacin

17
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Motivacin

18
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Autmatas finitos

19
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Autmatas finitos

20
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Representaciones estructurales

21
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

22
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

23
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

24
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

25
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

26
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales

Conceptos fundamentales

27
2008, J.R. Garitagoitia. 41303 Teora de Autmatas y Lenguajes Formales