Sei sulla pagina 1di 26

Universidad Iberoamericana (Unibe)

DESCRIPCIN BREVE
Autmatas Push-Down es una mquina con un nmero finito de estados, una cinta de entrada y una Pila.

PUSH-DOWN AUTMATA

Anyela Bez 13-1005 - Leslei Garca 13-0991


PROFESORA:
DRA. ING. RINA FAMILIA

Anyela Bez 13-1005 Leslei Garca 13-0991 Artculo Push-Down Autmata Materia: Lenguajes Formales y Teora de Autmatas
PROFESORA: DRA. ING. RINA FAMILIA

Santo Domingo Rep., Dom. 24 de Febrero 2014


pg. 2

ndice
Resumen.4 Introduccin5 Historia y aplicaciones...7 Teora..7 Definicin...7

Ejemplo de un autmata de pila8 Un autmata Push-Down (APD) es una coleccin de 8 cosas10 Aceptores Push-Down. Definiciones..11 Autmatas de Pila y lenguajes libres de contexto...12 Clasificacin de Autmatas Push-Down..12 El funcionamiento tpico de un autmata Push-down.14 Descripcin..14 Aplicacin de un Autmata Push-down......16 Aceptores Push-Down Propios18 Autmatas de pila20 Representacin grfica de un AP.20 Conclusin...24 Glosario...25 Referencias..26

pg. 3

Resumen Autmatas Push-Down es una mquina con un nmero finito de estados, una cinta de entrada y una Pila. El autmata lee cadenas de smbolos de longitud finita de la cinta de entrada que es infinita. El comportamiento de la mquina est determinado por el estado en que se encuentra, el smbolo o smbolos en el tope de la Pila y el o los smbolos en la cinta de entrada. Para cada estado y dependiendo del tope de la Pila, al leer uno o varios smbolos de la cinta de entrada cambia de estado, empila o despila de la Pila y avanza en la cinta de entrada. Estas mquinas tambin pueden usarse para reconocer lenguajes, es decir, para leer cadenas y determinar si pertenecen o no a un lenguaje dado. Tambin sirven para describir el comportamiento de ciertas mquinas. Dependiendo de lo que lee, del tope de la Pila y del estado en el que se encuentra, cambia de estado avanza en la cinta de entrada, despila lo que reconoci en la Pila y empila smbolos en la Pila de acuerdo con la relacin de transicin de estados.

pg. 4

Introduccin

La Introduccin a la Informtica Terica, tambin conocido como TALF (Teora de Autmatas y Lenguajes Formales), trata principalmente sobre las capacidades de cualquier mquina que sea capaz de calcular o computar (incluida entre estas mquinas, estn los computadores... porque computan). Por una parte, estn los problemas de cesibilidad, los cuales nos permiten decidir cundo un computador (o una mquina que computar) es capaz de resolver un problema dado. Cuando se habla de autmata, se hace referencia a mquinas (abstractas o no) que sean capaces de computar. De igual manera que los lenguajes regulares se pueden representar mediante autmatas finitos deterministas, los lenguajes independientes del contexto tienen su correspondencia en otro tipo de dispositivo: el Autmata de Pila (AP). Push-Down. Un autmata de pila es un dispositivo que tiene acceso a: Una secuencia de smbolos de entrada, que en general se representa por una cinta que se desplaza frente a un mecanismo de captacin de dichos smbolos. El smbolo superior de una memoria en pila (LIFO) Un autmata a pila se encuentra en cada momento en un estado determinado y el estado siguiente depende de los tres elementos siguientes: Estado actual Smbolo de entrada Smbolo superior de la pila Generalmente, el autmata a pila es no determinista en el sentido de que se permite que haya varias acciones posibles en cada momento. Los autmatas de pila, en forma similar a como se usan los autmatas finitos, tambin se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A. Los autmatas de pila pueden aceptar lenguajes que no pueden aceptar los autmatas finitos. Un autmata de pila cuenta con una cinta de entrada y un mecanismo de control que puede encontrarse en uno de entre un nmero finito de estados. Uno de estos estados se designa como estado inicial, y adems algunos estados se llaman de aceptacin o finales. A diferencia de los autmatas finitos, los autmatas de pila cuentan Con una memoria auxiliar llamada pila. Los smbolos (llamados smbolos de pila) pueden ser insertados o extrados de la pila, de acuerdo con el manejo last-infirstout (LIFO). Las transiciones entre los estados que ejecutan los autmatas de pila
pg. 5

