Autómatas a pila. Capítulo 11. 11.1. Concepto de AP. 11.2. Equivalencia entre AP por vaciado de pila y AP por estado final



Documentos relacionados
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Autómatas Finitos y Lenguajes Regulares

AUTÓMATAS DE PILA. Nota: Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si s A, δ( e i, s, X) está indefinida.

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

Introducción a Autómatas Finitos

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

Autómatas finitos no deterministas (AFnD)

Definición formal de autómatas finitos deterministas AFD

TEMA 5. GRAMÁTICAS REGULARES.

Clase 08: Autómatas finitos

2: Autómatas finitos y lenguajes regulares.

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

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

TEORÍA DE AUTÓMATAS I Informática de Sistemas

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

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

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88

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

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}.

Ciencias de la Computación I

Tema 2: Autómatas finitos

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

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN

Máquinas de estado finito y expresiones regulares

Autómatas de Pila y Lenguajes Incontextuales

Ciencias de la Computación I

Teoría de Autómatas y Lenguajes Formales. Capítulo 1: Introducción. Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.

Tema 4. Autómatas Finitos

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

1. Cadenas EJERCICIO 1

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

Teoría de Autómatas y Lenguajes Formales.

Propiedades de lenguajes independientes del contexto

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez

Lenguajes y Compiladores Análisis Léxico

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

Lenguajes Regulares. Antonio Falcó. - p. 1

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

Lenguajes Incontextuales

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

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

PLANIFICACIÓN SEMANAL DE LA ASIGNATURA

Autómatas Deterministas. Ivan Olmos Pineda

Unidad 4. Autómatas de Pila

Expresiones Regulares y Derivadas Formales

Gramáticas Libres de Contexto

TEMA II TEORÍA INTUITIVA DE CONJUNTOS

Clase 17: Autómatas de pila

Tema: Autómata de Pila

Máquinas de Turing, recordatorio y problemas

Unidad 4. Autómatas de Pila

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

Ciencias de la Computación I

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

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

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

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

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

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

La Jerarquía de Chomsky

Teoría de Autómatas y Lenguajes Formales.

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales

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

Ciencias de la Computación I

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

Propiedades de los Lenguajes Libres de Contexto

Proyecto Unico - Parte 1 - Solución

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la ingeniería

Lenguajes No Regulares

Cardinalidad. Teorema 0.3 Todo conjunto infinito contiene un subconjunto infinito numerable.

Propiedades de Lenguajes Regulares

Tema 5 Lenguajes independientes del contexto. Sintaxis

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

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

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

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Máquinas de Turing. Definición 2

DEFINICIÓN FORMAL DE UN AFP

Teoría de Automatas, Lenguajes Formales y Gramáticas. D. Castro Esteban

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

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

Temas. Objetivo 07:00

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:

Repaso. Lenguajes formales

Equivalencia Entre PDA y CFL

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

Conjuntos y relaciones

El cuerpo de los números reales

Autómatas de Estados Finitos

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

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE ESTADO FINITO

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

Expresiones regulares, gramáticas regulares Unidad 3

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

Las Gramáticas Formales

Tema 2: Los Autómatas y su Comportamiento

Transcripción:

Capítulo 11. Autómatas a pila 11.1. Concepto de AP Definición, Representación, Lenguaje reconocido, AP por vaciado de pila, AP por estado final, AP determinista. 11.2. Equivalencia entre AP por vaciado de pila y AP por estado final 11.3. AP y lenguajes independientes de contexto Obtener un AP para aceptar el lenguaje generado por una GIC. Obtener una GIC para generar el lenguaje aceptado por un AP. 1

11.1. Concepto de Autómata a pila Introducción De igual manera que los lenguajes regulares se pueden representar mediante autómatas finitos deterministas, los lenguajes independientes del contexto tienen su correspondencia en otro tipo de dispositivo: el Autómata a Pila (AP). Un autómata a pila es un dispositivo que tiene acceso a: Una secuencia de símbolos de entrada, que en general se representa por una cinta que se desplaza frente a un mecanismo de captación de dichos símbolos. El símbolo superior de una memoria en pila (LIFO) Un autómata a pila se encuentra en cada momento en un estado determinado y el estado siguiente depende de los tres elementos siguientes: estado actual símbolo de entrada símbolo superior de la pila Generalmente, el autómata a pila es no determinista en el sentido de que se permite que haya varias acciones posibles en cada momento. 2

