stringtranslate.com

Problema de altura de las estrellas

El problema de la altura de las estrellas en la teoría de lenguajes formales es la cuestión de si todos los lenguajes regulares pueden expresarse utilizando expresiones regulares de altura de estrella limitada , es decir, con una profundidad de anidamiento limitada de estrellas de Kleene . En concreto, ¿es siempre suficiente una profundidad de anidamiento de uno? Si no, ¿existe un algoritmo para determinar cuántas se requieren? El problema fue introducido por primera vez por Eggan en 1963. [1]

Familias de lenguajes regulares con altura de estrella ilimitada

La primera pregunta fue respondida negativamente cuando en 1963 Eggan dio ejemplos de lenguajes regulares con altura de estrella n para cada n . Aquí, la altura de estrella h ( L ) de un lenguaje regular L se define como la altura de estrella mínima entre todas las expresiones regulares que representan L . Los primeros lenguajes encontrados por Eggan se describen a continuación, mediante la presentación de una expresión regular para cada lenguaje:

El principio de construcción de estas expresiones es que la expresión se obtiene concatenando dos copias de , renombrando apropiadamente las letras de la segunda copia usando nuevos símbolos del alfabeto, concatenando el resultado con otro nuevo símbolo del alfabeto y luego rodeando la expresión resultante con una estrella de Kleene. La parte restante, más difícil, es demostrar que para no existe una expresión regular equivalente de altura de estrella menor que n ; se da una prueba en Eggan (1963).

Sin embargo, los ejemplos de Eggan utilizan un alfabeto grande , de tamaño 2 n -1 para el lenguaje con altura de estrella n . Por lo tanto, se preguntó si también podemos encontrar ejemplos sobre alfabetos binarios. Esto fue demostrado poco después por Dejean y Schützenberger en 1966. [2] Sus ejemplos pueden describirse mediante una familia definida inductivamente de expresiones regulares sobre el alfabeto binario de la siguiente manera –cf. Salomaa (1981):

Nuevamente, se necesita una prueba rigurosa del hecho de que no admite una expresión regular equivalente de menor altura de estrella. Las pruebas las proporcionan Dejean y Schützenberger (1966) y Salomaa (1981).

Calcular la altura de estrella de los lenguajes regulares

En cambio, la segunda cuestión resultó ser mucho más difícil, y se convirtió en un famoso problema abierto en la teoría del lenguaje formal durante más de dos décadas. [3] Durante años, hubo pocos avances. Los lenguajes de grupo puro fueron la primera familia interesante de lenguajes regulares para los que se demostró que el problema de la altura de estrella era decidible . [4] Pero el problema general permaneció abierto durante más de 25 años hasta que fue resuelto por Hashiguchi , quien en 1988 publicó un algoritmo para determinar la altura de estrella de cualquier lenguaje regular. [5] El algoritmo no era en absoluto práctico, ya que no tenía una complejidad elemental . Para ilustrar el inmenso consumo de recursos de ese algoritmo, Lombardy y Sakarovitch (2002) dan algunos números reales:

[El procedimiento descrito por Hashiguchi] conduce a cálculos que son, con mucho, imposibles, incluso para ejemplos muy pequeños. Por ejemplo, si L es aceptado por un autómata de 4 estados con una complejidad de bucle de 3 (y con un pequeño monoide de transición de 10 elementos), entonces un minorante muy bajo del número de lenguajes que se deben probar con L para determinar su igualdad es:

—  S. Lombardy y J. Sakarovitch, Altura estelar de los lenguajes reversibles y los autómatas universales , LATIN 2002

Obsérvese que solo el número tiene 10 mil millones de ceros cuando se escribe en notación decimal , y ya es mucho mayor que el número de átomos en el universo observable .

En 2005, Kirsten ideó un algoritmo mucho más eficiente que el procedimiento de Hashiguchi. [6] Este algoritmo funciona, para un autómata finito no determinista dado como entrada, dentro de un espacio exponencial doble . Sin embargo, los requisitos de recursos de este algoritmo aún exceden en gran medida los márgenes de lo que se considera prácticamente factible.

Este algoritmo fue optimizado y generalizado a árboles por Colcombet y Löding en 2008, [7] como parte de la teoría de funciones de costo regulares. Fue implementado en 2017 en el conjunto de herramientas Stamina. [8]

Véase también

Notas

  1. ^ Egan 1963.
  2. ^ Dejean y Schützenberger 1966.
  3. ^ Brzozowski 1980.
  4. ^ McNaughton 1967.
  5. ^ Hashiguchi 1988.
  6. ^ Kirsten 2005.
  7. ^ Colcombet y Löding 2008.
  8. ^ Fijalkow y otros. 2017.

Referencias

Lectura adicional