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)se puede definir como una 7-tupla:
dónde
- es un conjunto finito de estados
- es un conjunto finito de símbolos de entrada
- es un conjunto finito de símbolos de pila
- es el estado inicial
- es el símbolo de pila inicial
- , dóndees el conjunto de estados de aceptación o finales
- es una función de transición, donde
- dóndees la estrella de Kleene , lo que significa quees "el conjunto de todas las cadenas finitas (incluida la cadena vacía)) de elementos de",denota la cadena vacía yes el conjunto potencia de un conjunto.
M es determinista si satisface las dos condiciones siguientes:
- Para cualquier, el conjuntotiene como máximo un elemento.
- Para cualquier, si, entoncespor cada
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
Sies un idioma aceptado por un PDA, 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 a. SiSi 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 n ∈ L p y 0 n 11 0 n +2 ∉ L 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 n ∈ L p y 0 n 11 0 n 0 n +2 11 0 n +2 ∉ L 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
- ↑ Michael Sipser (1997). Introducción a la teoría de la computación . PWS Publishing. pág . 102. ISBN 0-534-94728-X.
- ↑ Soltys-Kulinicz, Michael (2018). Introducción al análisis de algoritmos (3.ª ed.). World Scientific. pp. 193, 195. ISBN 9789813235922.
- ↑ 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.
- ↑ 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 .
- ↑ Kurki-Suonio, R. (1969). "Notas sobre lenguajes descendentes". BIT . 9 (3): 225– 238. doi : 10.1007/BF01946814 . S2CID 60912010 .
- ↑ 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
- ↑ 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.
- ↑ 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.
- ↑ 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 .
- ↑ 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
- Hamburger, Henry; Dana S. Richards (2002). Modelos lógicos y lingüísticos para la informática . Upper Saddle River, NJ 07458: Prentice Hall. pp. 284–331 . ISBN 0-13-065487-6.
{{cite book}}: CS1 mantenimiento: ubicación ( enlace )
- Autómatas (computación)
- Modelos de computación
- Lenguajes formales