fbpx
Wikipedia

Autómata con pila

Sistema combinacionalAutómata finitoAutómata con pilaMáquina de TuringTeoría de autómatas

Un autómata con pila, autómata a pila o autómata de pila 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 con pila pertenece al grupo de los lenguajes libres de contexto en la clasificación de la Jerarquía de Chomsky.

Definición formal

Formalmente, un autómata con pila puede ser descrito como una séptupla   donde:

  •   es un conjunto finito de estados;
  •   y   son alfabetos (símbolos de entrada y de la pila respectivamente);
  •  
  •   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  , y   es la siguiente:

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

  • Si  , es decir no es la cadena vacía, la cabeza lectora avanza una posición para inspeccionar el siguiente símbolo.
  • Se elimina el símbolo   de la pila del autómata.
  • Se selecciona un par   de entre los existentes en la definición de  , la función de transición del autómata.
  • Se apila la cadena  , con   en la pila del autómata, quedando el símbolo   en la cima de la pila.
  • Se cambia el control del autómata al estado  .


Funcionamiento

Los autómatas de pila, en forma similar a como se usan los autómatas finitos, también se pueden utilizar 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 puede encontrarse en uno de entre un número finito de estados. Uno de estos estados se designa como estado inicial, y además algunos estados se llaman de aceptación o finales. 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 last-in-first-out (LIFO). Las transiciones entre los estados que ejecutan los autómatas de pila dependen de los símbolos de entrada y de los símbolos de la pila. El autómata acepta una cadena x si la secuencia de transiciones, comenzando en estado inicial y con pila vacía, conduce a un estado final, después de leer toda la cadena x.[1]

Representación

Una máquina de este tipo se representa de la siguiente forma

 

Al igual que un autómata finito un autómata de pila cuenta con un flujo de entrada y un flujo de control que puede encontrarse en uno de entre un número finito de estados. Uno de estos estados se designa como el inicial y por lo menos un estado es de aceptación.

La principal diferencia es que los autómatas de pila cuentan con una pila en donde pueden almacenar información para recuperarla más tarde.

Los símbolos que pueden almacenarse en esta pila se conocen como símbolos de pila de la máquina, constituyen un conjunto finito que puede incluir algunos símbolos definiendo el alfabeto de la máquina y quizá algunos símbolos adicionales que se utilizan como marcas internas. Si una máquina inserta un símbolo especial en la pila antes de efectuar algún otro cálculo, entonces ese símbolo en la cima de la pila puede usarse como indicador de pila vacía para cálculos posteriores, dicho símbolo es #.[2]

Ejemplo

Sea el siguiente LLC  ; formado por las cadenas  

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

 

donde las transiciones son:

 

 

 

 

 

 

  para cualquier  

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

 

donde   es el estado actual,   es el símbolo en la entrada y   se extrae de la cima de la pila. Entonces, el estado del autómata cambia a   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 con pila deterministico

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 deterministicos, 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 deterministico 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   y en la pila aparezca el símbolo  , entonces, si existe una definición de transición posible para algún símbolo cualquiera   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 deterministico 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  

Definición

Un autómata de pila deterministico (AFPD) es una 7-upla,

P = (Q, Σ, Г,Δ, q0, T,Z) donde:

  • Q es un conjunto finito de estados.
  • Σ es el alfabeto de entrada.
  • Г es el alfabeto de la pila.
  • q0 є Q es el estado inicial.
  • Z є Г símbolo inicial de la pila.
  • T es subconjunto de Q (conjunto de estados finales).
  • Δ es la función de transición tal que:
 Δ: Q × (Σ U { ε }) × Г → (Q × Г *) 

Observación

En un momento, la unidad de control del autómata escanea un símbolo ‘a’ sobre la cinta de entrada y el símbolo ‘s’ en el tope de la pila.

 

Este paso computacional representa: La unidad de control pasa a ‘q0’ y se mueve a la derecha en la cinta de entrada, borra el símbolo ‘s’ del tope, escribe en la cadena y pasa a escanear el nuevo tope.[3]

Autómata con pila no determinista

Un autómata finito con pila no determinista (AFPN) consta de los mismos parámetros de un AFPD.

P = (Q, Σ, Г, Δ, q0, T,Z):

Donde la función de transición Δ es de la forma:

 Δ: Q × (Σ U { ε }) × Г→ Pf(Q × Г*) 

Donde Pf (Q× Г *) es un conjunto de subconjuntos finitos de Q × Г*

Para q є Q, a є Σ U {ε} y s є Г

 Δ (q, a, s) = {(q1, γ1), (q2, γ 2), . . . , (qn, γ n)} 

Donde γi є Г*

Ejemplo

Diseñar un AFPN que acepte el lenguaje  [4]

Sobre:

Σ = {a, b}

  • Δ (q0, a, Z) = (q0, AZ)
  • Δ (q0, ε, Z) = (q2, Z) (acepta ε)
  • Δ (q0, a, A) = (q0, AA)
  • Δ (q0, b, A) = (q1, ε)
  • Δ (q1, b, A) = (q1, ε)
  • Δ (q1, ε, Z) = (q2, Z)


 

El no determinismo se da por la presencia simultánea de:

 Δ (q0, a, Z) y Δ (q0, ε, Z) 

Véase también

Referencias

  1. Libro Teoría de autómatas y lenguajes Formales, páginas 210-211
  2. Curso universidad de Guadalajara
  3. Universidad del Valle, Cursos dictados e información . Archivado desde el original el 26 de junio de 2007. Consultado el 15 de julio de 2010. 
  4. Universidad del Valle, Ejemplos . Archivado desde el original el 1 de octubre de 2015. Consultado el 15 de julio de 2010. 

Bibliográfica

  • Teoría de autómatas y lenguajes formales.

Autómatas y complejidad. Kelly Dean Editorial Prentice Hall

  • Introducción a la teoría de autómatas, lenguajes y computación

John E. Hopcroft; Jeffrey D. Ullman Editorial Cecsa

  • Teoría de la computación

J. Gleuu Brokshear Editorial Addison Wesley Iberoamericana

Enlaces externos

  • Ciencias de la Computación I
  •   Datos: Q751443
  •   Multimedia: Pushdown automata

