Articulo de referencia

Autómata de pila determinista

En la teoría de autómatas , un autómata de pila determinista ( DPDA o DPA ) es una variación del autómata de pila . La clase de autómatas de pila deterministas acepta los lengua...

En la teoría de autómatas , un autómata de pila determinista ( DPDA o DPA ) es una variación del autómata de pila . La clase de autómatas de pila deterministas acepta los lenguajes libres de contexto deterministas , un subconjunto propio de los lenguajes libres de contexto . [ 1 ]

Las transiciones de la máquina se basan en el estado actual y el símbolo de entrada, así como en el símbolo superior actual de la pila. Los símbolos inferiores de la pila no son visibles y no tienen efecto inmediato. Las acciones de la máquina incluyen insertar, extraer o reemplazar el elemento superior de la pila. Un autómata de pila determinista tiene como máximo una transición válida para la misma combinación de símbolo de entrada, estado y símbolo superior de la pila. Aquí radica su diferencia con el autómata de pila no determinista.

Definición formal

Un generador de números de pila (no necesariamente determinista)METRO{\displaystyle M}se puede definir como una 7-tupla:

METRO=(Q,Σ,Γ,q0,Z0,A,δ){\displaystyle M=(Q\,,\Sigma \,,\Gamma \,,q_{0}\,,Z_{0}\,,A\,,\delta \,)}

dónde

  • Q{\displaystyle Q\,}es un conjunto finito de estados
  • Σ{\displaystyle \Sigma \,}es un conjunto finito de símbolos de entrada
  • Γ{\displaystyle \Gamma \,}es un conjunto finito de símbolos de pila
  • q0Q{\displaystyle q_{0}\,\in Q\,}es el estado inicial
  • Z0Γ{\displaystyle Z_{0}\,\en \Gamma \,}es el símbolo de pila inicial
  • AQ{\displaystyle A\,\subsetequ Q\,}, dóndeA{\displaystyle A}es el conjunto de estados de aceptación o finales
  • δ{\displaystyle \delta \,}es una función de transición, donde
δ:(Q×(Σ{ε})×Γ)PAG(Q×Γ){\displaystyle \delta \colon (Q\,\times (\Sigma \,\cup \left\{\varepsilon \,\right\})\times \Gamma \,)\longrightarrow {\mathcal {P}}(Q\times \Gamma ^{*})}
dónde{\displaystyle *}es la estrella de Kleene , lo que significa queΓ{\displaystyle \Gamma ^{*}}es "el conjunto de todas las cadenas finitas (incluida la cadena vacía)ε{\displaystyle \varepsilon }) de elementos deΓ{\displaystyle \Gamma }",ε{\displaystyle \varepsilon }denota la cadena vacía yPAG(incógnita){\displaystyle {\mathcal {P}}(X)}es el conjunto potencia de un conjuntoincógnita{\displaystyle X}.

M es determinista si satisface las dos condiciones siguientes:

  • Para cualquierqQ,aΣ{ε},incógnitaΓ{\displaystyle q\in Q,a\in \Sigma \cup \left\{\varepsilon \right\},x\in \Gamma }, el conjuntoδ(q,a,incógnita){\displaystyle \delta (q,a,x)\,}tiene como máximo un elemento.
  • Para cualquierqQ,incógnitaΓ{\displaystyle q\in Q,x\in \Gamma }, siδ(q,ε,incógnita){\displaystyle \delta (q,\varepsilon ,x)\not =\emptyset \,}, entoncesδ(q,a,incógnita)={\displaystyle \delta \left(q,a,x\right)=\emptyset }por cadaaΣ.{\displaystyle a\in \Sigma .}

Existen dos criterios de aceptación posibles: aceptación por pila vacía y aceptación por estado final . Ambos no son equivalentes para el autómata de pila determinista (aunque sí lo son para el autómata de pila no determinista). Los lenguajes aceptados por pila vacía son aquellos que son aceptados por estado final y no contienen prefijos: ninguna palabra del lenguaje es prefijo de otra palabra del mismo lenguaje. [ 2 ] [ 3 ]

El criterio de aceptación habitual es el estado final , y es este criterio de aceptación el que se utiliza para definir los lenguajes deterministas libres de contexto .

Idiomas reconocidos

SiL(A){\displaystyle L(A)}es un idioma aceptado por un PDAA{\displaystyle A}, también puede ser aceptado por un DPDA si y solo si hay un único cálculo desde la configuración inicial hasta uno que acepte para todas las cadenas pertenecientes aL(A){\displaystyle L(A)}. SiL(A){\displaystyle L(A)}Si un autómata de pila (AP) puede aceptarlo, es un lenguaje libre de contexto, y si un autómata de pila determinista (APD) puede aceptarlo, es un lenguaje libre de contexto determinista (LCPD).

No todos los lenguajes libres de contexto son deterministas. Esto hace que el DPDA sea un dispositivo estrictamente más débil que el PDA. Por ejemplo, el lenguaje L p de palíndromos de longitud par en el alfabeto de 0 y 1 tiene la gramática libre de contexto S → 0S0 | 1S1 | ε. Si existe un DPDA para este lenguaje y ve una cadena 0 n , debe usar su pila para memorizar la longitud n , para poder distinguir sus posibles continuaciones 0 n 11 0 nL p y 0 n 11 0 n +2L p . Por lo tanto, después de leer 0 n 11 0 n , comparar la longitud posterior a "11" con la longitud anterior a "11" hará que la pila vuelva a estar vacía. Por esta razón, las cadenas 0 n 11 0 n 0 n 11 0 nL p y 0 n 11 0 n 0 n +2 11 0 n +2L p no se pueden distinguir. [ 4 ]

Restringir el DPDA a un solo estado reduce la clase de lenguajes aceptados a los lenguajes LL(1) [ 5 ] , que es una subclase propia del DCFL [ 6 ] . En el caso de un PDA, esta restricción no tiene efecto sobre la clase de lenguajes aceptados.

Propiedades

Cierre

Las propiedades de cierre de los lenguajes libres de contexto deterministas (aceptados por un autómata de pila determinista por estado final) difieren drásticamente de las de los lenguajes libres de contexto. Por ejemplo, son (efectivamente) cerrados bajo complementación, pero no bajo unión. Demostrar que el complemento de un lenguaje aceptado por un autómata de pila determinista también es aceptado por dicho autómata es complejo, ya que hay que evitar cálculos infinitos y gestionar correctamente las transiciones que manipulan la pila sin leer los símbolos de entrada. [ 7 ]

Como consecuencia de la complementación, es posible determinar si un autómata de pila determinista acepta todas las palabras de su alfabeto de entrada, comprobando si su complemento está vacío. Esto no es posible para las gramáticas libres de contexto (y, por lo tanto, no para los autómatas de pila generales).

Problema de equivalencia

Géraud Sénizergues (1997) demostró que el problema de equivalencia para PDA deterministas (es decir, dados dos PDA deterministas A y B, ¿es L(A)=L(B)?) es decidible, [ 8 ] [ 9 ] [ 10 ] una demostración que le valió el Premio Gödel 2002. Para PDA no deterministas, la equivalencia es indecidible.

Notas

  1. Michael Sipser (1997). Introducción a la teoría de la computación . PWS Publishing. pág . 102. ISBN  0-534-94728-X.
  2. Soltys-Kulinicz, Michael (2018). Introducción al análisis de algoritmos (3.ª ed.). World Scientific. pp. 193, 195. ISBN   9789813235922.
  3. Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2006). Introducción a la teoría de autómatas, lenguajes y computación (3.ª ed.). Addison-Wesley. págs. 234, 254. ISBN   0-321-45536-3.
  4. Hopcroft, John ; Rajeev Motwani ; Jeffrey Ullman (2001). Introducción a la teoría de autómatas, lenguajes y computación (2.ª ed.). Addison-Wesley. págs. 249-253 .  
  5. Kurki-Suonio, R. (1969). "Notas sobre lenguajes descendentes". BIT . 9 (3): 225– 238. doi : 10.1007/BF01946814 . S2CID 60912010 . 
  6. Rosenkrantz, DJ; Stearns, RE (1970). "Propiedades de las gramáticas deterministas descendentes" . Information and Control . 17 (3): 226– 256. doi : 10.1016/s0019-9958(70)90446-8 .Aquí: págs . 246-247
  7. Hopcroft, John E.; Ullman, Jeffrey D. (1969-01-01), "Autómatas de pila deterministas" , Lenguajes formales y su relación con los autómatas , EE. UU.: Addison-Wesley Longman Publishing Co., Inc. , consultado el 29 de mayo de 2024.
  8. Sénizergues, Géraud (1997). "El problema de equivalencia para autómatas de pila deterministas es decidible". Proc. Int. Coll. on Automata, Languages, and Programming (ICALP) . Lecture Notes in Computer Science . Vol. 1256. pp. 671–681 . doi : 10.1007/3-540-63165-8_221 . ISBN   978-3-540-63165-1. Versión completa: Géraud Sénizergues (1997). ¿L ( A ) = L ( B )? (Informe Técnico 1161-97). Universidad de Burdeos, LaBRI.
  9. Géraud Sénizergues (2001). "Estudio fundamental: L ( A ) = L ( B )? la decidibilidad resulta de sistemas formales completos". Theoretical Computer Science . 251 ( 1– 2): 1– 166. doi : 10.1016/S0304-3975(00)00285-1 .
  10. Géraud Sénizergues (2002). " L ( A ) = L ( B )? Una prueba de decidibilidad simplificada" . Theoretical Computer Science . 281 ( 1– 2): 555– 608. doi : 10.1016/S0304-3975(02)00027-0 .

Lecturas adicionales