dependen de los smbolos de entrada y de los smbolos de la pila. El autmata acepta una cadena x si la secuencia de transiciones, comenzando en estado inicial y con pila vaca, conduce a un estado final, despus de leer toda la cadena x.

pg. 6

Historia y aplicaciones EPDAs fueron descritos por primera vez por K. Vijay-Shanker en su tesis doctoral 1988. Desde entonces, han sido aplicadas a descripciones ms completas de la clase de gramticas levemente sensibles al contexto y han tenido un papel importante en la ampliacin y el perfeccionamiento de la jerarqua de Chomsky a esta clase. Varios subgrammars, tales como la gramtica indexada lineal, por lo tanto se pueden definir. Tambin estn empezando a jugar un papel importante en el procesamiento del lenguaje natural. Mientras que los lenguajes naturales tradicionalmente han sido analizados mediante gramticas libres de contexto, este modelo no funciona bien para los idiomas con dependencias cruzadas, como la holandesa, situaciones para las que la EPDA es muy adecuada. Teora Un EPDA es una mquina de estados finitos con un conjunto de pilas que se puede acceder a travs de ellos la pila incorporada. Cada pila contiene elementos del alfabeto de pila, y por lo que definen un elemento de una pila por, donde la estrella es el cierre de Kleenedel alfabeto. Cada pila se puede definir en trminos de sus elementos, por lo que se denota la pila en el autmata mediante un smbolo de la doble daga:, donde sera el siguiente smbolo accesible en la pila. Definicin Un autmata con pila (PDA) es esencialmente un autmata nito que posee control sobre una pila, es decir una lista de la cual solo se puede leer, poner o sacar el primer elemento. Dado el estado actual del autmata y el primer elemento de la pila, un smbolo de input nos llevar (posiblemente en forma no determinstica) el estado siguiente y a la modicacin que se debe hacer en el primer elemento de la pila. Diremos que una cadena es aceptada por pila vaca por el PDA si cuando la aplicamos obtenemos una pila vaca. Diremos que una cadena es aceptada por estado final por el PDA si lleva el estado inicial a uno final. Los lenguajes aceptados por los autmatas con pila, tantos los aceptados por pila vaca o por estado final, son los mismos que los aceptados por las gramticas libres de contexto e incluye estrictamente a los lenguajes regulares.

pg. 7

Un autmata de pila o Push-Down es un autmata que cuenta con un mecanismo que permita almacenamiento ilimitado y opera como una pila. El autmata de pila (se abrevia PDA de sus siglas en ingls Push-Down Autmata) tiene una cinta de entrada, un control finito y una pila. La pila es una cadena de smbolos de algn alfabeto. El smbolo que se encuentra ms a la izquierda se considera como que est en la cima. El dispositivo ser no determinstico y tendr un nmero finito de alternativas de movimiento en cada situacin como se muestra en la siguiente figura. Ejemplo de un autmata de pila

Un autmata de pila (APN) es una mquina de estados finito al que se le aade una memoria externa en forma de pila (stack), es decir que slo acepta operaciones meter (push) y sacar (pop). Los movimientos sern de dos tipos. En el primer tipo de movimiento se utiliza un smbolo de entrada. Dependiendo del smbolo de entrada, del smbolo de la cima y el estado de control finito, es posible un nmero de alternativas. Cada alternativa consiste en un estado posterior para el control finito y una cadena (posiblemente vaca) de smbolos, para sustituir al smbolo que se encuentra en la cima de la pila. Despus de seleccionar una alternativa, la cabeza de entrada avanza un smbolo como se ilustra en la siguiente figura:

pg. 8

La figura anterior muestra el avance de un smbolo de entrada (q1, c, B), a un estado posterior y sustitucin de la cima de la pila {(q2, B)}. El segundo tipo de movimiento conocido como movimiento es parecido al primero, excepto que el smbolo de entrada no se utiliza y la cabeza de la entrada no avanza despus del movimiento. Este tipo de movimiento permite al PDA manipular la pila sin leer smbolos de entrada como se muestra en la figura: Manipulacin de la pila sin leer smbolo de entrada. Un autmata de pila es un autmata finito ms una pila. Se definen por la a tupla M = (Q; P ; ; ; q0; Z0; F) donde Q; P,S , q0 y F se definen igual que en un AFN. G es un alfabeto de los caracteres que pueden introducirse a la pila, y Z0 es el smbolo inicial en la misma, generalmente l (significa pila vaca), pero en ocasiones es til usar otro smbolo. La funcin de transicin es definida como: : Q x (S {l } ) x (G {l } ) [Q x (G {l })]* Es decir que el cambio de estado ya no slo depende del estado y del smbolo en la entrada, sino adems del contenido de la pila, especficamente del smbolo en el tope de la pila. El contenido de la pila puede cambiar despus de cada transicin. Para clarificar a la funcin de transicin, analicemos la parte por parte: Q x (S {l } ) x (G {l } ): Esta nos dice que los elementos del dominio son tercias (estado, alfabeto, pila) [Q x (G {l })]*: Indica que el codominio son varios pares del tipo (estado, pila).

pg. 9

Un autmata Push-Down (APD) es una coleccin de 8 cosas: 1. Un alfabeto de letras de entrada 2. Una cinta de entrada (infinita en una direccin). Inicialmente la cadena de letras de entrada se ubica en la cinta comenzando en la celda i. El resto de la cinta tiene blancos. 3. Un alfabeto de caracteres del stack. 4. Un stackpush-down (infinito en una direccin). Inicialmente el stack est vaco (contiene todos blancos). 5. Un estado start que contiene solo aristas de salida, no aristas de entrada.

6. Estados de detencin de dos clases: algunos accept y algunosreject. Tienen aristas de entrada y no aristas de salida.

7. Un nmero finito de estados pushsin ramificacin que introducen caracteres en la parte superior del stack. Son de la forma:

8.

Donde X es cualquier letra en .Un nmero finito de estados con

ramificacin de dos clases: i) estados que leen la prxima letra no usada de la cinta.

Que pueden tener aristas de salida etiquetadas con letras de y el carcter blanco , sin restricciones de duplicacin de etiquetas y sin obligacin de que haya una etiqueta para cada letra de , o una . Y ii) estados que leen el carcter superior del stack

pg. 10

Que pueden tener aristas de salida etiquetadas con letras de y el carcter blanco , nuevamente sin restricciones. Ejecutar una cadena de letras entradas en un APD significa comenzar desde el estado starty seguir las aristas no etiquetadas y las etiquetadas que generen un camino a travs del diagrama. El camino termina en un estado de detencin o har crash en algn estado que no posea ramificacin ante la lectura de un carcter de la entrada desde la cinta. Aceptores Push-Down. Definiciones Un aceptor Push-Down (APD) es una tupla de seis elementos:

M = (Q, S, U, P, I, F) en la cual:

Q es el conjunto finito de estados de la unidad de control S es un alfabeto finito de entrada U es un alfabeto finito de la pila o "stack" P es el programa de M I Q es un conjunto de estados iniciales F Q es un conjunto de estados finales o estados de aceptacin

El programa P es una secuencia finita de instrucciones, cada una de las cuales tiene una de las siguientes formas:

En cada caso, el estado q es la etiqueta o rtulo de la instruccin, y el estado q' es el estado sucesor. Cada estado en Q rotula como mximo un tipo de instruccin read, write o scan.

pg. 11

