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

Documentos relacionados
Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales.

7. Máquinas de Turing.

Teoría de Autómatas y Lenguajes Formales.

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

TRADUCTORES E INTERPRETADORES

8. Complejidad Computacional

Unidad 4. Autómatas de Pila

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

Unidad 4. Autómatas de Pila

Autómatas de Pila y Lenguajes Incontextuales

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas ALGORITMIA AVANZADA

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

Equivalencia Entre PDA y CFL

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

Teoría de Autómatas y Lenguajes Formales.

Máquinas de Turing Definición y descripción

Autómata de Pila (AP, PDA) Sesión 18

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

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

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

Autómata de Pila (AP, PDA) Tema 18

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Hacia las Gramáticas Propias II

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

Teoría de Autómatas y Lenguajes Formales.

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

Computabilidad y Lenguajes Formales: Autómatas de Pila

Teoría de Autómatas y Lenguajes Formales.

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Tipos de reglas gramaticales (CHOMSKY) Otros tipos de reglas gramaticales no contractivas α β abc ACb

Autómata finito y Expresiones regulares A* C. B

Traductores Push Down

Universidad de Valladolid

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

Clase 17: Autómatas de pila

Teoría de Autómatas y Lenguajes Formales

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

Máquinas de Turing, recordatorio y problemas

Tema 2: Lenguajes Formales. Informática Teórica I

Nuestro objetivo es demostrar que autómata = lógica. IIC3260 Una Aplicación de Teoría de Modelos Finitos: Lógica = Autómata 35 / 60

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

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

Ciencias de la Computación I

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto

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

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

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

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

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Tema: Autómata de Pila

Autómatas de Estados Finitos

1 er Parcial Febrero 2009

Teoría de la Computación y Leguajes Formales

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

Computabilidad y Lenguajes Formales: Autómatas Finitos

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

Máquinas de estado finito y expresiones regulares

AUTÓMATAS DE ESTADO FINITO

Máquinas de Turing. Definición 2

1. Cadenas EJERCICIO 1

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES

PLANIFICACIÓN SEMANAL DE LA ASIGNATURA

Ciencias de la Computación I

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

TITULACIÓN Ingeniero Técnico en Informática de Sistemas ASIGNATURAS DE SEGUNDO CURSO DEL PLAN 1999 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES PROGRAMA:

Introducción a la Teoría de Autómatas, Lenguajes y Computación

Ciencias de la Computación I

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Presentación Asignatura

Lenguajes Incontextuales

Procesadores de Lenguaje

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción

Complejidad Computacional

Descripción de los Lenguajes Aceptados por Autómatas

13.3. MT para reconocer lenguajes

DEFINICIÓN FORMAL DE UN AFP

El Autómata con Pila

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

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

Gramáticas Libres de Contexto

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

1. Para cada uno de los lenguajes siguientes, describe un autómata a pila que acepte el lenguaje. (a) ( ) L = {a n b 2n n 0}.

Analizadores sintácticos LR(0) y SLR

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

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

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

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Teoría de Lenguajes. Propiedades y caracterizaciones de los lenguajes incontextuales

AUTÓMATAS, GRAMÁTICAS Y LENGUAJES

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

Ciencias de la Computación I

Temas finales de Teoría de Autómatas y Lenguajes Formales II Curso

Expresiones regulares y derivadas

Computabilidad y lenguajes formales: Sesión 17. Equivalencia entre Expresiones Regulares y Autómatas Finitos

Teoría de la Computación y Lenguajes Formales

Transcripción:

6. Autómatas a Pila Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar<nez Beatriz García Jiménez Juan Manuel Alonso Weber Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

Introducción Definición Equivalencias Lenguajes Tipo 2 2

Jerarquía de Lenguajes Lenguajes Generales Lenguajes Dependientes del Contexto Lenguajes Independientes del Contexto No Deterministas Lenguajes Aceptados por Autómatas a Pila Deterministas Lenguajes Regulares 3

Jerarquía de Lenguajes Gramá;cas Regulares Autómatas Finitos Lenguajes Regulares (ER) Gramá;cas Independientes Contexto Autómatas a Pila Lenguajes Independientes Contexto 4

Limitaciones de los AF Falta de memoria No pueden reconocer expresiones matemádcas, pej. (2x+(2+n/25)), mas general el lenguaje X n Y n ( ( q r s... ) ) 5

Teoremas 1 2 3 Para cada gramádca G independiente del contexto, existe un autómata de pila M tal que L(G)=L(M) Para cada autómata de pila M, existe una gramádca G independiente del contexto tal que L(M)=L(G) Existe un lenguaje independiente del contexto que no es el lenguaje aceptado por ningún autómata de pila determinista 6

Introducción Definición Equivalencias Lenguajes Tipo 2 7

De<inición de AP / 2 5 ) ) Q CONTROL DE ESTADOS CINTA Movimiento de la cinta B...... A o PILA 8

