Computabilidad y Lenguajes Formales: Autómatas de Pila

Documentos relacionados
Computabilidad y Lenguajes Formales: Autómatas Finitos

Autómatas de Pila y Lenguajes Incontextuales

Unidad 4. 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

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

Equivalencia Entre PDA y CFL

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

Autómatas Finitos Deterministicos (DFA)

El Autómata con Pila

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

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

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

El Autómata con Pila: Transiciones

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

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

Tema: Autómata de Pila

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

Procesadores de Lenguaje

Expresiones Regulares y Derivadas Formales

Clase 17: Autómatas de pila

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

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Lenguajes (gramáticas y autómatas)

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

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

Lenguajes, Gramáticas y Autómatas Conceptos

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

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

Expresiones regulares, gramáticas regulares

Sentido de recorrido. q i

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

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

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

Autómatas Deterministas. Ivan Olmos Pineda

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

Procesadores de Lenguaje

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3

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

3.3 Autómatas de Pila (AP) [LP81, sec 3.3]

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

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

GRAMATICAS LIBRES DEL CONTEXTO

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

Tema 5 Lenguajes independientes del contexto. Sintaxis

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

Autómatas finitos no deterministas (AFnD)

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

LENGUAJES FORMALES Y AUTÓMATAS

Traductores Push Down para Gramáticas LL

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

13.3. MT para reconocer lenguajes

06 Análisis léxico II

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Propiedades de los Lenguajes Libres de Contexto

Bases Formales de la Computación: Sesión 3. Modelos Ocultos de Markov

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Capítulo 7: Expresiones Regulares

ESCUELA: UNIVERSIDAD DEL ISTMO

Lenguajes y Gramáticas

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Modelos Computacionales

Teoría de la Computación

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

Convertir un AFND a un AFD

Introducción a los Autómatas Finitos

Clase 09: AFN, AFD y Construcción de Thompson

IIC2213. IIC2213 Teorías 1 / 42

Capítulo 1 Lenguajes formales 6

Herramientas. 1 FormaLex, Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina

Tema 2: Autómatas finitos

Bases Formales de la Computación

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Máquinas de Estados Finitos

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

Algoritmic game theory - IIC3810

Lenguajes Regulares. Antonio Falcó. - p. 1


Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

Clase 08: Autómatas finitos

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación

Teoría de la Computabilidad

Clase 03: Alfabetos, símbolos y cadenas

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales

Autómatas Finitos y Lenguajes Regulares

Lenguajes No Regulares

2: Autómatas finitos y lenguajes regulares.

Complejidad computacional (Análisis de Algoritmos)

Introducción a los códigos compresores

ARITMÉTICA MODULAR. Unidad 1

Lenguajes Formales. 27 de octubre de 2005

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones:

Transcripción:

300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2]

Autómatas de Pila (PushDown Autómata PDA) Un PDA se compone de dos cintas (pueden ser de longitud infinita), la primera cinta contiene la entrada (cadena que va a ser reconocida), y la segunda una pila. Son equivalentes en poder de expresión a las Gramáticas Libres de Contexto Pila x y z Entrada a a a Control de Estados b

Autómatas de Pila (PDA) Formalmente un PDA es una 7-tupla (Q,, Γ, δ, q 0, z 0, F), donde: Q es un conjunto finito de estados es el alfabeto de entrada (un conjunto finito) Γ es el alfabeto de la pila (un conjunto finito) δ : Qx ε xγ ε P(QxΓ ε ) es la función de transición q 0 Q es el estado de inicio z 0 Γ es el símbolo de inicio F Q es el conjunto de estados de aceptación (un conjunto finito)

Autómatas de Pila (PDA) Un PDA funciona realizando dos tipos de movimientos: Movimientos que dependen del símbolo siguiente en la cadena de entrada: δ(q, a, z) = { (p 1, γ 1 ), (p 2, γ 2 ), (p m, γ m ) } Donde q y p i, 1 i m, son estados, a, z Γ, γ i Γ*, 1 i m, tales que cuando el PDA está en el estado q, con el símbolo de entrada a, y z en el tope de la pila, para algún i, el PDA entra al estado p i, reemplaza a z por la cadena γ i, y avanza en la cadena de entrada.

Autómatas de Pila (PDA) Un PDA funciona realizando dos tipos de movimientos: ε-movimientos: δ(q, ε, z) = { (p 1, γ 1 ), (p 2, γ 2 ), (p m, γ m ) } Donde q y p i, 1 i m, son estados, z Γ, γ i Γ*, 1 i m, tales que cuando el PDA está en el estado q, independiente del símbolo en la cadena de entrada, con z en el tope de la pila, para algún i, el PDA puede entrar al estado p i, reemplaza a z por la cadena γ i.

