Automatas No 1.pdf

download Automatas No 1.pdf

of 14

Transcript of Automatas No 1.pdf

  • 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 : [email protected]

    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 [email protected]

    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: