Articulo de referencia

Autómata de pila integrado

Un autómata de pila embebido ( EPDA ) es un modelo computacional para analizar lenguajes generados por gramáticas de adjunción de árboles (TAG). Es similar al autómata de pila p...

Un autómata de pila embebido ( EPDA ) es un modelo computacional para analizar lenguajes generados por gramáticas de adjunción de árboles (TAG). Es similar al autómata de pila para el análisis de gramáticas libres de contexto , pero en lugar de usar una pila simple para almacenar símbolos, utiliza una pila de pilas iteradas que almacenan símbolos, lo que confiere a las TAG una capacidad generativa intermedia entre gramáticas libres de contexto y sensibles al contexto , o un subconjunto de gramáticas ligeramente sensibles al contexto . Los autómatas de pila embebidos no deben confundirse con los autómatas de pila anidados, que poseen mayor capacidad computacional.

Historia y aplicaciones

Las EPDA fueron descritas por primera vez por K. Vijay-Shanker en su tesis doctoral de 1988. [ 1 ] Desde entonces, se han aplicado a descripciones más completas de clases de gramáticas ligeramente sensibles al contexto y han desempeñado un papel importante en el refinamiento de la jerarquía de Chomsky . De este modo, se pueden definir varias subgramáticas, como la gramática indexada lineal . [ 2 ]

Si bien las lenguas naturales se han analizado tradicionalmente utilizando gramáticas libres de contexto (véase gramática transformacional-generativa y lingüística computacional ), este modelo no funciona bien para lenguas con dependencias cruzadas, como el neerlandés, situaciones para las que un EPDA resulta muy adecuado. Un análisis lingüístico detallado está disponible en Joshi, Schabes (1997). [ 3 ]

Teoría

Un EPDA es una máquina de estados finitos con un conjunto de pilas a las que se puede acceder a través de la pila integrada . Cada pila contiene elementos del alfabeto de pila.Γ{\displaystyle \,\Gamma }y así definimos un elemento de una pila medianteσiΓ{\displaystyle \,\sigma _{i}\in \Gamma ^{*}}donde la estrella es el cierre de Kleene del alfabeto.

Cada pila se puede definir entonces en términos de sus elementos, por lo que denotamos laj{\displaystyle \,j}la pila en el autómata usando un símbolo de doble daga:Yj=σj={σj,k,σj,k1,,σj,1}{\displaystyle \,\Upsilon _{j}=\ddagger \sigma _{j}=\{\sigma _{j,k},\sigma _{j,k-1},\ldots ,\sigma _{j,1}\}}, dóndeσj,k{\displaystyle \,\sigma _{j,k}}sería el siguiente símbolo accesible en la pila. La pila incrustada demetro{\displaystyle \,m}Las pilas pueden denotarse de la siguiente manera:{Yj}={σmetro,σmetro1,,σ1}(Γ+){\displaystyle \,\{\Upsilon _{j}\}=\{\ddagger \sigma _{m},\ddagger \sigma _{m-1},\ldots ,\ddagger \sigma _{1}\}\in (\ddagger \Gamma ^{+})^{*}}.

Definimos un EPDA mediante la séptima (séptima tupla)

METRO=(Q,Σ,Γ,δ,q0,QF,σ0){\displaystyle \,M=(Q,\Sigma ,\Gamma ,\delta ,q_{0},Q_{\textrm {F}},\sigma _{0})}dónde
  • Q{\displaystyle \,Q}es un conjunto finito de estados ;
  • Σ{\displaystyle \,\Sigma }es el conjunto finito del alfabeto de entrada ;
  • Γ{\displaystyle \,\Gamma }es el alfabeto de pila finito ;
  • q0Q{\displaystyle \,q_{0}\in Q}es el estado inicial ;
  • QFQ{\displaystyle \,Q_{\textrm {F}}\subseteq Q}es el conjunto de estados finales ;
  • σ0Γ{\displaystyle \,\sigma _{0}\in \Gamma }es el símbolo de pila inicial
  • δ:Q×Σ×ΓS{\displaystyle \,\delta :Q\times \Sigma \times \Gamma \rightarrow S}es la función de transición , dondeS{\displaystyle \,S}son subconjuntos finitos deQ×(Γ+)×Γ×(Γ+){\displaystyle \,Q\times (\ddagger \Gamma ^{+})^{*}\times \Gamma ^{*}\times (\ddagger \Gamma ^{+})^{*}}.

Así, la función de transición toma un estado, el siguiente símbolo de la cadena de entrada y el símbolo superior de la pila actual, y genera el siguiente estado, las pilas que se insertarán y extraerán de la pila incrustada , la inserción y extracción de la pila actual, y las pilas que se considerarán las pilas actuales en la siguiente transición. De forma más conceptual, la pila incrustada se inserta y extrae, la pila actual se inserta opcionalmente de nuevo en la pila incrustada , y cualquier otra pila que se desee se inserta encima de esta, siendo la última pila la que se leerá en la siguiente iteración. Por lo tanto, las pilas se pueden insertar tanto por encima como por debajo de la pila actual.

Una configuración dada se define por

do(METRO)={q,YmetroY1,incógnita1,incógnita2}Q×(Γ+)×Σ×Σ{\displaystyle \,C(M)=\{q,\Upsilon _{m}\ldots \Upsilon _{1},x_{1},x_{2}\}\in Q\times (\ddagger \Gamma ^{+})^{*}\times \Sigma ^{*}\times \Sigma ^{*}}

