La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Automata de Pila

Presentaciones similares


Presentación del tema: "Automata de Pila "— Transcripción de la presentación:

1 Automata de Pila Ing. Kevin Demetrio Díaz García kdiaz.docenciaumg@Gmail.com WhatsApp: 42617371

2 Autómata de Pila Los autómatas de pila es una variante de un autómata finito, y también se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto . Esta variante de los autómatas finitos puede aceptar lenguajes que no pueden ser reconocidos por un autómata, ya que un autómata de pila cuenta con una estructura primitiva de memoria, una pila, que le permite almacenar símbolos que luego pueden ser extraídos para algún tipo de análisis. Un autómata de pila puede conceptualizarse como un mecanismo que cuenta con una cinta de entrada y un sistema de control que puede estar en uno de cualquiera de los estados del autómata. Uno de estos estados se designa como estado inicial, y además algunos estados se llaman de aceptación o finales. Como se menciono anteriormente, a diferencia de los autómatas finitos, los autómatas de pila cuentan con una memoria auxiliar llamada pila. Los símbolos (llamados símbolos de pila) pueden ser insertados o extraídos de la pila, de acuerdo con el manejo UEPS ( último en entrar, primero en salir).

3 Autómata de Pila Representación de un autómata de pila

4 Autómata de Pila De acuerdo a lo descrito anteriormente, el sistema de control tiene la función de guardar el estado actual, leer un símbolo de la entrada y operar la pila con las operaciones push y pop ( ingresa y extrae respectivamente ). Cada movimiento de la máquina depende de tres factores: 1.Es estado actual 2.La entrada siguiente en la cinta 3.El símbolo en el tope de la pila y consiste de dos partes 1.El cambio de estado (o la permanencia en el mismo estado) 2.La sustitución del símbolo de la cima de la pila con la cadena de cero o más símbolos.

5 Definición Autómata de Pila Un autómata de pila (AP) es una 7-tupla M = (Q, , , q 0, Z 0,A,  ), donde: Q Es un conjunto finito de estados  y  Conjuntos finitos (alfabeto de entrada y pila respectivamente) q 0 Estado inicial Z 0 Símbolo de pila inicial A Conjunto de estados de aceptación  Q × (  U {}) ×  → Conjunto de subconjunto finitos de Q ×  *  Se llama función de transición de M

6 Transicion Automata de Pila Sea la transición independiente de la entrada: f(q, λ,A) = (qi,Zi) donde: q,qi ∈ Q A ∈ Γ Zi ∈ Γ*

7 Transicion Automata de Pila Sea la transición Dependiente de la entrada: f(q,a,A) = (qi,Zi) donde: q,qi ∈ Q a ∈ Σ A ∈ Γ Zi ∈ Γ*

8 Finalización Automata de Pila Sea un autómata de pila puede tener los siguientes finales: Fin por Estado de Aceptación λ, Zo, Zo Fin por Pila Vacía λ, Zo, λ

9 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^n b^n | n ≥ 1} : S → aSb | ab Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de ambas es igual.

10 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^n b^2n | n ≥ 1} : S → aSbb | abb Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de b’s es el doble que la cantidad de a’s.

11 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^2n b^n | n ≥ 1} : S → aaSb | aab Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de a’s es el doble que la cantidad de b’s.

12 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución Este lenguaje es el de las cadenas palíndromas que a´s y b´s que tienen una c en el punto medio de la cadena, esto es, las cadenas que se pueden leer de la misma forma de derecha a izquierda como de izquierda a derecha. Intuitivamente, se puede pensar que esta c en el punto medio servirá para el controlar que los caracteres subsiguientes a este símbolo deben corresponder uno a uno con los caracteres ya procesados en orden inverso.

13 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución

14 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución Las transiciones del autómata de pila se representarán mediante el uso de una tabla como la que a continuación se muestra.

15 Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución A continuación se muestra el diagrama de transición resultante Para la gramática anterior:

16 Se genera la corrida del reloj de un autómata de pila S → aSa | bSb | c 1 Se asigna # numeral para inicio de la corrida del algoritmo

17 2 3 4 5 67

18 8 9 10 11 12 13

19 Tabla de transiciones de Automata de Pila Contenido de la pilaResto de la entradaTransición ejecutada aabcbaa (i,, ;p,#) #aabcbaa (p,, ;q,S) S#aabcbaa (q,,S;q,aSa) aSa#aabcbaa (q,a,a;q, ) Sa#abcbaa (q,, S;q,aSa) aSaa#abcbaa (q,a,a;q, ) Saa#bcbaa (q,,S;q,bSb) bSbaa#bcbaa (q,b,b;q, ) Sbaa#cbaa (q,, S;q,c) cbaa#cbaa (q, c,c;q, ) baa#baa (q,b,b;q, ) aa#aa (q,a,a;q, ) a#a (q,a,a;q, ) # (q,,#;f, )

20 . S  zMNz M  aMa M  z N  bNb N  z la cadena zazabzbz Contenido de la pilaResto de la entradaTransición ejecutada zazabzbz (i,, ;p,#) #zazabzbz (p,, ;p,s) S#zazabzbz (q,,S;q,zMNz) zMNz#zazabzbz (q,z,z;q, ) MNz#azabzbz (q,, M;q,aMa) aMaNz#azabzbz (q,a,a;q, ) MaNz#zabzbz (q,,M;q,z) zaNz#zabzbz (q,z,z;q, ) aNz#abzbz (q,a,a;q, ) Nz#bzbz (q,,N;q,bNb) bNbz#bzbz (q,b,b;q, ) Nbz#zbz (q,,N;q,z) zbz#zbz (q,z,z;q, ) bz#bz (q,b,b;q, ) z#z (q,z,z;p, ) # (q,,#;f, )


Descargar ppt "Automata de Pila "

Presentaciones similares


Anuncios Google