Autómatas de Pila (PDA): Ejemplo M = (Q,, Γ, δ, q 0, $, F), donde: Q = {q0, q 1, q 2,q 3 } = { a, b, c }, Γ = { a, b, $ } δ = { (q0, ε, ε) (q 1, $), (q 1, a, ε) (q 1, a), (q 1, b, ε) (q 1, b), (q 1, c, ε) (q 2, ε), (q 2, a, a) (q 2, ε), (q 2, b, b) (q 2, ε), (q 2, ε, $) (q 3, ε) } F = {q3 } Que lenguaje reconoce este PDA? q 0 q 3 ε,ε $ ε,$ ε q 2 q1 a,ε a b,ε b c,ε ε a,a ε b,b ε

PDA Determinista Un PDA M = (Q,, Γ, δ, q 0, $, F), es determinista si: Para todo q Q y z Γ, siempre que δ (q, ε, z) no es vacío, entonces δ (q, a, z) es vacía para todo a No existe un q Q, z Γ, y a ε, tal que δ (q, a, z) contiene mas de un elemento. Los PDA Deterministas no son equivalentes a los PDA no deterministas, en cuanto al conjunto de lenguajes que aceptan. Ejemplo: que sucede con el lenguaje L = { ww R : w {a, b}* }?

Equivalencia de PDA y CFG Teorema: Un Lenguaje es Libre de Contexto (CFL) si y solo si existe algún autómata de pila que lo reconoce Lema 1: Si un Lenguaje es Libre de Contexto (CFL) entonces existe algún autómata de pila que lo reconoce Lema 2: Si un autómata de pila reconoce un lenguaje, entonces el Lenguaje es Libre de Contexto (CFL)

Equivalencia de PDA y CFG: Lema 1 Sea A un CFL, por definición A tiene una CFG G que lo genera, entonces es necesario convertir G en un PDA P capaz de reconocer A. P puede funcionar de la siguiente manera: Adicione a la pila un símbolo que marque el inicio ($) y el símbolo inicial de G Repita: Si en el tope de la pila esta un no terminal N, de manera aleatoria seleccione una de las reglas producción de N, N Y 1 Y 2 Y k, y sustituya en la pila N por los símbolos del lado derecho de la regla seleccionada, en orden inverso (pop N, push(y k ), push(y k-1 ), push(y 2 ), push(y 1 ) Si en el tope de la pila hay un símbolo terminal a, lea el siguiente símbolo de la cadena de entrada y comparelo con a, si coinciden haga pop de a. Si no coinciden, rechace esta rama del no-determinismo. Si en el tope de la pila está el simbolo $, entre en el estado de aceptación.

Equivalencia de PDA y CFG: Lema 1 Formalmente, P = (Q,, Γ, δ, q 0, $, F), se construye así: Q = { q start, q loop, q accept } δ(q start, ε, ε) = (q loop, S$), donde S es el símbolo inicial de la gramática δ(q start, ε, ε) = (q loop, S$), donde S es el símbolo inicial de la gramática δ(q loop, ε, N) = {(q loop, w) : N w es una regla de producción de G } δ(q loop,a, a) = { (q loop, ε) }, donde a δ(q loop,, ε, ε) = { (q accept, ε) }

Equivalencia de PDA y CFG: Lema 1: Ejemplo Dada G = (N, Σ, P, S), N = { S }, Σ = { a, b }, P = { S a S b, S a b }

Equivalencia de PDA y CFG: Lema 2 Si un autómata de pila reconoce un lenguaje, entonces el Lenguaje es Libre de Contexto (CFL) El automáta de pila debe cumplir las siguientes condiciones. Tiene un solo estado de aceptación qf, al cual llega si y solo si la pila esta vacía Cada transición hace un push o un pop de la pila, pero no ambos. Todo NPDA tiene un NPDA equivalente que cumple las dos condiciones.

Equivalencia de PDA y CFG: Lema 2 Si se crea una gramática cuyos símbolos no terminales son de la forma Apq, donde p y q Q Sea P = (Q,, Γ, δ, q 0, $, {q accept }), se construye la gramática G de la siguiente manera: El símbolo inicial es Aq 0 q accept Para todo p, q, r, s Q, t Γ, y a,b ε si δ(p,a, Ɛ) contiene (r,t), y δ(s,b,t) contiene (q, Ɛ ), agregue la regla Apq aarsb Para todo p,q,r Q agregue la regla Apq AprArq Para todo p Q agregue la regla App Ɛ

Pumping Lema para CFL Teorema: Si A es un Lenguaje Libre de Contexto (CFL) entonces existe un numero p (pumping length) donde, si s es alguna cadena que pertenece a A de longitud mayor o igual a p, entonces s puede ser dividido en 5 partes s = uvxyz que satisfacen las siguientes condiciones: Para todo i >= 0, uv i xy i z A, vy > 0 vxy <= p