dóndeq{\displaystyle \,q}es el estado actual, elY{\displaystyle \,\Upsilon }s son las pilas en la pila incrustada , conYmetro{\displaystyle \,\Upsilon _{m}}la pila actual y para una cadena de entradaincógnita=incógnita1incógnita2Σ{\displaystyle \,x=x_{1}x_{2}\in \Sigma ^{*}},incógnita1{\displaystyle \,x_{1}}es la porción de la cadena ya procesada por la máquina yincógnita2{\displaystyle \,x_{2}}es la porción a procesar, siendo su cabeza el símbolo leído actualmente. Tenga en cuenta que la cadena vacíaϵΣ{\displaystyle \,\epsilon \in \Sigma }se define implícitamente como un símbolo de terminación, donde si la máquina está en un estado final cuando se lee la cadena vacía, se acepta toda la cadena de entrada , y si no, se rechaza . Dichas cadenas aceptadas son elementos del lenguaje.

L(METRO)={incógnita|{q0,Y0,ϵ,incógnita}METRO{qF,YmetroY1,incógnita,ϵ}}{\displaystyle \,L(M)=\left\{x|\{q_{0},\Upsilon _{0},\epsilon ,x\}\rightarrow _{M}^{*}\{q_{\textrm {F}},\Upsilon _{m}\ldots \Upsilon _{1},x,\epsilon \}\right\}}

dóndeqFQF{\displaystyle \,q_{\textrm {F}}\in Q_{\textrm {F}}}yMETRO{\displaystyle \,\rightarrow _{M}^{*}}define la función de transición que se aplica tantas veces como sea necesario para analizar la cadena.

También se puede encontrar una descripción informal de EPDA en Joshi, Schabes (1997), [ 3 ] Sect.7, págs.  23-25.

EPDA de orden k y la jerarquía de Weir

David J. Weir definió una jerarquía de lenguajes definida con mayor precisión que corresponde a la clase ligeramente sensible al contexto. [ 4 ] Basada en el trabajo de Nabil A. Khabbaz, [ 5 ] [ 6 ] la jerarquía de lenguajes de control de Weir es una jerarquía de contención de un conjunto contable de clases de lenguajes donde el Nivel 1 se define como libre de contexto, y el Nivel 2 es la clase de adjunción de árboles y las otras tres gramáticas.

A continuación se presentan algunas de las propiedades de los lenguajes de nivel k en la jerarquía:

  • Los lenguajes de nivel k están contenidos propiamente en la clase de lenguaje de nivel ( k  +  1).
  • Los lenguajes de nivel k se pueden analizar enO(norte32k1){\displaystyle O(n^{3\cdot 2^{k-1}})}tiempo
  • El nivel k contiene el lenguaje{a1nortea2knorte|norte0}{\displaystyle \{a_{1}^{n}\dotso a_{2^{k}}^{n}|n\geq 0\}}pero no{a1nortea2k+1norte|norte0}{\displaystyle \{a_{1}^{n}\dotso a_{2^{k+1}}^{n}|n\geq 0\}}
  • El nivel k contiene el lenguaje{w2k1|w{a,b}}{\displaystyle \{w^{2^{k-1}}|w\in \{a,b\}^{*}\}}pero no{w2k1+1|w{a,b}}{\displaystyle \{w^{2^{k-1}+1}|w\in \{a,b\}^{*}\}}

Esas propiedades se corresponden bien (al menos para valores pequeños de k  >  1) con las condiciones de los lenguajes ligeramente sensibles al contexto impuestas por Joshi, y a medida que k aumenta, la clase de lenguajes se vuelve, en cierto sentido, menos sensible al contexto.

Véase también

Referencias

  1. Vijay-Shanker, K. (enero de 1988). "Un estudio de gramáticas de adjunción de árboles" . Tesis doctoral . Universidad de Pensilvania .
  2. Weir, David J. (1994). "Linear Iterated Pushdowns" (PDF) . Computational Intelligence . 10 (4): 431– 439. doi : 10.1111/j.1467-8640.1994.tb00007.x . S2CID 205570628. Recuperado el 20 de octubre de 2012 . 
  3. 1 2 Joshi, Aravind K.; Yves Schabes (1997). «Gramáticas de unión de árboles» (PDF) . Manual de lenguajes formales . Vol. 3. Springer. págs. 69–124 . doi : 10.1007/978-3-642-59126-6_2 . ISBN   978-3-642-63859-6Archivado del original (PDF) el 24-09-2015 . Consultado el 07-02-2014 .
  4. Weir, DJ (1992), "Una jerarquía geométrica más allá de los lenguajes libres de contexto", Theoretical Computer Science , 104 (2): 235– 261, doi : 10.1016/0304-3975(92)90124-X .
  5. Nabil Anton Khabbaz (1972). Lenguajes libres de contexto generalizados (Ph.D.). Universidad de Iowa.
  6. Nabil Anton Khabbaz (1974). "Una jerarquía geométrica de lenguajes". J. Comput. Syst. Sci . 8 (2): 142– 157. doi : 10.1016/s0022-0000(74)80052-8 .

Lecturas adicionales

  • Laura Kallmeyer (2010). Análisis sintáctico más allá de las gramáticas libres de contexto . Springer Science & Business Media. ISBN 978-3-642-14846-0.