Unidad 4. Autómatas de Pila

Documentos relacionados
Unidad 4. Autómatas de Pila

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Traductores Push Down

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Computabilidad y Lenguajes Formales: Autómatas de Pila

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Tema: Autómata de Pila

GRAMATICAS LIBRES DEL CONTEXTO

Autómatas de Pila y Lenguajes Incontextuales

Clase 17: Autómatas de pila

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

16 Análisis sintáctico I

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA)

El Autómata con Pila: Transiciones

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1

1. Cadenas EJERCICIO 1

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

El Autómata con Pila

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

Procesadores de Lenguaje

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Equivalencia Entre PDA y CFL

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Universidad de Valladolid

Tema: Autómatas de Estado Finitos

Analizador De léxico. V A R i : I N T E G E R ; \n...

GRAMÁTICAS LIBRES DE CONTEXTO

Capítulo 9. Introducción a los lenguajes formales. Continuar

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez

Clase 14: Gramáticas libres de contexto

Sentido de recorrido. q i

Introducción a la Lógica y la Computación

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

El proceso del Análisis Léxico

7. Máquinas de Turing.

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Autómatas Finitos y Lenguajes Regulares

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO

Conceptos básicos sobre gramáticas

Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares. Luis Peña

Modelos Computacionales

Introducción a la Lógica y la Computación

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Lenguajes (gramáticas y autómatas)

Computabilidad y Lenguajes Formales: Autómatas Finitos

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

Traductores Push Down para Gramáticas LL

Uno de los conceptos más útiles en ciencias de la computación es la pila.

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

Convertir un AFND a un AFD

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS

Compiladores: Sesión 3. Análisis léxico, expresiones regulares

Computabilidad y lenguajes formales: Sesión 18. Lema de bombeo (Pumping lemma)

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Analizador Sintáctico Ascendente

Procesadores de Lenguaje

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Analizadores sintácticos LR(0) y SLR

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Clase 08: Autómatas finitos

Teoría de la Computación

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

Expresiones regulares y derivadas

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Expresiones regulares, gramáticas regulares

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa

Gramáticas libres de contexto

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Estructuras Dinámicas de datos.

Universidad Nacional del Santa Facultad de Ingeniería E.A.P. de Ingeniería de Sistemas e Informática TEORIA DE COMPILADORES ANALISIS SINTACTICO

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Lenguajes y Gramáticas

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 4

Tarea Nº 2 Introducción a la Informática Lema del Bombeo y Lenguajes de Contexto Libre

Agenda. Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo

Ciencias de la Computación I

Tema 5. Análisis sintáctico ascendente

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Departamento de Tecnologías de la Información. Tema 3. Autómatas finitos y autómatas de pila. Ciencias de la Computación e Inteligencia Artificial

Lenguajes Libres del Contexto

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes

Tema 4. Autómatas Finitos

Transcripción:

Unidad 4. Autómatas de Pila

Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0n1n} debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje es el de las expresiones con paréntesis balanceados. Que se pueden extender para describir expresiones anidadas usadas en los lenguajes de programación. Aún cuando los lenguajes regulares permiten describir identificadores, palabras claves y patrones de uso común en computación necesitamos un modelo más poderoso para describir las estructuras sintácticas de los lenguajes de programación. Las gramaticas Libres de Contexto (GLC) y los lenguajes que generan (Lenguajes Libres de Contexto) que permiten definir la sintaxis de los lenguajes de programación.

Ejemplo

Autómatas de Pila (Push Down Automata) Los modelos mecánicos que corresponden a las GLC son los Autómatas de Pila que son como los AF pero tienen adicionalmente una pila para almacenamiento. Operaciones Push (empilar un elemento en el tope) Pop (desempilar el elemento situado en el tope) Registra información en forma LIFO (primero en entrar, último en salir).

Ejemplo Para reconoce el lenguaje {0n1n} un AP puede empliar cada 0 que lea y cuando inicie a leer 1 s desempila los 0 que ya tiene en la pila. Si al final de la cadena de entrada se vació la pila entonces acepta la cadena, de lo contrario la rechaza.

Esquema de un Autómata de Pila (AP)

AP El AP lee símbolos de izquierda a derecha de su cinta de entrada. En cada paso la máquina desempila el símbolo en el tope de la pila lee el símbolo en la cinta bajo la cabeza lectora y en base al estado actual puede empilar una secuencia de símbolos en la pila, mover la cabeza lectora a la derecha y entrar en un nuevo estado de acuerdo a la regla de transición. También permite transiciones-ɛ en las que puede desempilar y empilar símbolos sin leer el siguiente símbolo de entrada de su cinta (o sin mover la cabeza lectora). Aunque puede almacenar una cantidad ilimitada de información en su pila, no puede leer símbolos de la misma en orden arbitrario, primero debe desempilar los símbolos situados en la parte superior (tope) de la misma, en cuyo caso se pierden. Por lo que el acceso a la información de la pila es limitada.

Definición AP no determinístico Un AP no determinístico es una tupla: M=< Q,, Γ, δ, q0,, F > Donde:

Transiciones La transición Significa que estando la máquina en el estado p leyendo el símbolo de entrada a en la cinta y estando A en el tope de la pila, puede desempilar A y empilar a los símbolos B1B2 Bk (B1 en el tope y Bk al fondo), mover su cabeza lectora una celda a la derecha de a y entrar en el estado q.

Transición

Por otra parte, la descripción de transición. Significa que estando la máquina en el estado p con A en el tope de la pila, a continuación desempila A y empila B 1 B 2 B k (B 1 primero y B k al final) deja su cabeza lectora donde está (no la mueve) y entra al estado q. Una manera equivalente de denotar la transición anterior es En general Para todo 1 <= i <= m.

Configuración Una configuración ó descripción instantánea de un AP registra el estado actual (un elemento de Q X * X Γ*), así como la porción de la cinta de entrada aún no leída (todo lo situado a la derecha de la cabeza lectora) y el contenido actual de la pila. Una configuración ofrece información completa del estado global de la máquina en un instante durante un cómputo.

Ejemplo La configuración

Configuración inicial La máquina siempre inicia en el estado inicial q0 con la cabeza lectora apuntando al símbolo de w situado más a la izquierda y la pila vacía.

Definición Siguiente configuración La relación Siguiente Configuración indicada por M describe cómo el AP M cambia de una configuración a otra en un solo paso, solamente hay dos casos:

Aceptación

Aceptación

Ejemplo AP que reconoce el lenguaje de paréntesis balanceados (, ) por vaciado de pila:

Computo Cadena de entrada (())() :

Ejercicio Construir el AP para a n b n

Solución Construir el AP para a n b n

Ejercicio Construir el AP para a n b n Nota: mejorar propuesta de solución

Ejercicio Construye un AP para el conjunto {ww R }

Solución Construye un AP para el conjunto {ww R } Nota: mejorar propuesta de solución

Ejercicios Encuentra un AP para cada uno de los siguientes lenguajes: {ab n cd n n >=0} Todas las cadenas de {a,b} con el mismo número de a s y b s. {wcw R w {a,b}* } {a n b n+2 n>=0} Encuentra un AF que por estado final obtenga: {a n b n n>=0} {a n b 2n n >=0}