Un AP puede realizar dos tipos de operaciones elementales: 1. Dependientes de la entrada. Se lee la cinta y se avanza la cabeza lectora, En función: del estado actual (q i ) del símbolo leído en la cinta (a) del símbolo en la cima de la pila (Z) Se pasa a un nuevo estado, se elimina el elemento Z de la cima de la pila y se introduce en su lugar una cadena de símbolos. 2. Independientes de la entrada. Las mismas operaciones que en el caso anterior, sólo que no se lee la cinta, ni se avanza la cabeza lectora. Se maneja la pila sin la información de entrada. 3

Definición formal de un AP Un autómata a pila es una séptupla: AP= (Σ, Γ, Q, A 0, q 0, f, F) donde : 1. Σ es el alfabeto de entrada 2. Γ es el alfabeto de la pila 3. Q es un conjunto finito de estados 4. A 0 Γ es el símbolo inicial de la pila 5. q 0 Q el estado inicial del autómata 6. F Q es el subconjunto de estados finales 7. f es una aplicación denominada función de transición de ternas (estado, símbolo de entrada o λ, símbolo de pila) en el conjunto de las partes Q Γ* f : Q {Σ {λ}} Γ 2 Q Γ* (subconjunto finito) Un AP comienza su funcionamiento en la configuración inicial: en el estado inicial (q 0 ) con sólo un símbolo en la pila (A 0 ) con la cabeza lectora en el primer símbolo de la entrada A partir de esta configuración realiza transiciones según la definición de la función f. 4

Interpretación de la función de transición Representaremos con: (a, b,...) los elementos de Σ (A, B, C..) los de Γ (x, y, z,...) los de Σ* (X, Y, Z,...) los de Γ* La interpretación de f es: a) f(q, a, A) = {(q 1, Z 1 ), (q 2, Z 2 ),... (q n, Z n )} cuando el autómata se encuentra en el estado q, lee el símbolo de entrada a y tiene el símbolo A en la cima de la pila; el autómata pasará a algún estado q i (recordar que es no determinista), eliminará el símbolo A de la pila e introducirá en ella la palabra Z i, quedando la cabeza de Z i en la cima de la pila. b) f(q, λ, A) = {(q 1, Z 1 ), (q 2, Z 2 ),... (q n, Z n )} cuando el autómata se encuentra en el estado q, y tiene el símbolo A en la cima de la pila; el autómata pasará a algún estado q i (recordar que es no determinista), eliminará el símbolo A de la pila e introducirá en ella la palabra Z i, quedando la cabeza de Z i en la cima de la pila. Se entiende que el resultado de la función f para las configuraciones (estado, símbolo de entrada y símbolo de pila) no explícitamente especificadas es el conjunto vacío. Estas representan configuraciones muertas del autómata. 5

Representación gráfica AP=({a,b,c},{S,A,B,b},{p,q,r},S,p,f,{r}) f(p,a,s)={(p,sab), (q,b)} f(p,λ,s)={(p,sab)} f(q,b,b)={(q,λ)} f(q,b,b)={(q,λ)} f(q,c,a)={(q,a),(q,λ)} f(q,λ,b)={(r,λ)} S p (a,s,b) q (λ,b,λ) r* (a,s,sab) (λ,s,sab) (b,b,λ) (c,a,a) (c,a,λ) (b,b,λ) Cada estado corresponde a un nodo en el grafo y está etiquetado con el nombre del estado (si es un estado final se marca además con *) Cada transición (q, Z) f(p, a, A) corresponde a un arco del nodo p al nodo q y tiene la etiqueta (a,a,z). Las etiquetas de los arcos pueden tener la forma: (a,a,λ), (a,a,b), (a,a,bc...), (λ,a,λ), (λ,a,b), (λ,a,bc...) siendo (a Σ, A,B,C Γ). No hay transiciones de forma: (..., λ,...), (ab...,...,...) o (..., AB...,...) 6

Descripción instantánea Una descripción instantánea o configuración es una terna (q, x, Z) donde q Q, x Σ*, Z Γ* que define: el estado del autómata, la entrada que resta por leer y el contenido de la pila en un momento dado. Movimientos Un movimiento es el paso de una descripción instantánea a otra y se produce como resultado de la aplicación de la función f. Se representa por el símbolo, que se lee como precede a. Hay dos tipos de movimientos: (q, az, AZ) (p, z, YZ) si (p, Y) f(q, a, A) (q, z, AZ) (p, z, YZ) si (p, Y) f(q, λ, A) (q,p Q, a Σ, A Γ, z Σ*, Z,Y Γ*) Utilizaremos el símbolo * para expresar el cierre transitivo y reflexivo de. Es decir se entiende por I i * I j el resultado de una serie movimientos tales que I i * I j I i I k... I j 7

Lenguaje aceptado por un autómata a pila Se describe el proceso de aceptación o rechazo de una palabra de Σ* mediante una sucesión de movimientos. Un AP= (Σ, Γ, Q, A 0, q 0, f, F) puede reconocer palabras del alfabeto de entrada de dos formas distintas: - por estado final: L F (AP) = {x (q 0, x, A 0 ) * (p, λ, X), con p F, X Γ*} - por vaciado de pila : L V (AP) = { x (q 0, x, A 0 ) * (p, λ, λ) con p Q} L F (AP) y L V (AP) representan a los lenguajes reconocidos por el autómata AP por estado final y por vaciado de pila respectivamente. Cuando la aceptación se realiza por vaciado de pila, el conjunto de estados finales F es irrelevante. Equivalencia de AP Dos autómata a pila (por vaciado de pila o por estado final), AP 1 y AP 2, son equivalentes, si aceptan el mismo lenguaje, es decir, si L(AP 1 )=L(AP 2 ). 8

Ejemplo: Autómata a pila para el lenguaje L={a n b n n > 0} APV=({a,b},{S,A},{p,q},S,p,f, ) f(p,a,s)={(p,a)} f(p,a,a)={(p,aa)} f(p,b,a)={(q, λ)} f(q,b,a)={(q, λ)} S p (b,a,λ) q (a,s,a) (a,a,aa) (b,a,λ) APF=({a,b},{S,A},{p,q,r},S,p,f,{r}) f(p,a,s)={(p,as)} f(p,a,a)={(p,aa)} f(p,b,a)={(q,λ)} f(q,b,a)={(q,λ)} f(q,λ,s)={(r,s)} S p (b,a,λ) (λ,s,s) q r* (a,s,as) (a,a,aa) (b,a,λ) Movimientos para (p,aabb,s) (p,abb,s) (p,aab,s) Otro ejemplo: Autómata a pila para el lenguaje L={ww R w {a,b}*, w R imagen inversa de w}. 9

Autómatas a pila deterministas Decimos que un autómata a pila es determinista si se verifica lo siguiente: 1. q Q, A Γ: f(q, λ, A) a Σ: f(q, a, A) = 2. q Q, A Γ, a Σ {λ}: f(q, a, A) contiene como máximo un elemento. A lo sumo, desde una configuración cualquiera existe como mucho un posible movimiento. A diferencia de los autómatas finitos, se entiende que un AP es no determinista, a menos que se diga lo contrario. Ejemplo: AP (por vaciado de pila) para L={a n b m c p n 0, m 1, p n+m} (a,s,as) (a,a,aa) (b,a,aa) (c,s,s) (c,a,λ) (λ,s,λ) S p q r (b,a,aa) (b,s,as) (c,a,λ) Determinista o no? Construir un APP determinista para L={a n b m c p n 0, m 1, p= n+m}. 10

11.2. Equivalencia de APF y APV Teorema: El conjunto de lenguajes aceptados por estado final por los autómatas a pila L APF es igual que el conjunto de lenguajes aceptados por vaciado por pila de los autómatas a pila L APV. Método de demostración: 1. L APF L APV Sea AP= (Σ, Γ, Q, A 0, q 0, f, F) un autómata a pila y L F (AP) el lenguaje aceptado (por estado final) de este autómata. Construimos AP = (Σ, Γ {B}, Q {s,r}, B, s, f, ), con B Γ y s,r Q, donde f esta definido por: f (s,λ,b)={(q 0,A 0 B)} f (q,a,a)=f(q,a,a) para todo q Q, q F, a Σ {λ} y A Γ f (q,a,a)=f(q,a,a) para todo q F, a Σ y A Γ f (q,λ,a)=f(q,λ,a) {(r, λ)} para todo q F y A Γ f (q,λ,b)= {(r, λ)} para todo q F f (r,λ,a)= {(r, λ)} para todo A Γ {B} Se puede mostrar que L F (AP)=L V (AP ). Por tanto se verifica que L APF L APV. 11

2. L APV L APF Sea AP= (Σ, Γ, Q, A 0, q 0, f, F) un autómata a pila y L V (AP) el lenguaje aceptado (por vaciado de pila) de este autómata. Construimos AP = (Σ, Γ {B}, Q {s,r}, B, s, f, {r}), con B Γ y s,r Q, donde f esta definido por: f (s,λ,b)={(q 0,A 0 B)} f (q,a,a)=f(q,a,a) para todo q Q, a Σ {λ} y A Γ f (q,λ,b)= {(r, λ)} para todo q Q Se puede mostrar que L V (AP)=L F (AP ). Por tanto se verifica que L APV L APF. De L APF L APV y L APV L APF se sigue que L APV = L APF, lo que demuestra el teorema. 12

11.3. AP y lenguajes independientes del contexto Construcción de un AP a partir de una GIC Teorema: Sea AP Σ el conjunto de todos los autómatas a pila sobre un alfabeto Σ y L AP_Σ ={L L=L(AP) y AP AP Σ } la familia de lenguajes sobre Σ aceptados por los autómatas a pila. (Da igual si se acepta el lenguaje por estado final o por vaciado de pila.) Sea L G_2_Σ la familia de todos los lenguajes sobre Σ generados por gramáticas del tipo 2 (lenguajes independientes del contexto). L G_2_Σ = L AP_Σ. Método de demostración: 1. L G_2_Σ L APV_Σ Para cada GIC, G, existe un autómata a pila por vaciado de pila, AP, tal que L(G)=L V (AP). Encontrar un algoritmo para construir AP a partir de una gramática genérica G. 2. L G_2_Σ L APV_Σ Para cada autómata a pila, AP, por vaciado a de pila existe una GIC, G, tal que L(G)=L V (AP). Encontrar un algoritmo para construir G a partir de un AP genérico. L G_2_Σ L APV_Σ y L G_2_Σ L APV_Σ L G_2_Σ =L APV_Σ Se verifica: L ic_σ = L G_2_Σ =L APV_Σ =L APF_Σ =L AP_Σ 13

GIC AP reconocedor por vaciado de pila Ejemplo: Lenguaje L={ a n b n n 0}: S::=aSb λ (bien formada) S::= asb ab λ 1. Transformar gramática en FNG: G=({a,b},{S,B},S,P) P={S::= asb ab λ, B::= b} 2. Construir autómata: S q (λ,s,λ) (a,s,sb) (a,s,b) (b,b,λ) AP= ({a,b}, {S,B}, {q}, S, q, f, ), donde f se define por: f(q,λ,s)={(q, λ)} f(q,b,b)={(q,λ)} f(q,a,s)={(q,sb),(q,b)} (q,aabb,s) (q,abb,sb) (q,bb,sbb) (q,bb,bb) (q,b,b) (q,λ,λ) otra posibilidad: (q,aabb,s) (q,abb,b) no (q,abb,s) (q,bb,sb) (q,bb,b) (q,b,λ) no otra posibilidad: (q,abb,s) (q,abb,λ) no (q,abb,s) (q,bb,b) (q,b,λ) no 14

Otra posibilidad: Gramática en FNG G=({a,b},{S,B},S,P) P={S::= asb ab λ, B::= b} S q (λ,s,asb) (λ,s,ab) (λ,s,λ) (λ,b,b) (a,a,λ) (b,b, λ) AP= ({a,b}, {S,B,a,b}, {q}, S, q, f, ), donde f se define: f(q,λ,s)={(q,asb),(q,ab),(q,λ)} f(q,λ,b)={(q,b)} f(q,a,a)={(q,λ)} f(q,b,b)={(q,λ)} (q,aabb,s) (q,aabb,asb) (q,abb,sb) (q,abb,abb) (q,bb,bb) (q,bb,bb) (q,b,b) (q,b,b) (q,λ, λ) (q,abb,s) (q,abb,asb) (q,bb,sb) (q,bb,abb) no otra posibilidad: (q,abb,s) (q,abb,λ) no (q,abb,s) (q,abb,ab) (q,bb,b) (q,bb,b) (q,b,λ) no 15

Algoritmo: Sea la gramática G = (Σ T, Σ N, S, P), que suponemos en forma normal de Greibach. A partir de ella construimos un autómata a pila AP= (Σ, Γ, Q, A 0, q 0, f, F) como sigue: Algoritmo 1: Σ = Σ T, Γ= Σ N, Q={q}, A 0 = S, q 0 =q, F= y f se define por: Algoritmo 2: 1. (q, λ) f(q, λ, S) si (S::= λ) P 2. (q, Z) f(q, a, A) si (A::= az) P Σ = Σ T, Γ= Σ N Σ T, Q={q}, A 0 = S, q 0 =q, F= y f se define por: 1. (q, λ) f(q, λ, S) si (S::= λ) P 2. (q, az) f(q, λ, A) si (A::= az) P 3. f(q, a, a)={(q, λ)} para todo a Σ T 16