Si q es un estado cualquiera, j es un string cualquiera de S* y s es cualquier string en U*, luego (q, j, s) es una configuracin de M. El string s se llama usualmente pila o "stack" y el smbolo que se encuentra al tope de la misma se conoce como smbolo tope de la pila. Una configuracin (q, j, s) es una descripcin completa del estado total de un aceptor Push-Down en algn punto en su anlisis de una cinta de entrada. El control se encuentra en el estado q; el prefijo j del string de entrada ya ha sido explorado ("scanned") y el cabezal de entrada se posiciona en el ltimo smbolo de j; la pila s es el contenido de la cinta de almacenamiento, y el cabezal de la pila se posiciona en el ltimo smbolo de s. Autmatas de Pila y lenguajes libres de contexto Los autmatas de pila son mquinas que nos permiten aceptar lenguajes libres de contexto. Los autmatas de pila son mquinas finitas que tienen una memoria que les da la capacidad de "recordar". De esta manera es posible reconocer lenguajes del tipo aibi | i >= 0, en el que se necesita saber cuntas as tiene la palabra para determinar si el nmero de bs es igual. Clasificacin de Autmatas Push-Down Autmatas a pila embebidos Autmatas a pila embebidos ascendentes Autmatas lgicos a pila restringidos Autmatas lineales de ndices Autmatas con dos pilas. Autmatas a pila embebidos En los cuales la estructura principal de almacenamiento la constituye una pila de pilas. Junto a la definicin clsica se presenta una nueva formulacin en la cual se elimina el control de estado finito y se simplifica la forma de las transiciones al tiempo que se mantiene la potencia expresiva. Esta nueva formulacin permite disear una tcnica de tabulacin para la ejecucin eficiente de los diversos esquemas de compilacin para gramticas de adjuncin de rboles y gramticas lineales de ndices. Autmatas a pila embebidos ascendentes Constituyen los autmatas a pila embebidos ascendentes. La eliminacin del control de estado finito permite simplificar la forma de las transiciones, lo cual facilita la definicin de una tcnica de tabulacin para este modelo de autmata. Autmatas lgicos a pila restringidos
pg. 12

Las gramticas lineales de ndices constituyen un tipo especfico de gramticas de clusulas definidas en el cual los predicados tienen un nico argumento en forma de pila de ndices. Aprovechamos esta caracterstica para definir una versin restringida de los autmatas lgicos a pila adecuada al tratamiento de este tipo de gramticas y de las gramticas de adjuncin de rboles. Dependiendo de la forma de las transiciones permitidas, podemos distinguir tres tipos diferentes de autmata, uno que permite el anlisis ascendente de los ndices o adjunciones, otro que permite el anlisis descendente y otro que permite estrategias mixtas. En los dos ltimos casos es preciso establecer restricciones en la combinacin de las transiciones para garantizar que dichos autmatas aceptan exactamente la clase de los lenguajes de adjuncin de rboles. Se presentan esquemas de compilacin y tcnicas de tabulacin para los tres tipos de autmata. Autmatas lineales de ndices Los autmatas lineales de ndices, que utilizan la misma estructura de almacenamiento que los autmatas lgicos a pila restringidos pero con un juego diferente de transiciones. Distinguimos tres tipos diferentes de autmata: los autmatas lineales de ndices orientados a la derecha para estrategias en las cuales las pilas de ndices se evalan de modo ascendente, los autmatas lineales de ndices orientados a la izquierda en los cuales las pilas de se evalan de modo descendente y los autmatas lineales de ndices fuertemente dirigidos que permiten definir estrategias mixtas de anlisis para el tratamiento de las pilas de ndices. Autmatas con dos pilas Se opta por un modelo de autmata con una nueva estructura de almacenamiento. Se preserva la pila de los autmatas a pila tradicionales, a la que acompaa una pila auxiliar cuyo contenido restringe el conjunto de transiciones aplicables es un momento dado. Los autmatas con dos pilas fuertemente dirigidos permiten definir esquemas de compilacin arbitrarios para gramticas de adjuncin de rboles y gramticas lineales de ndices. Por su parte, los autmatas con dos pilas ascendentes slo permiten describir esquemas de compilacin que incorporan estrategias ascendentes en lo referente al tratamiento de las adjunciones y de las pilas de ndices. Se presentan las tcnicas de tabulacin que permiten una ejecucin eficiente de ambos modelos de autmata.

pg. 13

El funcionamiento tpico de un autmata Push-down. Por ejemplo, el siguiente autmata de pila reconoce L(G) = {wcwR|w E (0+1)*} , es decir los palndromes en (0 + 1)* cuyo punto intermedio est marcado con un carcter especial c: M = ({q1,q2}, {0,1}, {RBG}, d , q1, R, q ) Donde d vale:

Descripcin [q, w, a ] ^ [qj,v,b ] ^ * ^ + Se pueden usar descripciones instantneas para ver el funcionamiento del autmata: (q, aw, za ) ^ (p,w,b a ) si d (q,a,z) = (p,b ). La cadena de un lenguaje es aceptado por el autmata si ste para en elestado final: L(M) = {w|(q0,w,Z0) ^ (p,e ,g ) para algn p F, g G *} Autmata Push-down para el reconocimiento de lenguajes libres de contexto. Toda gramtica GLC puede ponerse en forma normal de Greibach, en donde todas las producciones son del tipo L ->aa donde a (V U T)*, a (T U {e }). Mtodo de normalizacin: Suponer V = { L 1 ... L m}. Hacer todas las producciones del estilo L i -> L jg para j >i. Si j < i, sustituir L j por sus lados derechos. Si j = i, eliminar recursin a la izquierda, sustituyendo: L i -> L a 1 | L a 2 | ... | L ia 1 || b 1 | .... |b n | por: L i -> b 1 | .... |b s | b 1B| .... |b s Bi Bi -> a 1 |a 2| .... |a T | a 1Bi| a 2Bi| .... |a T Bi Sustituir L m -> g en L m-1, despus en L m-2 y as sucesivamente. En las nuevas producciones Bi, si es necesario sustituir el primer smbolo no terminal por lo que produce. Por ejemplo en: G = ({L 1; L 2; L 3 },{a,b},P, L 1) P : L 1 -> L 2L 3
pg. 14

L 2 -> L 3L 1 | b L 3 -> L 1L 2 | a Hay que cambiar la ltima produccin en L 3 -> L 1L 2 | a L 3 -> L 2L 3L 2 | a L 3 -> L 3L 1L 3L 2 | bL 3L 2 |a y despus de eliminar la recursin a la izquierda tenemos L 3 ->bL 3L 2B3 | aB3 | bL 3L 2 | a B3 -> L 1L 3L 2 | L 1L 3L 2B3 Finalmente slo nos resta sustituir en toda produccin, a partir de L 3, los smbolos no terminales de la izquierda. Obtencin de una GLC a partir de un Autmata de Pila (push-down). Para obtener la GLC G = (V, T, P, S) correspondiente a un APN M, hay que crear primero un APN extendido M con d construida a partir de d a la que se le aade: 1. Si [ qj, e ] d ( qi, u, e ) entonces [ qj, L ] d (qi, u, L ) para toda L G . 2. Si [ qj, B ] d ( qi, u, e ) entonces [ qj, BL ] d (qi, u, L ) para toda L G . El alfabeto de entrada de G es el alfabeto de entrada de M. Las variables de G consisten de un smbolo inicial S y objetos de la forma <qi, L ,qj> donde las qs son los estados de M y L G {e }. La variable <qi, L ,qj> representa un clculo que comienza en el estado qi , termina en qj y quita el smbolo L de la pila. Las reglas de G son construidas de la siguiente manera: S < q0, e ,qj> para cada qj F. Cada transicin [ qj, B ] d ( qi, x, L ), donde L G {e } genera el conjunto de reglas {<qi, L , qk> x <qj, B, qk> | qk Q } 3. Cada transicin [ qj, BL ] d ( qi, x, L ), donde L G {e } genera el conjunto de reglas {<qi, L , qk> x <qj, B, qn><qn, L , qk> | qk , qn Q } Para cada estado qk Q ,<qk , e , qk> e Obtencin de una gramtica de contexto libre a partir de un Autmata Push-down sin estados finales. Si en lugar de tener un Autmata Push-down con estados finales como en el caso anterior tenemos un autmata Push-down que termina cuando se vaca la pila, podemos aplicar el procedimiento explicado a continuacin. Si M = (Q, S , G , d , q0, Z0, q ) es
pg. 15

una autmata Push-down, puede ser representado por la gramtica libre de contexto G = (V, S , P, S), donde V = {< q, L , p > | q, p Q ^ L G } {S} y P tiene las siguientes producciones: S [q0, Z0, q] para cada q en Q. [q, L , qm+1] a[q1,B1,q2][q2,B2,q3] ... [qm,Bm,qm+1] para cada q,q1,q2, ..., qm+1 en Q, cada a en S {e } y L , B1, B2, ... Bm en G tal que d (q,a,L )contiene a (q1, B1B2 ... Bm). Aplicacin de un Autmata Push-down El autmata para procesar un lenguaje del tipo 2 o Lenguaje de contexto libre es llamado Autmata Finito Push-down (PDFA). El elemento push-down permite que este tipo de autmata puede procesar las sentencias ms complejas que puedan resultar de un lenguaje de contexto libre. En otras palabras, una de las diferencias fundamentales entre un lenguaje del tipo 3 y uno del tipo 2 es la necesidad de "recordar" cundo fue la ocurrencia de un smbolo y cundo se gener una comparacin de smbolo. Este es el caso del lenguaje de parntesis, en el que es necesario recordar el nmero de parntesis izquierdo en orden para reconocer el nmero de parntesis derecho correcto. El Autmata Pushdown mantiene un stack que es usado como memoria para este propsito. En el autmata finito de estados, las transiciones entre estados se basan slo en el estado actual y en el carcter de la cadena de entrada. EN el caso de los autmatas Pushdown la transicin es una funcin del estado actual, el carcter actual en la cadena de entrada y el carcter actual en la CIMA del stack del autmata Push-down. En el lenguaje de parntesis, es necesario no perder de vista cada parntesis izquierdo que es encontrado, adems de cundo se ha encontrado un parntesis derecho despus en la sentencia. Esto puede hacerse poniendo una marca en el stack del Autmata Push-down cada vez que se encuentra un parntesis izquierdo. Cuando se encuentra un parntesis derecho en la sentencia de entrada, se hace una transicin de estado se hace solo si el stack tiene la marca correspondiente; y en caso contrario, entonces la sentencia no es parte del lenguaje de parntesis. Si el ltimo estado del autmata push-down no es un estado de aceptacin entonces la sentencia no es parte del lenguaje.

pg. 16

Figura 3.5.1.- Autmata de Estados Finitos para el Lenguaje de Parntesis. El primer paso del autmata del diseo de un autmata de push-down para el lenguaje de parntesis es desarrollar un autmata finito como el siguiente. El autmata finito para el lenguaje de parntesis consiste en un control de 4 estados: el estado inicial (S), el estado para el procesamiento del parntesis izquierdo (L), el estado para el procesamiento del parntesis derecho (R) y el estado final (F). En este caso asumimos que una sentencia de lenguaje termina por el smbolo (#). Este carcter final, cuando es encontrado realiza una transicin desde el estado R hasta el estado F. Pero qu tipo de sentencias en lenguaje de parntesis podr reconocer este autmata finito por ejemplo: El parntesis izquierdo inicial nos indica hacer una transicin desde el estado Sistemas al estado L y el siguiente parntesis izquierdo causa una transicin hacer esta al mismo estado L. Luego el primer parntesis derecho es procesado y se hace una transicin al estado R. En el estado R si se encuentra otro parntesis izquierdo, se har una transicin de regreso al estado L. El siguiente parntesis derecho es procesado, y se hace una transicin al estado R una vez ms. El siguiente parntesis causa una transicin en el mismo estado R. Finalmente (#) causa una transicin al estado final y la sentencia es reconocida. Y la sentencia es (()()) # . Pasos del reconocimiento de la sentencia anterior. El autmata finito push-down tiene la memoria necesaria para no perder de vista los parntesis izquierdos y as es como estos son procesados en una sentencia del lenguaje de parntesis. Al autmata finito se le aumentan operaciones destack (PILA), para que pueda procesar elementos de una sentencia y sea capaz de no perder de vista

pg. 17

los parntesis. El autmata aumentado (PDFA) se muestra en la siguiente figura.

Figura 3.5.4.- Autmata Finito push-down para el lenguaje de parntesis Aceptores Push-Down Propios Nuestra definicin de APD no permite ciertos comportamientos anmalos o no productivos. En particular: 1.- Un APD no puede explorar ms all del final del stringque est en la cinta de entrada, debido a que no puede hacer un movimiento en el cual un "numeral" sea explorado. 2.- Un APD no puede mover su cabezal sobre la pila a la izquierda del primer segmento de la cinta de almacenamiento, ya que no puede realizar un movimiento en el cual un "numeral" sea ledo de la pila. Sin embargo, otros dos tipos de comportamientos improductivos que pueden ocurrir, y que pueden conducir a dificultades en el anlisis de las propiedades de aceptores Push-Down, son: 3.- Uno se produce cuando un movimiento de read ocurre inmediatamente despus de un movimiento de write. 4.- El otro es una repeticin sin fin de sucesivos movimientos de write (ciclo). Supongamos que un APD M tiene una secuencia de movimientos en la cual un movimiento de write es seguido por un movimiento de read, y en esta secuencia no intervienen movimientos de scan:

Este par de movimientos no tiene un efecto neto adems de hacer que la unidad de control cambie entre los estados q y q". Esta secuencia de movimientos
pg. 18

inconsistentes puede ocurrir solamente si M tiene una instruccin de escritura: q] write (u, q') para la cual el estado sucesor q' es el rtulo de una instruccin read. En el programa de un APD M, una instruccin write: q] write (u, q') es impropia si q' es el rtulo de una instruccin read cualquiera. Una APD es propio si su programa no contiene instrucciones impropias. Las instrucciones impropias son fcilmente identificables en el diagrama de estados de un APD, y pueden ser eliminadas sin modificar el comportamiento de la mquina en lo referente al lenguaje reconocido. En particular, si M es un APD cualquiera, es posible construir un APDP mediante la adicin y el borrado de instrucciones tal como sigue.

Obsrvese que no hay transiciones para todas las ternas posibles de estado, smbolo de entrada y smbolo de pila. Por lo tanto, si el PDA pasa a un estado para el cual no se especifica un estado siguiente y una accin de la pila para los smbolos actuales de la pila y la entrada, el PDA no puede volver a realizar ningn movimiento. En particular, cuando el autmata est en el estado q4, que es el estado de aceptacin, no hay ninguna transicin sea cual sea el smbolo de la cima y de la entrada. Si el PDA se mueve al estado q2, entonces obsrvese que cada vez que aparece en la entrada se apila una B en la pila. El PDA permanece en el estado q2 hasta que se encuentra la primera b entonces se mueve al estado q3, ninguna b puede preceder a una a.
pg. 19

Finalmente, en el estado q3 slo se consideran las bs y, cuando se encuentra cualquier b, se desapila B de la pila. (Slo pueden desapilarse las Bs que fueron apiladas, debido a encontrarse una a en la entrada). Las nicas cadenas que acepta el PDA pertenecen al lenguaje puesto que son las nicas cadenas de entrada que, una vez que han sido consumidas, causan que el PDA termine en el estado final q4. Autmatas de pila Desafortunadamente los autmatas de conteo no son suficientemente poderosos para reconocer todos los LLC. En ocasiones se requiere ms de un tipo de cuenta o roca o en lugar de una bolsa. Se utiliza un stack o pila LIFO (Last In FirstOut) en el cual el orden es importante. La accin que lleva a cabo el autmata slo es influenciada no slo por el estado en que se encuentra y por el smbolo que lee, sino tambin por el tipo de piedra u objeto que se encuentra arriba en la pila.

Representacin grfica de un AP La transicin ((p, u, b), (q, g)), d(p, u, b) = (q, g), se presenta grficamente por

Y, significa que cuando estamos en el estado p, leemos de la palabra de entrada el smbolo u y sacamos del stack el smbolo b, entonces pasamos al estado q y ponemos en la pila la cadena g. Y, significa que cuando estamos en el estado p, leemos de la palabra de entrada el smbolo u y sacamos del stack el smbolo b, entonces pasamos al estado q y ponemos en la pila la cadena g.
pg. 20

Ejemplo Autmata de pila que acepte {aibi | i m 0}

K = {q0, q1} S = {a, b} G = {A} s0 = q0 F = {q0, q1} d(q0, a, l) = (q0, A) d(q0, b, A) = (q1, l) d(q1, b, A) = (q1, l)

pg. 21

Ejemplo: palndromos de longitud impar

Ejemplo: palndromos de longitud par

pg. 22

Ejemplo

pg. 23

Conclusin

El anlisis de este nivel de autmatas especficamente de Push-Down nos permiti abrir el horizonte mostrando en cada punto de la investigacin la existencia de mltiples herramientas que pueden favorecer en nuestro trabajo del da a da, las cuales ya estn demostradas en su funcionamiento desde su inicio y existir siempre la seguridad de que no habr un problema con dicho anlisis. Donde adems de conocer se obtuvieron informaciones, en las cuales se destacaron que los autmatas de pila, en forma similar a como se usan los autmatas finitos, tambin se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A; a diferencia de los autmatas finitos, los autmatas de pila si cuentan con una memoria auxiliar llamada pila. Y sobre todo las transiciones entre los estados que ejecutan los autmatas de pila dependen de los smbolos de entrada y de los smbolos de la pila.

Esperando que este artculo de investigacin pueda aportar conocimientos y a su vez servir de apoyo a la hora de indagar dicho tema.

pg. 24

Glosario Autmata: Es una mquina capaz de efectuar por s misma un cierto nmero de operaciones previamente especificadas. Pila: Lista de elementos a la cual se puede insertar o eliminar elementos slo por uno de sus extremos. Compilador: Programa escrito generalmente en lenguaje de mquina que permite compilar. Compilar: Producir una rutina en lenguaje mquina mediante una rutina escrita en otro lenguaje diferente a la mquina. Extraer (Pop): Reemplazar el contenido de una parte especfica de una palabra con las partes correspondientes de otra palabra, lo cual es determinado por algn tipo de control de patrn. Instruccin: Conjunto de caracteres que representan una orden dada a la mquina y que esta puede cumplir. Lenguaje: Conjunto de caracteres, smbolos, palabras, frases, instrucciones y reglas que permiten escribir y describir programas para una aplicacin dada. Lenguaje de mquina: Sistema de instrucciones que es directamente utilizable por la mquina, tal como se encuentra en la memoria principal en el momento en que est cargada. Lenguaje de programacin: Aquel que utilizan los programadores para escribir un programa en forma ms o menos cmoda y que lo general requiere una traduccin para ser transformado a lenguaje de mquina. Embebido: sistema de computacin diseado para realizar una o algunas pocas funciones dedicadas frecuentemente en un sistema de computacin en tiempo real.

pg. 25

Referencias Centro de Artigos (S.F). Historia, aplicaciones y teora. Recuperado el 20 de Febrero del 2014 de: http://centrodeartigos.com/articulos-revista-digital/contenidorevista-30635.html CS. Famaf (2012). Definicin. Recuperado el 20 de Febrero del 2014 de: http://www.cs.famaf.unc.edu.ar/wiki/lib/exe/fetch.php?media=intrologica:autom atas2012.pdf Frro.utn.edu (S.F) Automata Push-Down. Recuperado el 20 de Febrero del 2014 de: http://www.frro.utn.edu.ar/repositorio/catedras/sistemas/2_anio/sintaxis/PushDo wn_y_Turing.pdf OOcities. (S.F). Autmatas de pila. Recuperado el 20 de Febrero del 2014 de: http://www.oocities.org/mx/prog_sis_itq/Equipo3/autopush.html#_Toc52627736 8 OOcities. (S.F) Clasificacin de autmatas Push-Down. Recuperado el 20 de Febrero del 2014 del:http://www.oocities.org/mx/prog_sis_itq/Equipo3/autopush.html#_ OOcities (S.F) Ejemplo de un autmata de pila. Recuperado el 20 de Febrero del 2014 de: http://www.oocities.org/mx/prog_sis_itq/Equipo3/autopush.html#_Toc52627736 8 Portal Tecnologa. (2010). Aceptores Push-Down. Recuperado el 20 de Febrero del 2014 del: http://www.portaltecnologica.com.ar/wpcontent/uploads/2010/03/Unidad-3.pdf Portal tecnologa (2010). Aplicacin de un autmata push-down. Recuperado el 20 de Febrero del 2014 de: http://www.portaltecnologica.com.ar/wp-

content/uploads/2010/03/Unidad-3.pdf Teo de la Comp (2011) Aceptores Push-Down Propios. Recuperado el 20 de Febrero del 2014 de: http://teodelacomp.blogspot.com/2011/03/automata-pushdown.html Teo de la Comp (2011) Ejemplo de un autmata de pila. Recuperado el 20 de Febrero del
2014 de: http://teodelacomp.blogspot.com/2011/03/automata-push-down.html

pg. 26

Potrebbero piacerti anche