Aceptación por estados <inales 1 0 1 1 0 Movimiento de la cinta q f CINTA Palabra leída Pila NO necesariamente vacía B... A o PILA 9

Aceptación por vaciado de pila 1 0 1 1 0 Movimiento de la cinta q CINTA Palabra leída Pila NECESARIAMENTE vacía PILA 10

De<inición formal Gestión de Pila AF Σ Q q o f F AP A o q o Σ Γ Q f F 11

AP: (Σ, Γ, Q, A o, q o, f, F) Σ : alfabeto de entrada Palabras: x, y, z, ax, ay... Γ : alfabeto de pila Palabras: X, Y, Z, AX, AY... Q : conjunto finito de estados Q = {p,q,r,...} A o Γ : símbolo inicial de la pila q o Q : estado inicial del autómata f : función de transición F Q : conjunto de estados finales 12

Transición f(q,a,a)={(q 1,Z 1 ),(q 2, Z 2 ),...,(q n, Z n )} q (q,a,a;q n,y n ) a,a;y n q n 1. Leer un símbolo de la entrada 2. Extraer un símbolo de la pila 3. Insertar una palabra en la pila 4. Pasar a un nuevo estado 13

Función de Transición f : Q x (Σ {λ} ) x Γ P(Q x Γ *) Transiciones dependientes de la entrada Q x Σ x Γ Transiciones independientes de la entrada Q x λ x Γ AP Deterministas Q x Γ* AP No Deterministas P (Q x Γ*) 14

T. independientes de la entrada Sea la transición: f(q, λ,a) = {(q 1,Z 1 ), (q 2, Z 2 ),...,(q n, Z n )} donde: q, q i Q A Γ Z i Γ* 15

T. independientes de la entrada z.... a.... p q (q, az, AX) (p, az, X) f(q,λ,a) = (p, λ) A...... X 16

T. dependientes de la entrada Sea la transición: f(q,a,a) = {(q 1,Z 1 ), (q 2,Z 2 ),...,(q n,z n )} donde: q, q i Q a Σ A Γ Z i Γ* 17

T. dependientes de la entrada z.... a.... p q (q, az, AX) (p, z, X) f(q,a,a) = (p, λ) A...... X 18

Descripción Instantánea Permite describir sencillamente la configuración del AP en cada momento Terna (q,x,z) donde: q Q, x Σ*, z Γ* ConDene: el estado actual (q) lo que queda por leer de la entrada (x) y el símbolo en la cima de la pila (z) 19

Descripción Instantánea Movimiento: (q,ay,ax) (p,y,yx) describe el paso de una descripción instantánea a otra Sucesión de movimientos: (q,ay,ax) *(p,y,yx) representa que desde la primera descripción instantánea se puede alcanzar la segunda 20

Autómatas a Pila Deterministas (Σ,Γ,Q,A 0,q 0,f,F) es determinista si verifica: q Q, A Γ, f (q,λ,a) >0 f (q,a,a)=φ a Σ q Q, A Γ, a Σ {λ}, f (q,a,a) <2 si (p, x, y; q, z) y (p, x, y; r, w) son transiciones de un autómata a pila determinista entonces q r, z=w 21

Lenguaje aceptado por un AP Por vaciado de pila LV AP ={x (q 0,x,A 0 ) *(p,λ,λ), p Q, x Σ*} Por estado final LF AP ={x (q 0,x,A 0 ) *(p,λ,x), p F, x Σ*,X Γ*} 22

Ejemplo LENGUAJE: algunas instrucciones var ::= num; (asignación) if cond then BLOQUE (asignación ó if) if cond then BLOQUE (asignación ó if) else BLOQUE (asignación ó if) 23

Ejemplo AP= ({if, then, else, ::=, var, num, cond, ;}, {S, B, C, F, N, P, T, E}, {q}, q, S, f, φ) f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} ELEMENTOS DE Γ S Símbolo inicial F ::= N Numero P ; C Condición T Then B Bloque E Else 24

Ejemplo f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} q if cond then var ::= num ; S 25

Ejemplo f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} if cond q then var ::= num ; C T B P 26

Ejemplo f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} if cond then var ::= num ; q T B P 27

Ejemplo if cond f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} then var ::= num ; q B P 28

Ejemplo if cond f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} then var ::= num ; q F N P 29

Ejemplo if cond f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} then var ::= num ; q N P 30

Ejemplo if cond then var ::= num ; f(q, var, S) = {(q, FNP)} f(q, if, S) = {(q, CTBP), (q, CTBEBP)} f(q, if, B) = {(q, CTB), (q, CTBEB)} f(q, var, B) = {(q, FN)} f(q, cond, C) = {(q, λ)} f(q, ::=, F) = {(q, λ)} f(q, num, N) = {(q, λ)} f(q, ;, P) = {(q, λ)} f(q, then, T) = {(q, λ)} f(q, else, E) = {(q, λ)} q P 31

