13
La elección de stewards de la Fundación Wikimedia 2009 ha empezado. Por favor, vota. [Contraer ] [Ayúdanos traduciendo. ] Autómata con pila De Wikipedia, la enciclopedia libre (Redirigido desde Autómata de pila ) Saltar a navegación , búsqueda Un autómata con pila o autómata de pila o autómata a pila o autómata apilador es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. El lenguaje que reconoce un autómata a pila pertenece al grupo de los lenguajes de contexto libre en la clasificación de la Jerarquía de Chomsky . Definición formal [editar ] Formalmente, un autómata con pila puede ser descrito como una séptupla M = (S,Σ,Γ,δ,s,Z,F) donde: Σ y Γ son alfabetos de entrada, de la cadena y de la pila respectivamente; S un conjunto de estados; es el estado inicial; es el símbolo inicial de la pila; es un conjunto de estados de aceptación o finales. La interpretación de con es la siguiente: Cuando el estado del autómata es s, el símbolo que la cabeza lectora está inspeccionando en ese momento es a, y en la cima de la pila nos encontramos el símbolo Z, se realizan las siguientes acciones:

Atomata de Pila Final

Embed Size (px)

DESCRIPTION

Automatas

Citation preview

Page 1: Atomata de Pila Final

La elección de stewards de la Fundación Wikimedia 2009 ha empezado. Por favor, vota.

[Contraer] [Ayúdanos traduciendo.] 

Autómata con pilaDe Wikipedia, la enciclopedia libre

(Redirigido desde Autómata de pila)Saltar a navegación, búsqueda

Un autómata con pila o autómata de pila o autómata a pila o autómata apilador es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. El lenguaje que reconoce un autómata a pila pertenece al grupo de los lenguajes de contexto libre en la clasificación de la Jerarquía de Chomsky.

Definición formal [editar]

Formalmente, un autómata con pila puede ser descrito como una séptupla M = (S,Σ,Γ,δ,s,Z,F) donde:

Σ y Γ son alfabetos de entrada, de la cadena y de la pila respectivamente; S un conjunto de estados;

es el estado inicial; es el símbolo inicial de la pila; es un conjunto de estados de aceptación o finales.

La interpretación de con

es la siguiente:

Cuando el estado del autómata es s, el símbolo que la cabeza lectora está inspeccionando en ese momento es a, y en la cima de la pila nos encontramos el símbolo Z, se realizan las siguientes acciones:

Si , es decir no es la palabra vacía, se avanza una posición la cabeza lectora para inspeccionar el siguiente símbolo.

Se elimina el símbolo Z de la pila del autómata. Se selecciona un par (pi,γi) de entre los existentes en la definición de δ(s,A,Z), la

función de transición del autómata.

Se apila la cadena en la pila del autómata, quedando el símbolo A1 en la cima de la pila.

Se cambia el control del autómata al estado pi.

Ejemplo [editar]

Page 2: Atomata de Pila Final

Sea el siguiente lenguaje libre del contexto ; formado por las

cadenas

Dicho lenguaje puede ser reconocido por el siguiente autómata con pila:

donde las transiciones son:

para cualquier (q,θ,ρ)

El significado de las transiciones puede ser explicado analizando la primera transición:

donde q0 es el estado actual, a es el símbolo en la entrada y ε se extrae de la cima de la pila. Entonces, el estado del automata cambia a q1 y el símbolo se coloca en la cima de la pila.

La idea del funcionamiento del autómata es que al ir leyendo los diferentes símbolos a, estos pasan a la pila en forma de símbolos A. Al aparecer el primer símbolo b en la entrada, se comienza el proceso de desapilado, de forma que coincida el número de símbolos b leídos con el número de símbolos A que aparecen en la pila.

Autómata determinista [editar]

Nótese que, a diferencia de un autómata finito o una máquina de Turing, la definición básica de un autómata con pila es de naturaleza no determinista, pues la clase de los autómatas con pila deterministas, a diferencia de lo que ocurría con aquellos modelos, tiene una potencia descriptiva estrictamente menor. Para calificar a un autómata con pila como determinista deben darse dos circunstancias; en primer lugar, por supuesto, que en la definición de cada componente de la función de transición existan un único elemento lo que da la naturaleza determinista. Pero eso no es suficiente, pues además puede darse la circunstancia de que el autómata esté en el estado s y en la pila aparezca el símbolo sZ, entonces, si existe una definición de transición posible para algún símbolo

Page 3: Atomata de Pila Final

cualquiera a del alfabeto de entrada, pero, además existe otra alternativa para la palabra vacía ε, también esto es una forma de no determinismo, pues podemos optar entre leer un símbolo o no hacerlo. Por eso, en autómata determinista no debe existir transición posible con lectura de símbolo si puede hacerse sin ella, ni al contrario.

Para cada , se dé que: , para cada

Obtenido de "http://es.wikipedia.org/wiki/Aut%C3%B3mata_con_pila"Categoría: Lenguajes formales

Vistas

Artículo Discusión Editar Historial

Herramientas personales

Registrarse/Entrar

Navegación

Portada Portal de la comunidad Actualidad Cambios recientes Página aleatoria Ayuda Donaciones

Buscar

 

Herramientas

Lo que enlaza aquí Cambios en enlazadas Subir archivo Páginas especiales Versión para imprimir Enlace permanente Citar este artículo

En otros idiomas

Page 4: Atomata de Pila Final

العربية Bosanski Česky Deutsch English Suomi Français עברית Hrvatski Italiano 日本語 Македонски Polski Русский Slovenčina 中文

Esta página fue modificada por última vez el 18:25, 15 dic 2008. Contenido disponible bajo los términos de la Licencia de documentación libre de

GNU (véase Derechos de autor).Wikipedia® es una marca registrada de la organización sin ánimo de lucro Wikimedia Foundation, Inc.

Política de privacidad Acerca de Wikipedia Limitación de responsabilidad

CIENCIAS DE LA COMPUTACION I 2008AUTÓMATAS DE PILALos autómatas de pila, en forma similar a como se usan los autómatas finitos, también se puedenutilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A.Los autómatas de pila pueden aceptar lenguajes que no pueden aceptar los autómatas finitos.Un autómata de pila cuenta con una cinta de entrada y un mecanismo de control que puedeencontrarse en uno de entre un número finito de estados. Uno de estos estados se designa comoestado inicial, y además algunos estados se llaman de aceptación o finales. A diferencia de losautómatas finitos, los autómatas de pila cuentan con una memoria auxiliar llamada pila. Lossímbolos (llamados símbolos de pila) pueden ser insertados o extraídos de la pila, de acuerdo con elmanejo last-in-first-out (LIFO).Las transiciones entre los estados que ejecutan los autómatas de pila dependen de los símbolos deentrada y de los símbolos de la pila. El autómata acepta una cadena x si la secuencia de transiciones,

Page 5: Atomata de Pila Final

comenzando en estado inicial y con pila vacía, conduce a un estado final, después de leer toda lacadena x.Autómata de pila reconocedor determinísticoAPD=<E, A , P, e0, Z0, F>E: Conjunto finito de estados,A: Alfabeto o conjunto finito de símbolos de la cinta de entrada,P: Alfabeto o conjunto finito de símbolos de la Pila. P∩A= ∅función de transición de estadose0: Estado inicial e0 ∈E.Z0: Símbolo distinguido Z0 ∈PF: Conjunto de estados finales o estados de aceptación. F ⊆E.La función de transición definida como: :E x ( A ∪{}) x P →E x P∗

1) ei a, X) =( ej , ei , , X) =( ej , donde a ∈A; X ∈P; ∈P∗; ei , ej ∈E.Nota: Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si∀s ∈A, ei , s, X) está indefinida.Descripción instantáneaUna configuración de un AP es una tripla <e ,> donde e: estado_actual; : cadena de entrada aser leída; : contenido de la pila.Luego, se define una relación de transición |en el espacio de posibles configuraciones del AP,tanto si:(1)

ei , a,X|< ej , Si existe la transición tipo (1), el AP pasa al estadoej, avanza la cabeza lectora y reemplaza el tope Xpor (2)

ei , a, X|< ej , aSi existe la transición tipo (2), el AP pasa al estadoej, NO avanza la cabeza lectora y reemplaza el tope X por donde a∈A; ∈A∗; X∈P; ∈P∗; ei ,ej ∈ECIENCIAS DE LA COMPUTACION I 2008La función de transición de estados de un AP puede ser representada por un diagrama donde losnodos representan los estados y los arcos transiciones. Si existe transición tipo (1)el arco quedarotulado de la siguiente manera:Si el estado actual es ei y la cabeza lectora apunta un símbolo a, y el tope de la pila es X, entoncescambiar al nuevo estado ej, avanzar la cabeza lectora, y sustituir el símbolo del tope X en la pila porla cadena Por ejemplo:Si ZYX deja X , apila Y, y apila Z (nuevo tope Z). donde X, Y, Z ∈PSi XX deja X y apila X (nuevo tope X).Si X deja X como el mismo tope (no altera la pila)Si elimina X, y el nuevo tope es el símbolo por debajo (desapila)Ejemplo 1A={a,b,c}L1={cR / ∈{a,b}∗}APD1 es un autómata de pila que reconoce L1.APD1=<{e0,e1,e2},{a,b,c},{X,Y, Z0}, e0, Z0, {e2}>

Page 6: Atomata de Pila Final

Ejemplos de cadenas aceptadas ó no aceptadas por AP1

∗e0, abcba)=e2 abcba ∈L1

∗e0, c)=e2 c∈L1

∗e0,abcab)=e1 abcab ∉L1

∗e0,a)=e0 a ∉L1

Ejemplo 2L2 = {ai b ck / i,k ≥1 y i<k}APD2 =<{e0,e1,e2},{a,b,c},{A, Z0}, 2 ,e0, Z0, {e2}>2ei ej

a ,X / eo e1 e2

a, Z0 / XZ0

b, Z0 / YZ0

a, X / XXb, Y / YYa, Y / XYb, X / YXa, X / b, Y / Z0 / Z0

c, Z0 / Z0

c, X / Xc, Y / Yb,A/Aa,Z0/AZ0

a,A/AAe0

c,A/c,Z0/Z0

c,Z0/Z0

e1 e2

CIENCIAS DE LA COMPUTACION I 2008Ejemplo 3L3 = {ai b ck / i,k ≥1 y i ≤k}APD3 =<{e0,e1,e2},{a,b,c},{A, Z0}, 3 ,e0, Z0, {e2}>3Ejemplo 4L4 = {ai b ck / i, k ≥1 y i > k}APD41 =<{e0,e1,e2,e3},{a,b,c},{A, Z0}, 41 ,e0, Z0, {e3}>41:

APD42 =<{e0,e1,e2,e3},{a,b,c},{A, Z0}, 42 ,e0, Z0, {e3}>42:

Ejemplo 5L5 = {ai b ck / i, k ≥1 y i ≥k}APD5 =<{e0,e1,e2,e3},{a,b,c},{A, Z0}, 5 ,e0, Z0, {e3}>5:

Ejemplo 6L6={0i 1i+k 2k 3n+1/ i, k, n ≥0 }APD6=<{eo,e1,e2, e3,e4},{0,1,2,3},{A,B, Z0}, ,e0, Z0, {e4}>1, A /1,B/BB

Page 7: Atomata de Pila Final

1,Z0 /BZ0

3,Z0 /Z0

3,Z0 /Z0 2, B /eo 1, A /e1 e2 2, B /e3 e4

0,Z0 /AZ0

0,A /AA1,Z0 /BZ0

3,Z0 /Z0

3,Z0 /Z0

b,A/Aa,Z0/AZ0

a,A/AAe0

c,A/Z0/Z0

c,Z0/Z0

e1 e2

c,A/ b,A/Aa,Z0/AZ0

a,A/AAe0 e3 e2 c,A/ b,A/Aa,Z0/AZ0

a,A/AAe0

/Ac,A/ e1

c/e2 e3

a,Z0/ Z0

e0

a,Z0/AZ0

a,A/AAe1 b,A/A e2 e3

c,A/c,A/CIENCIAS DE LA COMPUTACION I 2008Ejemplo 7L7 = {hn gj e2n d3i/ i, j, n ≥0}Casos Cadenas de L7

si n, i, j >0 hn gj e2n d3i

si n=0 y i, j >0 gj d3i

si i=0 y n, j >0 hn gj e2n

si j=0 y n, i >0 hn e2n d3i

si n, i=0 y j >0 gj

si n, j=0 y i >0 d3i

si i, j =0 y n >0 hne2n

si n,i,j=0 APD7 = <{eo,e1,e2,e3,e4,e5,e6,e7,e8,e9},{h,e,g,d},{H, Z0}, ,e0, Z0, {e0, e4, e8, e9 }>Autómata de pila no determinístico

Page 8: Atomata de Pila Final

APND= <E, A , P, e0, Z0, F> , donde las componentes E, A , Pe0, Z0, F se definen como antes, yla función de transición se define comoE x (A ∪{}) x P →Pf( E x P*) Pf denota los subconjuntos finitos de E x P*

1) ei ,a, X) = {(ej , (ek , ei ,, X) = {(ej , (ek , donde a∈A, X ∈P, ∈P*, ei, ej, ek ∈EComo ya se ha estudiado los autómatas finitos no determinísticos (AFND) reconocen los mismoslenguajes que los autómatas finitos determinísticos (AFD). Sin embargo no ocurre lo mismo conautómatas de pila no determinísticos (APND) y autómatas de pila determinísticos (APD). Algunoslenguajes sólo pueden ser reconocidos por un APND, pero no por un APD.d,Z0 /Z0

d,Z0 /Z0

h,H/HHg,H/Hg,H/H,Z0/Z0

e,H/h,Z0/HZ e,H/Heo e1 e2 e3 e4

g,Z0 /Z0

d,Z0 /Z0

e5

e,H/He,H/He6

e8

e7

d,Z0 /Z0

d,Z0 /Z0

e9

g,Z0 /Z0

d,Z0 /Z0

CIENCIAS DE LA COMPUTACION I 2008Ejemplo 8L8= {am bp cp+m / m,p ≥1} ∪{a2i bi / i ≥1}L8 sólo puede reconocerse con un APND.APND8 =<{e0,e1,e2,e3,e4,e5, e6,e7,e8, e9},{a,b,c},{A,B, Z0}, ,e0, Z0, {e9}>:APND8 es no determinístico ya que en el caso de:e0 ,a, Z0) = {(e1 , AZ0(e6 , A Z0Ejemplo 9L9= {am bp cp+m / m,p ≥1} ∪{ai b2i / i ≥1}L9 sólo puede reconocerse con un APND.APND9 =<{e0, e1, e2, e3, e4, e5, e6, e7 },{a,b,c},{A,B, Z0}, ,e0, Z0, {e7}>:Lenguajes aceptados por los Autómata de PilaUna cadena ∈A* es aceptada por AP=<E, A , P, e0, Z0, F>si y solo sie0 ,, Z0 | * < ef , El AP, comienza en el estado e0, con pila

Page 9: Atomata de Pila Final

vacía, luego de leer toda la cadena llega a un estadoef ∈F, y en la pila queda cualquier cadena ∈P*.El lenguaje aceptado por AP, es el conjunto de todas las cadenas que son aceptadas por AP:L(AP)= { / e0 ,, Z0> | * < ef , y ∈A* y ef ∈F y ∈P*Los lenguajes aceptados por los Autómatas de Pila se denominan lenguaje libres del contexto.a,A/AAZ0/ Z0

b,B/BB c,B/c,A/c,A/b,A/c,B/Z0/ Z0

b,A/a, A/AAb,A/BAa,A/Aa, Z0 /AZ0

a, Z0 /AZ0

eo

e1 e2 e3 e4

e6

e7 e8 e9

b,A/AZ0/ Z0

b,B/BB c,B/c,A/c,B/c,A/Z0/ Z0

a, A/AAb,A/BAb,A/a, Z0 /AZ0

eo

e1 e2 e3 e4

e5

e6 e7

b,A/ACIENCIAS DE LA COMPUTACION I 2008Autómata de pila traductorAutómata de pila traductor APT

Un APT es simplemente un AP que se define como una 9-uplaAPT = <E, A , P, , e0, Z0, F, S>donde E, A , P, e0, Z0, F se definen como antes y se agregan dos componentes:S: Alfabeto o conjunto finito de símbolos de salidafunción de traducción definida como E x (A ∪{}) x P →S*

La está definida siempre que está definida.En el diagrama de transición de APT puede describirse como una extensión de la notación usadapara AP. Si existe ei a, X) =( ej , y además ei , a, X) = tluego el arco queda rotulado de lasiguiente manera:donde ei , ej ∈E ; a ∈A; X ∈P; ∈P* ;t ∈S*

Page 10: Atomata de Pila Final

Función de traducción para cadenasEl autómata sólo define la traducción, si el autómata AP subyacente “acepta” la cadena. Es decir latraducción T(): A*→S* asociada a APT está definida comoT() es válida ⇔e0 ,, Z0> | * < ef , Ejemplo 10L6={0i 1i+k 2k 3n+1/ i, k, n ≥0 }Traducir las cadenas de L6 0i 1i+k 2k 3n+1 como a i+ k b2k c3n

APDT6=<{eo,e1,e2,e3,e4},{0,1,2,3},{A,B, Z0}, ,e0, Z0, {e4},a,b,c}>y ei ej

a ,X / t3,Z0 /Z0,ccc0,Z0 /AZ00,A /AA, 1,A/,a 1,B/BB,a1,Z0/BZ0,a 3,Z0/Z0,2,B/,bbeo 1,A/a e1 e2 2,B/bb e3 e4

1,Z0 /BZ0,a3,Z0 /Z0, 3,Z0 /Z0, CIENCIAS DE LA COMPUTACION I 2008Ejemplo 11:L7 = {hn gj e2n d3i/ i, j, n ≥0}Traducir las cadenas de L7 hn gj e2n d3i como 12j 0n 2 iAPDT7=<{eo,e1,e2,e3,e4,e5,e6,e7,e8,e9},{h,e,g,d},{H, Z0}, ,e0, Z0, {e0, e4, e8, e9

},0,1,2}>y d,Z0 /Z0, h,H/HH, g,H/H,11g,H/H,11,Z0/Z0, eo h,Z0/HZ0, e1 e2 e,H/H,e3 e,H/0 e4

g,Z0 /Z0,11d,Z0 /Z0 , e5

e,H/H, e,H/H, e6

e8

e7

d,Z0 /Z0, 2d,Z0 /Z0, e9

g,Z0 /Z0, 11d,Z0 /Z0, d,Z0 /Z0,