autómata, pila, autómata, pila, autómata, pila, autómata, pila, modelo, matemático, sistema, recibe, cadena, constituida, símbolos, alfabeto, determina, cadena, pertenece, lenguaje, autómata, reconoce, lenguaje, reconoce, autómata, pila, pertenece, grupo, leng. Un automata con pila automata a pila o automata de pila es un modelo matematico de un sistema que recibe una cadena constituida por simbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el automata reconoce El lenguaje que reconoce un automata con pila pertenece al grupo de los lenguajes libres de contexto en la clasificacion de la Jerarquia de Chomsky Indice 1 Definicion formal 1 1 Funcionamiento 1 2 Representacion 1 3 Ejemplo 2 Automata con pila deterministico 2 1 Definicion 3 Automata con pila no determinista 3 1 Ejemplo 4 Vease tambien 5 Referencias 5 1 Bibliografica 6 Enlaces externosDefinicion formal EditarFormalmente un automata con pila puede ser descrito como una septupla M S S G d s Z F displaystyle M S Sigma Gamma delta s Z F donde S displaystyle S es un conjunto finito de estados S displaystyle Sigma y G displaystyle Gamma son alfabetos simbolos de entrada y de la pila respectivamente d S S ϵ G P S G displaystyle delta S times Sigma cup epsilon times Gamma rightarrow mathcal P S times Gamma s S displaystyle s in S es el estado inicial Z G displaystyle Z in Gamma es el simbolo inicial de la pila F S displaystyle F subseteq S es un conjunto de estados de aceptacion o finales La interpretacion de d q a b q 1 g 1 q 2 g 2 q n g n displaystyle delta q a b q 1 gamma 1 q 2 gamma 2 ldots q n gamma n con q q i S a S ϵ b G displaystyle q q i in S a in Sigma cup epsilon b in Gamma y g i G displaystyle gamma i in Gamma es la siguiente Cuando el estado del automata es q displaystyle q el simbolo que la cabeza lectora esta inspeccionando en ese momento es a displaystyle a y en la cima de la pila nos encontramos el simbolo b displaystyle b se realizan las siguientes acciones Si a S displaystyle a in Sigma es decir no es la cadena vacia la cabeza lectora avanza una posicion para inspeccionar el siguiente simbolo Se elimina el simbolo b displaystyle b de la pila del automata Se selecciona un par q i g i displaystyle q i gamma i de entre los existentes en la definicion de d q a b displaystyle delta q a b la funcion de transicion del automata Se apila la cadena g i c 1 c 2 c k displaystyle gamma i c 1 c 2 ldots c k con c i G displaystyle c i in Gamma en la pila del automata quedando el simbolo c k displaystyle c k en la cima de la pila Se cambia el control del automata al estado q i displaystyle q i Funcionamiento Editar Los automatas de pila en forma similar a como se usan los automatas finitos tambien se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A Los automatas de pila pueden aceptar lenguajes que no pueden aceptar los automatas finitos Un automata de pila cuenta con una cinta de entrada y un mecanismo de control que puede encontrarse en uno de entre un numero finito de estados Uno de estos estados se designa como estado inicial y ademas algunos estados se llaman de aceptacion o finales A diferencia de los automatas finitos los automatas de pila cuentan con una memoria auxiliar llamada pila Los simbolos llamados simbolos de pila pueden ser insertados o extraidos de la pila de acuerdo con el manejo last in first out LIFO Las transiciones entre los estados que ejecutan los automatas de pila dependen de los simbolos de entrada y de los simbolos de la pila El automata acepta una cadena x si la secuencia de transiciones comenzando en estado inicial y con pila vacia conduce a un estado final despues de leer toda la cadena x 1 Representacion Editar Una maquina de este tipo se representa de la siguiente forma Al igual que un automata finito un automata de pila cuenta con un flujo de entrada y un flujo de control que puede encontrarse en uno de entre un numero finito de estados Uno de estos estados se designa como el inicial y por lo menos un estado es de aceptacion La principal diferencia es que los automatas de pila cuentan con una pila en donde pueden almacenar informacion para recuperarla mas tarde Los simbolos que pueden almacenarse en esta pila se conocen como simbolos de pila de la maquina constituyen un conjunto finito que puede incluir algunos simbolos definiendo el alfabeto de la maquina y quiza algunos simbolos adicionales que se utilizan como marcas internas Si una maquina inserta un simbolo especial en la pila antes de efectuar algun otro calculo entonces ese simbolo en la cima de la pila puede usarse como indicador de pila vacia para calculos posteriores dicho simbolo es 2 Ejemplo Editar Sea el siguiente LLC L a k b k k 0 displaystyle L a k b k k geq 0 formado por las cadenas L ϵ a b a a b b a a a b b b a a a a b b b b displaystyle L epsilon ab aabb aaabbb aaaabbbb ldots Dicho lenguaje puede ser reconocido por el siguiente automata con pila M q 0 q 1 q 2 q 3 a b A A d q 0 q 0 q 3 displaystyle M q 0 q 1 q 2 q 3 a b A underline A delta q 0 q 0 q 3 donde las transiciones son d q 0 a ϵ q 1 A displaystyle delta q 0 a epsilon q 1 underline A d q 1 a ϵ q 1 A displaystyle delta q 1 a epsilon q 1 underline A d q 1 b A q 2 ϵ displaystyle delta q 1 b underline A q 2 epsilon d q 1 b A q 3 ϵ displaystyle delta q 1 b underline A q 3 epsilon d q 2 b A q 2 ϵ displaystyle delta q 2 b underline A q 2 epsilon d q 2 b A q 3 ϵ displaystyle delta q 2 b underline A q 3 epsilon d q 8 r displaystyle delta q theta rho emptyset para cualquier q 8 r displaystyle q theta rho El significado de las transiciones puede ser explicado analizando la primera transicion d q 0 a ϵ q 1 A displaystyle delta q 0 a epsilon q 1 underline A donde q 0 displaystyle q 0 es el estado actual a displaystyle a es el simbolo en la entrada y ϵ displaystyle epsilon se extrae de la cima de la pila Entonces el estado del automata cambia a q 1 displaystyle q 1 y el simbolo A displaystyle underline A se coloca en la cima de la pila La idea del funcionamiento del automata es que al ir leyendo los diferentes simbolos a estos pasan a la pila en forma de simbolos A Al aparecer el primer simbolo b en la entrada se comienza el proceso de desapilado de forma que coincida el numero de simbolos b leidos con el numero de simbolos A que aparecen en la pila Automata con pila deterministico EditarNotese que a diferencia de un automata finito o una maquina de Turing la definicion basica de un automata con pila es de naturaleza no determinista pues la clase de los automatas con pila deterministicos a diferencia de lo que ocurria con aquellos modelos tiene una potencia descriptiva estrictamente menor Para calificar a un automata con pila como deterministico deben darse dos circunstancias en primer lugar por supuesto que en la definicion de cada componente de la funcion de transicion existan un unico elemento lo que da la naturaleza determinista Pero eso no es suficiente pues ademas puede darse la circunstancia de que el automata este en el estado s displaystyle s y en la pila aparezca el simbolo s Z displaystyle sZ entonces si existe una definicion de transicion posible para algun simbolo cualquiera a displaystyle a del alfabeto de entrada pero ademas existe otra alternativa para la palabra vacia ϵ displaystyle epsilon tambien esto es una forma de no determinismo pues podemos optar entre leer un simbolo o no hacerlo Por eso en automata deterministico no debe existir transicion posible con lectura de simbolo si puede hacerse sin ella ni al contrario Para cada q Q Z G displaystyle q in Q Z in Gamma se de que d q ϵ Z d q a Z 1 displaystyle mid delta q epsilon Z mid mid delta q a Z mid leq 1 para cada a S displaystyle a in Sigma Definicion Editar Un automata de pila deterministico AFPD es una 7 upla P Q S G D q0 T Z donde Q es un conjunto finito de estados S es el alfabeto de entrada G es el alfabeto de la pila q0 ye Q es el estado inicial Z ye G simbolo inicial de la pila T es subconjunto de Q conjunto de estados finales D es la funcion de transicion tal que D Q S U e G Q G ObservacionEn un momento la unidad de control del automata escanea un simbolo a sobre la cinta de entrada y el simbolo s en el tope de la pila Este paso computacional representa La unidad de control pasa a q0 y se mueve a la derecha en la cinta de entrada borra el simbolo s del tope escribe en la cadena y pasa a escanear el nuevo tope 3 Automata con pila no determinista EditarUn automata finito con pila no determinista AFPN consta de los mismos parametros de un AFPD P Q S G D q0 T Z Donde la funcion de transicion D es de la forma D Q S U e G Pf Q G Donde Pf Q G es un conjunto de subconjuntos finitos de Q G Para q ye Q a ye S U e y s ye G D q a s q1 g1 q2 g 2 qn g n Donde gi ye G Ejemplo Editar Disenar un AFPN que acepte el lenguaje a i b i i 0 displaystyle a i b i i geq 0 4 Sobre S a b D q0 a Z q0 AZ D q0 e Z q2 Z acepta e D q0 a A q0 AA D q0 b A q1 e D q1 b A q1 e D q1 e Z q2 Z El no determinismo se da por la presencia simultanea de D q0 a Z y D q0 e Z Vease tambien EditarTeoria de automatas Sistema combinacional Automata finito Maquina de Turing Maquina abstractaReferencias Editar Libro Teoria de automatas y lenguajes Formales paginas 210 211 Curso universidad de Guadalajara 1 Universidad del Valle Cursos dictados e informacion Copia archivada Archivado desde el original el 26 de junio de 2007 Consultado el 15 de julio de 2010 Universidad del Valle Ejemplos Copia archivada Archivado desde el original el 1 de octubre de 2015 Consultado el 15 de julio de 2010 Bibliografica Editar Teoria de automatas y lenguajes formales Automatas y complejidad Kelly Dean Editorial Prentice Hall Introduccion a la teoria de automatas lenguajes y computacionJohn E Hopcroft Jeffrey D Ullman Editorial Cecsa Teoria de la computacionJ Gleuu Brokshear Editorial Addison Wesley IberoamericanaEnlaces externos EditarCiencias de la Computacion I Datos Q751443 Multimedia Pushdown automataObtenido de https es wikipedia org w index php title Automata con pila amp oldid 121488331, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos