Vous êtes sur la page 1sur 14

UNIVERSIDAD TCNICA PARTICULAR DE LOJA

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS DE LA COMPUTACIN

Gua Didctica

T EORA DE AUTMATAS Y
LENGUAJES FORMALES
18604
CICLO

DATOS DE IDENTIFICACIN:
CARRERA PROFESOR(A) TELFONO E-MAIL TUTORA : : : : : Ingeniera en Informtica Ing. Juan Carlos Torres Daz (07) 2 570 275 Ext. 2322 jctorres@utpl.edu.ec Lunes de 08h00 a 12h00

Estimado Estudiante, dgnese confirmar la informacin aqui sealada llamando al Call Center 072588730, lnea gratuita 1800 887588 o al mail callcenter@utpl.edu.ec

Reciba asesora virtual en: www.utpl.edu.ec

OCTUBRE 2008 - FEBRERO 2009


MATERIAL DE USO DIDCTICO PARA ESTUDIANTES DE LA UNIVERSIDAD TCNICA PARTICULAR DE LOJA, PROHIBIDA SU REPRODUCCIN TOTAL O PARCIAL POR CUALQUIER MEDIO

TEORA DE AUTMATAS Y LENGUAJES FORMALES


Gua Didctica

Juan Carlos Torres Daz 2006, UNIVERSIDAD TCNICA PARTICULAR DE LOJA Diagramacin, diseo e impresin: EDITORIAL DE LA UNIVERSIDAD TCNICA PARTICULAR DE LOJA Call Center: 593 - 7 - 2588730, Fax: 593 - 7 - 2585977 C. P.: 11- 01- 608 www.utpl.edu.ec San Cayetano Alto s/n Loja - Ecuador Segunda edicin Cuarta reimpresin ISBN-978-9978-09-193-7 Derecho de Autor No 021313 Enero, 2008

Esta versin impresa, ha sido licenciada por el autor con Creative Commons; la misma que permite copiar, distribuir y comunicar pblicamente la obra, mientras se reconozca la autora original, no se realicen obras derivadas ni se utilice con fines comerciales. http://www.creativecommons.org/licences/by-nc-nd/3.0

NDICE
INTRODUCCIN ..................................................................................................... 5

OBJETIVO GENERAL .............................................................................................. 5 BIBLIOGRAFA ......................................................................................................... 6 ORIENTACIONES GENERALES ........................................................................... 6

PRIMER BIMESTRE
OBJETIVOS ESPECFICOS ..................................................................................... 7 CONTENIDOS ......................................................................................................... 8 DESARROLLO DEL APRENDIZAJE .................................................................. 9 CAPTULO 1. AUTMATAS FINITOS...........................................................................9 CAPTULO 2. EXPRESIONES REGULARES Y LENGUAJES REGULARES............ 17 CAPTULO 3. ANLISIS LXICO...................................................................................23

SEGUNDO BIMESTRE
OBJETIVOS ESPECFICOS .................................................................................... 31 CONTENIDOS .......................................................................................................... 32 DESARROLLO DEL APRENDIZAJE ................................................................... 33 CAPTULO 4. AUTMATAS DE PILA...........................................................................33 CAPTULO 5. GRAMTICAS INDEPENDIENTES DE CONTEXTO GIC............... 35 CAPTULO 6. MQUINAS DE TURING........................................................................37 F EVALUACIONES A DISTANCIA

Gua Didctica: Teora de Autmatas y Lenguajes Formales

INTRODUCCIN
La computacin, muy avanzada hoy en da, sienta sus bases sobre una slida plataforma desarrollada con mucho esfuerzo e investigacin, un rea importante es el trabajo con los lenguajes de programacin, cuyas races estn en la teora de autmatas y lenguajes formales. Esta asignatura forma parte del rea fundamental de la carrera de Ingeniera en Informtica correspondiente al sexto semestre. Esta asignatura tiene su importancia en que seala los aspectos bsicos de los lenguajes computacionales, as como nos muestra de manera general el trabajo interno de los sistemas de computacin en lo referente al tratamiento de cadenas y lenguajes, los contenido que se cubren son principalmente los autmatas finitos, autmatas de pila, lenguajes independientes de contexto, maquinas de turing como reconocedores de lenguajes. Sea bienvenido al presente curso y no dude en contactar a su profesor en caso de necesitar resolver cualquier inquietud. Saludos y xitos!!!