Ejemplo if cond then var ::= num ; Pila vacía Sentencia reconocida q 32

Introducción Definición Equivalencias Lenguajes Tipo 2 33

Equivalencias Teorema Para cada autómata de pila que acepte cadenas sin vaciar su pila, existe un autómata equivalente pero que vacía su pila antes de llegar a un estado de aceptación. 34

Paso de AP F a AP V AP F = (Σ, Γ, Q, A 0, q 0, f, F) AP V =(Σ, Γ B, Q p,r, B, p, f, φ) 1. Nuevo símbolo para la pila 2. Dos estados nuevos 3. Valor inicial de la pila 4. Nuevo estado inicial 5. SIN estados finales 35

Paso de AP F a AP V AP F = (Σ, Γ, Q, A 0, q 0, f, F) AP V =(Σ, Γ B, Q p,r, B, p, f, φ) f se define así: λ,b; A 0 B p q 0 a, A; Z q i q j q f q i, q j Q, a Σ {λ}, A Γ, Z Γ* A Γ B q f λ,a; λ r q f F, A Γ B λ,a; λ r 36

Paso de AP V a AP F AP V =(Σ, Γ, Q, A0, q0, f, φ) AP F =(Σ, Γ B, Q p, r, B, p, f, {r}) f' se define así: λ,b; A 0 B λ,b; λ p q q r* 0 f (p, λ,b) = (q 0, A 0 B) (r, λ) f (q, λ, B) q Q, f(q, a, A) = f (q, a, A) q Q, a Σ {λ}, A Γ

Introducción Definición Equivalencias Lenguajes Tipo 2 38

De Gramática Tipo 2 a AP V Dada una G2 en FNG, construir un AP V : G = (Σ T, Σ N, S, P) entrada pila inicial de pila AP V = (Σ T, Σ N, q, S, q, f, φ) Se obdene un AP V con un solo estado 39

De Gramática Tipo 2 a AP V f se define como: es decir: (q, Z) f(q, a, A) f(q, a, A) = (q, Z) si existe una producción del Dpo A ::= a Z f(q, a, A) = (q, λ) si existe una producción del Dpo A ::= a f(q, a, A) = {(q, Z), (q, λ)} dada una producción: A::= az ad b f(q, a, A)= {(q, Z), (q, D)} f(q, b, A) = (q, λ) Si S::= λ (q,λ) f(q,λ,s) 40

De Gramática Tipo 2 a AP F Dada una G2, construir un AP F donde: G = (Σ T, Σ N, S, P) AP V = (Σ T, Γ, Q, A 0, q 0, f, {q 2 }) Γ= Σ T Σ N {A 0 }, donde A 0 Σ T Σ N Q={q 0, q 1, q 2 } 41

De Gramática Tipo 2 a AP F f se define como: f (q 0, λ, A 0 ) = {q 1, SA 0 } A Σ N, si A ::= α P, (α Σ*) (q 1, α) f (q 1, λ, A) es decir: f (q 1, λ, A) = {, (q 1, α), } a Σ T, (q 1, λ) f (q 1,a,a) es decir f (q1,a,a) = {, (q1,λ), } f (q 1, λ, A 0 ) = {q 2,A 0 } 42

De AP V a Gramática Tipo 2 Dado un AP V, construir una G2 tal que L(G2) = L(AP V ) Para construir P: AP V = (Σ, Γ, Q, A 0, q 0, f, φ) G = (Σ T, Σ N, S, P) {S} { (paq) p, q Q, A Γ} 1. S::= (q 0, A 0,q) q Q (se eligen las que empiezan por q 0 A 0 ) 2. De cada transición f(p,a,a) = (q, BB B...B ) donde: A,B,B,B,,B Γ ; a Σ {λ} se obdene: (p A z ) ::= a ( q B r ) ( r B s ) s... y ( y B z ) 3. De cada transición f( p, a, A) = (q, λ) se obdenen: ( p,a,q ) ::= a 43

Bibliogra<ía Libro Básico 1 Bibliograwa. Enrique Alfonseca Cubero, Manuel Alfonseca Cubero, Roberto Moriyón Salomón. Teoría de autómatas y lenguajes formales. McGraw- Hill (2007). Capítulo 4 y Apartado 8.1 Libro Básico 2 Bibliograwa. John E. Hopcroz, Rajeev Motwani, Jeffrey D.Ullman. Introducción a la teoría de autómatas, lenguajes y computación (3ª edición). Ed, Pearson Addison Wesley. Capítulo 6 Libro Básico 4 Bibliograwa. Manuel Alfonseca, Justo Sancho, Miguel Mar<nez Orga. Teoría de lenguajes, gramádcas y autómatas. Publicaciones R.A.E.C. 1997 Capítulo 10 44