Ejemplo: Lenguaje de las paréntesis (bien formada): S::=SS asb λ S::= SS asb ab λ 1. Transformar gramática en FNG (proceso sin S::= λ): G=({a,b},{S,B,C},S,P) P= {S::= asbc abc asb ab λ C::= asbcc abcc asbc abc asb ab, B::= b} 2. Construir autómata: AP= ({a,b}, {S,B,C}, {q}, S, q, f, ), donde f se define: f(q,λ,s)={(q, λ)} f(q,a,s)={(q,sbc),(q,bc),(q,sb),(q,b)} f(q,a,c)={(q,sbcc),(q,bcc),(q,sbc),(q,bc),(q,sb),(q,b)} f(q,b,b)={(q,λ)} (q,abaababb,s) (q,baababb,bc) (q,aababb,c) (q,ababb,sb) (q,babb,bcb) (q,abb,cb) (q,bb,bb) (q,b,b) (q,λ,λ) 17

GIC AP reconocedor por estado final Idea: Construir el AP por vaciado de pila (de un estado) y añadir dos estados nuevos: A 0 s (λ,a 0,SA 0 ) q (λ,s,λ) (a,s,sb) (a,s,b) (b,b,λ) (λ,a 0,A 0 ) r* Algoritmo: Sea la gramática G = (Σ T, Σ N, S, P), que suponemos en forma normal de Greibach. A partir de ella construimos un autómata a pila AP como sigue: 1. Construir el autómata AP = (Σ, Γ, {q}, S, q, f, F ) que acepta por vaciado de pila con el algoritmo dado anteriormente. Sea q el único estado de este autómata. 2. AP=(Σ, Γ A 0, {q, r, s}, A 0, s, f, {r}) con A 0 Γ y f definido por: f(s, λ, A 0 )={(q, SA 0 )} f(q, a, A)=f (q,a,a) para todo a Σ {λ} y A Γ f(q, λ, A 0 )={(r, A 0 )} 18

Construcción de una GIC a partir de un AP genérico Sea el autómata a pila AP=(Σ, Γ, Q, A 0, q 0, f, ) (que acepta por vaciado de pila). Para todo q i,q j Q, A Γ: El símbolo [q i Aq j ] representa el conjunto de cadenas x que permiten al autómata eliminar el símbolo A de la cima de la pila, partiendo del estado q i y terminando en el estado q j, consumiendo todos los símbolos de x. Formalmente: 19 { x Σ * / (q i,x,a) * (q j,λ,λ) } A partir de este autómata, y de la definición anterior, construimos la siguiente GIC: G=(Σ T, Σ N, S, P), donde: Σ T =Σ, Σ N ={S} {[q i Aq j ] q i, q j Q, A Γ} y el conjunto de producciones P: 1. para todo q i Q: S::=[q 0 A 0 q i ] P 2. por cada (q j, Y 1 Y 2 Y k ) f(q i, a, A), donde k >0, y a Σ {λ}: {[q i Ar k ] ::= a[q j Y 1 r 1 ][r 1 Y 2 r 2 ] [r k-1 Y k r k ], para todas las listas de estados (r 1,r 2,,r k ) Q k } P 3. por cada (q j, λ) f(q i, a, A), donde a Σ {λ}: {[q i Aq j ] ::= a, para todo q j Q } P Se puede demostrar que L(G)=L V (AP), es decir: S * x, si y sólo si, (q 0,x,A 0 ) * (q j,λ,λ), para algún q j Eso completa la demostración para L G_2_Σ L APV_Σ. Dado que L G_2_Σ L APV_Σ (construcción de AP a partir de G) se verifica L G_2_Σ = L APV_Σ.

Ejemplo: Autómata (por vaciado de pila): S q (λ,s,λ) (a,s,sb) (a,s,b) (b,b,λ) AP= ({a,b}, {S,B}, {q}, S, q, f, ), donde f se define por: f(q,λ,s)={(q, λ)} f(q,b,b)={(q,λ)} f(q,a,s)={(q,sb),(q,b)} Gonstruir G a partir de AP: G=({a,b}, Σ N, A, P) Σ N ={A, [qsq], [qbq]} P={ A::=[qSq], [qsq]::= λ, [qbq]::= b [qsx]::=a[qbx] con x Q [qsq]::=a[qbq] [qsx]::=a[qsy][ybx] con x,y Q [qsq]::=a[qsq][qbq] } Usamos otros símbolos y simplificamos: P={ A::=S, S::=λ ab asb, B::=b} {A::=λ ab aab, B::=b} Autómata: (q,aaabbb,s) (q,aabbb,sb) (q,abbb,sbb) (q,bbb,bbb) (q,bb,bb) (q,b,b) (q,λ,λ) Gramática: A aab aaabb aaabbb aaabbb aaabbb aaabbb Otro ejemplo: S q (a,s,saa) (b,a,λ) (b,s,λ) 20