OBJETIVO GENERAL
Dar al estudiante una visin global del trabajo de los autmatas y su aplicacin en los lenguajes de programacin.

MODALIDAD ABIERTA Y A DISTANCIA

La Universidad Catlica de Loja

UTPL

Gua Didctica: Teora de Autmatas y Lenguajes Formales

BIBLIOGRAFA
TEXTO BASE
Hopcroft, J., et All, Introduccin a la Teora de Autmatas, Lenguajes y Computacin, Segunda Edicin, Adison Wesley, Madrid, 2002 Este libro tiene un espectro amplio en cuanto a que cubre desde los detalles hasta aspectos avanzados de cada tema, est expresado en trminos sencillos y solo en casos necesarios recurre a expresar con formalismos los diferentes aspectos que trata.

TEXTO COMPLEMENTARIO
Kelley, D. Teoria de Autmatas y Lenguajes Formales, Prentice Hall, Madrid 1995 Escogido por los temas que cubre y principalmente por la amplia gama de ejercicios que resuelve y plantea, ofrece un capitulo especial (el nmero cero) dedicado a aquellos que tienen problemas con las matemticas necesarias para abordar la materia. Su metodologa la basa en definiciones cortas, ejercicios resueltos con explicaciones detalladas y muchos ejercicios planteados.

ORIENTACIONES GENERALES
Estimado estudiante la presente gua seala el camino a seguir en el desarrollo de la asignatura de Lenguajes Formales y Teora de Autmatas, la gua busca orientar en el trabajo con el texto base y con el Entorno Virtual de Aprendizaje (EVA) herramienta indispensable en el desarrollo del presente curso, para ello sugiero que usted obtenga su usuario y clave e ingrese al EVA, una ves all, siga el proceso e instrucciones que se plantean, deber participar en un foro virtual por cada bimestre, responder auto evaluaciones y descargar ejercicios planteados. Siga las instrucciones que se dan para cada uno de los captulos de la gua, y principalmente comente los diferentes temas con sus compaeros y profesor a travs del EVA. Una organizacin adecuada de las actividades asegura un buen porcentaje del aprendizaje, por esa razn es conveniente que siga las instrucciones que a continuacin le sugiero: Establezca un horario, es recomendable que estudie esta materia por lo menos una hora diaria. Escoja un momento y lugar tranquilo para estudiar Utilice siempre un cuaderno de notas Todas las dudas que tenga llvelas al EVA a sus compaeros y profesores

UTPL

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

Gua Didctica: Teora de Autmatas y Lenguajes Formales

P RIMER

BIMESTRE

OBJETIVOS ESPECFICOS
Conocer como funcionan los lenguajes. Especificar lenguajes regulares y autmatas finitos para reconocimiento. Escribir programas de reconocimiento lxico. Especificar lenguajes independientes de contexto y autmatas de pila para reconocimiento. Construir mquinas de turng para reconocer lenguajes. Escribir gramticas de contexto libre. Escribir programas de anlisis sintctico

MODALIDAD ABIERTA Y A DISTANCIA

La Universidad Catlica de Loja

UTPL

Gua Didctica: Teora de Autmatas y Lenguajes Formales

CONTENIDOS
PRIMER bIMESTRE
Capitulo I: Autmatas finitos
Para qu sirven los autmatas finitos? Porqu estudiar teora de autmatas? Representaciones estructurales Autmatas y complejidad Alfabetos, cadenas y lenguajes Descripcin informal de los autmatas finitos Autmatas finitos deterministas Autmatas finitos no deterministas

Capitulo II : Expresiones regulares y lenguajes regulares


Construccin de E-R Precedencia de operadores de E-R Conversin de E-R en autmatas finitos

Capitulo III: Anlisis lxico


Anlisis lxico

UTPL

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

Gua Didctica: Teora de Autmatas y Lenguajes Formales

DESARROLLO DEL APRENDIZAJE


captulo 1 1. GENERALIDADES AUTMATAS FINITOS
Contenidos Captulo 1 Am

Datos Generales:

Texto base Captulo Pginas Captulo Pginas Captulo Pginas

Introduccin a la teora de autmatas, lenguajes y computacin 1. Para qu sirven los autmatas? 1-6 Horas de estudio empleadas para el desarrollo del contenido Horas de estudio empleadas para el desarrollo del contenido 2. Autmatas finitos 41 - 90 Horas de estudio empleadas para el desarrollo del contenido 10 horas 1 horas

1.5 Conceptos centrales de la teora de autmatas 32-37 1 horas

DESARROLLO
Estimado(a) estudiante, en este primer capitulo se van a tratar los temas iniciales de la Teora de Autmatas, para un mejor entendimiento los temas se plantean en la siguiente tabla con recomendaciones que pueden guiar su trabajo.

MODALIDAD ABIERTA Y A DISTANCIA

La Universidad Catlica de Loja

UTPL

Gua Didctica: Teora de Autmatas y Lenguajes Formales

Tema a revisar

Descripcin del contenido

Actividades recomendadas

Para qu sirven los Descripcin del uso Lectura de las pginas 1 y 2 autmatas finitos? de los autmatas Ingresar al Entorno Virtual de Aprendizaje (EVA) y consultar con los(as) participantes del curso y con el profesor Porqu estudiar Descripcin de las Lectura de las pginas 2, 3 y 4 teora de aplicaciones de los Elabore un cuadro de las principales autmatas? autmatas, aplicaciones de los autmatas Observar y ejecutar el modelo de autmata de interruptor de la pgina 3 Observar y ejecutar el autmata de la figura 1.2 pgina 4 Representaciones Descripcin de la Lectura de la seccin 1.1.2 del texto base estructurales notacin gramatical y expresiones regulares Autmatas complejidad y Lectura de la seccin 1.1.3 Ingresar al Entorno Virtual de Aprendizaje (EVA) y responda la autoevaluacin plateada

Alfabetos, cadenas A l f a b e t o s , Lectura de la seccin 1..5 y lenguajes construccin de cadenas, operaciones con lenguajes

10

UTPL

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

Gua Didctica: Teora de Autmatas y Lenguajes Formales

Tema a revisar

Descripcin del contenido

Actividades recomendadas

A u t m a t a s G e n e r a l i d a d e s Lectura de las pginas 41 y 42 f i n i t o s : sobre los Ingresar al Entorno Virtual de Aprendizaje (EVA) introduccin autmatas finitos y consultar con los(as) participantes del curso y con el profesor Descripcin informal de los autmatas finitos Presentacin del Lectura de las pginas 42 50 funcionamiento Entender las reglas bsicas del proceso de un AF a travs mostradas en la pgina 43 de un ejemplo Analizar detenidamente los autmatas de la pgina 44, en las paginas 44 y 45 se halla la descripcin de su funcionamiento y Lectura de las pginas 50 60 de Tome nota de la definicin formal de un autmata finito determinista (AFD) Determine como trabaja la funcin de transicin extendida Determinar la diferencia entre una tabla de transiciones y un diagrama de transiciones Ingresar al Entorno Virtual de Aprendizaje (EVA) y responda la autoevaluacin plateada Lectura de las pginas 61-74 Determine que es un autmata finito no determinista (AFND) Tome nota de la definicin formal Determine como trabaja la funcin de transicin extendida Determine cual es el lenguaje que acepta un AFND Determinar las principales aplicaciones de los autmatas finitos. Seccin 2.4. Observar el autmata de la figura 2.16, pgina 76 Determinar cual es la utilidad de una transicin vaca Ingresar al Entorno Virtual de Aprendizaje (EVA) y descargue materiales complementario y ejercicios planteado y resueltos sobre el tema Ingrese al Entorno Virtual de Aprendizaje (EVA) y participe en el foro del primer bimestre, las indicaciones precisas estn descritas en el foro.

A u t m a t a s Definicin f i n i t o s graficacin deterministas autmatas

Autmatas finitos no deterministas

