Post on 03-Jun-2018
8/13/2019 Automatas No 1.pdf
1/14
T
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJALa Universidad Católica de Loja
MODALIDAD ABIERTA Y A DISTANCIA
CARRERA : Ingeniería en Informática
PROFESOR(A) : Ing. Juan Carlos Torres Díaz
TELÉFONO : (07) 2 570 275 Ext. 2322E-MAIL : jctorres@utpl.edu.ec
TUTORÍA : Lunes de 08h00 a 12h00
Estimado Estudiante, dígnese confirmar la información aqui señalada llamando al Call Center 072588730, línea gratuita 1800 887588o al mail callcenter@utpl.edu.ec
DATOS DE IDENTIFICACIÓN:
MATERIAL DE USO DIDÁCTICO PARA ESTUDIANTES DE LA UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA,PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL POR CUALQUIER MEDIO
Reciba asesoría virtual en: www.utpl.edu.ec
ESCUELA DE CIENCIAS DE LA COMPUTACIÓN
Guía Didáctica
CICLO
6
EORÍA DE AUTÓMATAS Y
LENGUAJES FORMALES
18604
OCTUBRE 2008 - FEBRERO 2009
8/13/2019 Automatas No 1.pdf
2/14
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALESGuía DidácticaJuan Carlos Torres Díaz
© 2006, UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
Diagramación, diseño e impresión:EDITORIAL DE LA UNIVERSIDAD TÉCNICA PARTICULAR DE LOJACall Center: 593 - 7 - 2588730, Fax: 593 - 7 - 2585977C. P.: 11- 01- 608www.utpl.edu.ec
San Cayetano Alto s/nLoja - Ecuador
Segunda ediciónCuarta reimpresión
ISBN-978-9978-09-193-7Derecho de Autor No 021313
Enero, 2008
Esta versión impresa, ha sido licenciada por el autor con Creative Commons; la misma que permite copiar, distribuir y comunicar públicamente
la obra, mientras se reconozca la autoría original, no se realicen obras derivadas ni se utilice con fines comerciales.http://www.creativecommons.org/licences/by-nc-nd/3.0
8/13/2019 Automatas No 1.pdf
3/14
INTRODUCCIÓN ..................................................................................................... 5
OBJETIVO GENERAL .............................................................................................. 5
BIBLIOGRAFÍA ......................................................................................................... 6
ORIENTACIONES GENERALES ........................................................................... 6
PRIMER BIMESTRE
OBJETIVOS ESPECÍFICOS ..................................................................................... 7
CONTENIDOS ......................................................................................................... 8
DESARROLLO DEL APRENDIZAJE .................................................................. 9
CAPÍTULO 1. AUTÓMATAS FINITOS...........................................................................9CAPÍTULO 2. EXPRESIONES REGULARES Y LENGUAJES REGULARES............ 17
CAPÍTULO 3. ANÁLISIS LÉXICO...................................................................................23
SEGUNDO BIMESTRE
OBJETIVOS ESPECÍFICOS .................................................................................... 31
CONTENIDOS .......................................................................................................... 32
DESARROLLO DEL APRENDIZAJE ................................................................... 33
CAPÍTULO 4. AUTÓMATAS DE PILA...........................................................................33CAPÍTULO 5. GRAMÁTICAS INDEPENDIENTES DE CONTEXTO GIC............... 35
CAPÍTULO 6. MÁQUINAS DE TURING........................................................................37
EVALUACIONES A DISTANCIAF
ÍNDICE
8/13/2019 Automatas No 1.pdf
4/14
8/13/2019 Automatas No 1.pdf
5/14
UTPLLa Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA 5
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
La computación, muy avanzada hoy en día, sienta sus bases sobre una sólida plataformadesarrollada con mucho esfuerzo e investigación, un área importante es el trabajo con loslenguajes de programación, cuyas raíces están en la teoría de autómatas y lenguajes formales.Esta asignatura forma parte del área fundamental de la carrera de Ingeniería en Informáticacorrespondiente al sexto semestre.
Esta asignatura tiene su importancia en que señala los aspectos básicos de los lenguajes
computacionales, así como nos muestra de manera general el trabajo interno de los sistemasde computación en lo referente al tratamiento de cadenas y lenguajes, los contenido que secubren son principalmente los autómatas finitos, autómatas de pila, lenguajes independientesde contexto, maquinas de turing como reconocedores de lenguajes.
Sea bienvenido al presente curso y no dude en contactar a su profesor en caso de necesitarresolver cualquier inquietud. Saludos y éxitos!!!
¸ Dar al estudiante una visión global del trabajo de los autómatas y su aplicación enlos lenguajes de programación.
INTRODUCCIÓN
OBJETIVOG ENERAL
8/13/2019 Automatas No 1.pdf
6/14
UTPL La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA6
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
TEXTO BASEHopcroft, J., et All, Introducción a la Teoría de Autómatas, Lenguajes y Computación,Segunda Edición, Adison Wesley, Madrid, 2002
Este libro tiene un espectro amplio en cuanto a que cubre desde los detalles hasta aspectosavanzados de cada tema, está expresado en términos sencillos y solo en casos necesariosrecurre a expresar con formalismos los diferentes aspectos que trata.
TEXTO COMPLEMENTARIOKelley, D. Teoria de Autómatas y Lenguajes Formales, Prentice Hall, Madrid 1995Escogido por los temas que cubre y principalmente por la amplia gama de ejercicios queresuelve y plantea, ofrece un capitulo especial (el número cero) dedicado a aquellos quetienen problemas con las matemáticas necesarias para abordar la materia. Su metodologíala basa en definiciones cortas, ejercicios resueltos con explicaciones detalladas y muchosejercicios planteados.
Estimado estudiante la presente guía señala el camino a seguir en el desarrollo de laasignatura de Lenguajes Formales y Teoría de Autómatas, la guía busca orientar en el trabajocon el texto base y con el Entorno Virtual de Aprendizaje (EVA) herramienta indispensableen el desarrollo del presente curso, para ello sugiero que usted obtenga su usuario y clave eingrese al EVA, una ves allí, siga el proceso e instrucciones que se plantean, deberá participaren un foro virtual por cada bimestre, responder auto evaluaciones y descargar ejerciciosplanteados.
Siga las instrucciones que se dan para cada uno de los capítulos de la guía, y principalmentecomente los diferentes temas con sus compañeros y profesor a través del EVA.
Una organización adecuada de las actividades asegura un buen porcentaje del aprendizaje,por esa razón es conveniente que siga las instrucciones que a continuación le sugiero:
• Establezca un horario, es recomendable que estudie esta materia por lo menos unahora diaria.
• Escoja un momento y lugar tranquilo para estudiar
• Utilice siempre un cuaderno de notas
• Todas las dudas que tenga llévelas al EVA a sus compañeros y profesores
B IBLIOGRAFÍA
ORIENTACIONESG ENERALES
8/13/2019 Automatas No 1.pdf
7/14
UTPLLa Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA 7
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
PRIMERRIMERBIMESTREBIMESTRE
OBJETIVOS E SPECÍFICOS
• Conocer como funcionan los lenguajes.
• Especificar lenguajes regulares y autómatas finitos para reconocimiento.
• Escribir programas de reconocimiento léxico.
• Especificar lenguajes independientes de contexto y autómatas de pila para• reconocimiento.
• Construir máquinas de turíng para reconocer lenguajes.
• Escribir gramáticas de contexto libre.
• Escribir programas de análisis sintáctico
8/13/2019 Automatas No 1.pdf
8/14
UTPL La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA8
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
PRIMER BIMESTRE
Capitulo I: Autómatas fnitos¿Para qué sirven los autómatas finitos?¿Porqué estudiar teoría de autómatas?Representaciones estructuralesAutómatas y complejidadAlfabetos, cadenas y lenguajes
Descripción informal de los autómatas finitosAutómatas finitos deterministasAutómatas finitos no deterministas
Capitulo II : Expresiones regulares y lenguajes regularesConstrucción de E-RPrecedencia de operadores de E-RConversión de E-R en autómatas finitos
Capitulo III: Análisis léxico
Análisis léxico
C ONTENIDOS
8/13/2019 Automatas No 1.pdf
9/14
UTPLLa Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA 9
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
ContenidosCapítulo 1 AmDatos Generales:
Texto base Introducción a la teoría de autómatas, lenguajes y computación
Capítulo 1. Para qué sirven los autómatas?
Páginas 1-6Horas de estudio empleadas
para el desarrollo del
contenido
1
horas
Capítulo 1.5 Conceptos centrales de la teoría de autómatas
Páginas 32-37Horas de estudio empleadas
para el desarrollo del
contenido
1
horas
Capítulo 2. Autómatas fnitos
Páginas 41 - 90Horas de estudio empleadaspara el desarrollo del
contenido
10
horas
DESARROLLO
Estimado(a) estudiante, en este primer capitulo se van a tratar los temas iniciales de la Teoríade Autómatas, para un mejor entendimiento los temas se plantean en la siguiente tabla conrecomendaciones que pueden guiar su trabajo.
DESARROLLO DEL A PRENDIZAJE
1. GENERALIDADES
capítulo 1
AUTÓMATAS FINITOS
8/13/2019 Automatas No 1.pdf
10/14
UTPL La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA10
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
Tema a revisar Descripción delcontenido Actividades recomendadas
¿Para qué sirven los
autómatas finitos?
Descripción del uso
de los autómatas
• Lectura de las páginas 1 y 2
• Ingresar al Entorno Virtual de Aprendizaje (EVA) y consultar con los(as) participantes del curso y con el profesor
¿Porqué estudiarteoría deautómatas?
Descripción de lasaplicaciones de losautómatas,
• Lectura de las páginas 2, 3 y 4• Elabore un cuadro de las principales
aplicaciones de los autómatas• Observar y ejecutar el modelo de
autómata de interruptor de la página 3• Observar y ejecutar el autómata de la
figura 1.2 página 4
Representacionesestructurales
Descripción de lanotación gramaticaly expresionesregulares
• Lectura de la sección 1.1.2 del texto base
Autómatas ycomplejidad
• Lectura de la sección 1.1.3• Ingresar al Entorno Virtual de Aprendizaje
(EVA) y responda la autoevaluación plateada
Alfabetos, cadenasy lenguajes
A l f a b e t o s ,c o n s t r u c c i ó nde cadenas,operaciones conlenguajes
• Lectura de la sección 1..5
8/13/2019 Automatas No 1.pdf
11/14
UTPLLa Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA 11
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
Tema a revisar Descripción delcontenido Actividades recomendadas
A u t ó m a t a sf i n i t o s :introducción
Generalidadessobre losautómatas finitos
• Lectura de las páginas 41 y 42
• Ingresar al Entorno Virtual de Aprendizaje (EVA)y consultar con los(as) participantes del curso ycon el profesor
D e s c r i p c i ó ninformal delos autómatasfinitos
Presentación delfuncionamientode un AF a travésde un ejemplo
• Lectura de las páginas 42 – 50• Entender las reglas básicas del proceso
mostradas en la página 43• Analizar detenidamente los autómatas de la
página 44, en las paginas 44 y 45 se halla ladescripción de su funcionamiento
A u t ó m a t a sf i n i t o sdeterministas
Definición ygraficación deautómatas
• Lectura de las páginas 50 – 60• Tome nota de la definición formal de un
autómata finito determinista (AFD)• Determine como trabaja la función de transición
extendida• Determinar la diferencia entre una tabla de
transiciones y un diagrama de transiciones• Ingresar al Entorno Virtual de Aprendizaje (EVA)
y responda la autoevaluación plateada
A u t ó m a t a sfinitos nodeterministas
• Lectura de las páginas 61-74• Determine que es un autómata finito no
determinista (AFND)• Tome nota de la definición formal• Determine como trabaja la función de transición
extendida• Determine cual es el lenguaje que acepta un
AFND• Determinar las principales aplicaciones de
los autómatas finitos. Sección 2.4. Observar el
autómata de la figura 2.16, página 76• Determinar cual es la utilidad de una transición
vacía• Ingresar al Entorno Virtual de Aprendizaje
(EVA) y descargue materiales complementarioy ejercicios planteado y resueltos sobre el tema
• Ingrese al Entorno Virtual de Aprendizaje (EVA)y participe en el foro del primer bimestre, lasindicaciones precisas están descritas en el foro.
8/13/2019 Automatas No 1.pdf
12/14
UTPL La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA12
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
Construcción de autómatas
Diseñar un AFD que acepte identificadores que inicien siempre con un guión bajo yluego puedan contener letras o dígitos.
Inicialmente debemos asociar la condición inicial al estado inicial, esto significa quedesde el primer estado al segundo estado únicamente puede existir una transición queetiquetada con guión bajo.
Una vez en el estado dos, se puede avanzar hacia el estado tres con una transiciónetiquetada con letra (L) o con digito (D).
Ahora es necesario que la cadena pueda tener mas letras o más dígitos, esto se puedeconseguir haciendo que desde el estado 3 salga una arista etiquetada con letra (L) haciaotro estado (que puede ser el mismo estado 3). Lo mismo hay que hacer para reconocermás dígitos.
Desarrollemos ahora otro autómata que reconozca cadenas de letras (sobre el alfabeto{a,b}) en las que nunca puedan ir dos a’s seguidas
La condición inicial no esta asociada al estado inicial, el autómata puede empezar conuna letra a o con una letra b
8/13/2019 Automatas No 1.pdf
13/14
UTPLLa Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA 13
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
Ahora puede tener otra letra b con la que regresa al estado 1. Note que siempre terminaen el estado 2.
Es posible construir autómatas que tengan transiciones vacías, es decir que sus aristasno tienen como etiqueta símbolos del alfabeto del autómata, en su lugar tienen vacío (ε),generalmente las transiciones vacías se utilizan para unir autómatas, como en el caso de lafigura 2.19 de la página 81 del texto base.
Transformación de un AFN en un AFD.
El procedimiento consiste en agrupar los conjuntos de estados que tengan entradas ysalidas (aristas) comunes, para ello se crea una tabla de transiciones (representación delAFD), esta matriz (llamada Matriz_de_D) tiene como índices el conjunto de estados (conaristas comunes) y los elementos del alfabeto.
Son necesarias tres operaciones cuyos resultados se requieren al aplicar el algoritmo detransformación:
Cerradura-ε de s.- Equivale al conjunto de estados del AFN que se pueden alcanzar des-
de s sin consumir símbolos de la entrada (o lo que es lo mismo con transiciones-e). Estaoperación devuelve un conjunto de elementos (estados).
Cerradura-e de T.- Sea T un conjunto de estados, esta operación equivale al conjunto deestados del AFN que se pueden alcanzar desde cada s en T sin consumir símbolos de laentrada (o lo que es lo mismo con transiciones-e). Esta operación devuelve un conjuntode elementos (estados).
Mueve (T, a).- Equivale al conjunto de estados que se pueden alcanzar con un símbolo a(arista etiquetada con a ) desde algún estado s de T. Esta operación devuelve un conjunto
de elementos (estados).
8/13/2019 Automatas No 1.pdf
14/14
UTPL La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA14
Guía Didáctica: Teoría de Autómatas y Lenguajes Formales
En caso de tener problemas, recuerde que s es un estado; T es un conjunto de estados endonde cada uno en su momento se representa por s; a es un símbolo que etiqueta unaarista que va desde un estado a otro.
Por conveniencia se denominan el AFN como N y el AFD como D.
Algoritmo1. Inicio2. A = Cerradura-ε de s
0 /* Cerradura vacía del estado inicial del AFN */
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 alfabeto7. a := elemento del alfabeto
8. U = Cerradura-e (mueve(T, a))9. Si U no está en Estados_de_D10. Agregar U a Estados_de_D11. FinSi12. Matriz_de_D[T, a] := U13. FinPara14. FinPara15. Fin_del_algoritmo
Como ejercicio vamos a tomar el diagrama del autómata no determinista siguiente: