Consulte el final de esta publicación para obtener algunas aclaraciones sobre las definiciones de los autómatas min-heap.
Uno puede imaginarse usando una variedad de estructuras de datos para almacenar información para uso de las máquinas de estado. Por ejemplo, los autómatas push-down almacenan información en una pila, y las máquinas Turing usan una cinta. Se ha demostrado que las máquinas de estado que usan colas, y las que usan dos pilas o cintas múltiples, son equivalentes en potencia a las máquinas de Turing.
Imagina una máquina de montón mínimo. Funciona exactamente como un autómata push-down, con las siguientes excepciones:
- En lugar de ver lo último que agregó al montón, solo puede ver el elemento más pequeño (con el orden definido por máquina) actualmente en el montón.
- En lugar de eliminar lo último que agregó al montón, solo puede eliminar uno de los elementos más pequeños (con el orden definido por máquina) actualmente en el montón.
- En lugar de agregar un elemento a la parte superior del montón, solo puede agregar un elemento al montón, con su posición determinada de acuerdo con los otros elementos en el montón (con el orden definido por máquina).
Esta máquina puede aceptar todos los idiomas normales, simplemente al no usar el montón. También puede aceptar el lenguaje mediante la adición de @ s al montón, y la eliminación de 's de la pila cuando se lee 's. Puede aceptar una variedad de otros lenguajes sin contexto. Sin embargo, no puede aceptar, por ejemplo, (indicado sin prueba). EDITAR: ¿o puede? No creo que pueda, pero me he sorprendido antes, y estoy seguro de que seguiré sorprendiéndome cuando mis suposiciones de seguir haciéndome un ... bueno.
¿Puede aceptar idiomas sensibles al contexto o completos de Turing?
En términos más generales, ¿qué investigación, si alguna, se ha llevado a cabo en esta dirección? ¿Qué resultados hay, si los hay? También estoy interesado en otras variedades de máquinas de estado exóticas, posiblemente aquellas que usan otras estructuras de datos para el almacenamiento o varios tipos de restricciones de acceso (por ejemplo, cómo las LBA son TM restringidas). Las referencias son apreciadas. Pido disculpas de antemano si esta pregunta demuestra ignorancia.
Definicion formal:
Proporciono algunas definiciones más detalladas de los autómatas de min-montón aquí para aclarar la discusión adicional en preguntas que hacen referencia a este material.
Definimos un autómata de montón mínimo no determinista de tipo 1 como una tupla de 7 donde ...
- es un conjunto de estados finito, no vacío;
- es el estado inicial;
- es el conjunto de estados de aceptación;
- es un alfabeto de entrada finito, no vacío;
- es un alfabeto de entrada finito, no vacío, donde el peso de un símbolo γ ∈ Γ , w ( γ ) ∈ N , es tal que w ( γ 1 ) = w ( γ 2 ) ;
- es el símbolo especial de la parte inferior del montón;
- es la función de transición.
La función de transición funciona asumiendo un montón inicialmente vacío que consta de solo . La función de transición puede añadir a la pila una colección arbitraria (finito, pero posiblemente vacío o con repeticiones) de elementos gamma 1 , γ 2 , . . . , γ k ∈ Γ . Alternativamente, la función de transición puede eliminar una instancia del elemento γ con el peso más bajo w ( γ )de todos los elementos restantes en el montón (es decir, el elemento en la parte superior del montón). La función de transición solo puede usar la instancia de símbolo superior (es decir, de peso mínimo) para determinar cualquier transición dada.
Además, defina un autómata de montón mínimo determinista de tipo 1 para que sea un autómata de montón mínimo no determinista de tipo 1 que satisfaga la siguiente propiedad: para todas las cadenas tal que | x | = N y sigma ∈ sigma , | δ n + 1 ( q 0 , x σ y , Z 0 ) | ≤ 1 .
Defina también un autómata de montón mínimo no determinista de tipo 2 exactamente igual que un autómata de montón mínimo no determinista de tipo 1, excepto por los siguientes cambios:
- es un alfabeto de entrada finito, no vacío, donde el peso de un símbolo γ ∈ Γ , w ( γ ) ∈ N , es tal que w ( γ 1 ) = w ( γ 2 ) no implica necesariamente γ 1 = γ 2 ; en otras palabras, diferentes símbolos de montón pueden tener el mismo peso.
- Cuando se agregan instancias de símbolos de montón distintos con el mismo peso al montón, su orden relativo se conserva de acuerdo con un orden similar a la pila de último en entrar, primero en salir (LIFO).
Gracias a Raphael por señalar esta definición más natural, que captura (y extiende) los lenguajes libres de contexto.
Algunos resultados demostrados hasta ahora:
- Los autómatas de montón mínimo de tipo 1 reconocen un conjunto de idiomas que no es ni un subconjunto ni un superconjunto de los idiomas sin contexto. [ 1 , 2 ]
- Los autómatas de tipo 2 min-heap, por su definición, reconocen un conjunto de idiomas que es un superconjunto adecuado de los idiomas libres de contexto, así como un superconjunto adecuado de los idiomas aceptados por los autómatas de tipo-1 min-heap.
- Los idiomas aceptados por los autómatas tipo 1 min-montón parecen estar cerrados bajo unión, concatenación y estrella de Kleene, pero no bajo complementación [ 1 ], intersección o diferencia;
- Los idiomas aceptados por los autómatas de montón mínimo no deterministas de tipo 1 parecen ser un superconjunto apropiado de idiomas aceptados por los autómatas deterministas de montón mínimo de tipo 1.
Puede haber algunos otros resultados que me he perdido. Más resultados están (posiblemente) en camino.
Preguntas de seguimiento
- ¿Cierre bajo inversión? -- Abierto
- ¿Cierre bajo complementación? -- ¡No!
- ¿El no determinismo aumenta el poder? -- ¿Si?
- ¿Agregar montones aumenta la potencia para el tipo 1? - para (?) k > 2
- ¿Agregar una pila aumenta la potencia para el tipo 1? -- Abierto