MODALIDAD ABIERTA Y A DISTANCIA

La Universidad Catlica de Loja

UTPL

11

Gua Didctica: Teora de Autmatas y Lenguajes Formales

Construccin de autmatas
Disear un AFD que acepte identificadores que inicien siempre con un guin bajo y luego puedan contener letras o dgitos. Inicialmente debemos asociar la condicin inicial al estado inicial, esto significa que desde el primer estado al segundo estado nicamente puede existir una transicin que etiquetada con guin bajo.

Una vez en el estado dos, se puede avanzar hacia el estado tres con una transicin etiquetada con letra (L) o con digito (D).

Ahora es necesario que la cadena pueda tener mas letras o ms dgitos, esto se puede conseguir haciendo que desde el estado 3 salga una arista etiquetada con letra (L) hacia otro estado (que puede ser el mismo estado 3). Lo mismo hay que hacer para reconocer ms dgitos.

Desarrollemos ahora otro autmata que reconozca cadenas de letras (sobre el alfabeto {a,b}) en las que nunca puedan ir dos as seguidas La condicin inicial no esta asociada al estado inicial, el autmata puede empezar con una letra a o con una letra b

12

UTPL

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

Gua Didctica: Teora de Autmatas y Lenguajes Formales

Ahora puede tener otra letra b con la que regresa al estado 1. Note que siempre termina en el estado 2.

Es posible construir autmatas que tengan transiciones vacas, es decir que sus aristas no tienen como etiqueta smbolos del alfabeto del autmata, en su lugar tienen vaco (), generalmente las transiciones vacas se utilizan para unir autmatas, como en el caso de la figura 2.19 de la pgina 81 del texto base. Transformacin de un AFN en un AFD. El procedimiento consiste en agrupar los conjuntos de estados que tengan entradas y salidas (aristas) comunes, para ello se crea una tabla de transiciones (representacin del AFD), esta matriz (llamada Matriz_de_D) tiene como ndices el conjunto de estados (con aristas comunes) y los elementos del alfabeto. Son necesarias tres operaciones cuyos resultados se requieren al aplicar el algoritmo de transformacin: Cerradura- de s.- Equivale al conjunto de estados del AFN que se pueden alcanzar desde s sin consumir smbolos de la entrada (o lo que es lo mismo con transiciones-e). Esta operacin devuelve un conjunto de elementos (estados). Cerradura-e de T.- Sea T un conjunto de estados, esta operacin equivale al conjunto de estados del AFN que se pueden alcanzar desde cada s en T sin consumir smbolos de la entrada (o lo que es lo mismo con transiciones-e). Esta operacin devuelve un conjunto de elementos (estados). Mueve (T, a).- Equivale al conjunto de estados que se pueden alcanzar con un smbolo a (arista etiquetada con a ) desde algn estado s de T. Esta operacin devuelve un conjunto de elementos (estados).

MODALIDAD ABIERTA Y A DISTANCIA

La Universidad Catlica de Loja

UTPL

13

Gua Didctica: Teora de Autmatas y Lenguajes Formales

En caso de tener problemas, recuerde que s es un estado; T es un conjunto de estados en donde cada uno en su momento se representa por s; a es un smbolo que etiqueta una arista que va desde un estado a otro. Por conveniencia se denominan el AFN como N y el AFD como D. Algoritmo 1. Inicio 2. A = Cerradura- de s /* Cerradura vaca del estado inicial del AFN */ 0 3. Agregar A al conjunto Estados_de_D /* Se crea un conjunto con el elemento A */ 4. Para cada conjunto del conjunto Estados_de_D /* Se recorre ese conjunto */ 5. T = Conjunto del conjunto Estados_de_D /* Se toma un elemento */ 6. Para cada elemento del alfabeto 7. a := elemento del alfabeto 8. U = Cerradura-e (mueve(T, a)) 9. Si U no est en Estados_de_D 10. Agregar U a Estados_de_D 11. FinSi 12. Matriz_de_D[T, a] := U 13. FinPara 14. FinPara 15. Fin_del_algoritmo Como ejercicio vamos a tomar el diagrama del autmata no determinista siguiente:

14

UTPL

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA