Me preguntaba si hay un algoritmo `` mejor '' (explicaré en qué sentido) comenzar desde un DFA y construir una expresión regular r tal que L ( A ) = L ( r ) , que la del libro de Hopcroft y Ullman (1979). Allí, los conjuntos R k i j se utilizan para representar conjuntos de cadenas que llevan el DFA del estado q i al q j sin pasar por ningún estado con un número superior a k . Esta construcción, aunque obviamente correcta y muy útil, es bastante técnica.
Estoy escribiendo una monografía sobre la teoría de autómatas algebraicos y no quiero distraer a mi audiencia con demasiados detalles técnicos (al menos no con detalles que son irrelevantes para los resultados que quiero mostrar), pero sí quiero incluir un prueba de la equivalencia entre DFA y expresiones regulares en aras de la integridad. Para el registro, estoy usando autómatas Glushkov para pasar de una expresión regular a un DFA. Parecía más intuitivo que las transiciones , que no definí en absoluto (de nuevo, porque no las necesito).
¿Qué otros algoritmos se sabe que van de un DFA a una expresión regular? Valoro la simplicidad sobre la eficiencia (eso es `` mejor '' para mí en este caso), pero eso no es un requisito.
¡Gracias de antemano por tu ayuda!
Respuestas:
Dos construcciones más: Brzozowski-McCluskey, también conocida como eliminación del estado [1], y eliminación gaussiana en un sistema de ecuaciones usando el Lema de Arden. La mejor fuente de estos es probablemente el libro de Jacques Sakarovitch [2].
[1] J. Brzozowski, E. McCluskey Jr., Técnicas de gráficos de flujo de señal para diagramas de estado de circuito secuenciales, Transacciones IEEE en computadoras electrónicas EC-12 (1963) 67–76.
[2] J. Sakarovitch, Elementos de la teoría de autómatas. Cambridge University Press, 2009.
fuente
El libro de Kozen "Automata & Computability" menciona una generalización elegante de este algoritmo de Floyd-Warshall. Como mencionó que es atractivo para los algebraistas, puede que le resulte útil. Lo encontrará en la página 58-59 de ese texto. (Creo que google books tiene una vista previa).
Otra derivación de las estructuras de álgebra de Kleene sobre matrices aparece en el Teorema de integridad de álgebras de Kleene y el álgebra de eventos regulares de Kozen.
fuente
Con mucho, el mejor procedimiento que he visto es el mencionado por Sylvain. En particular, parece producir expresiones más concisas que otras.
Escribí este documento explicando el método para estudiantes el verano pasado. Se relaciona directamente con una conferencia específica; La referencia mencionada es la definición típica de expresiones regulares. Se contiene una prueba del Lema de Arden; falta uno para la corrección del método. Como supe en la conferencia, no tengo una referencia, lamentablemente.
fuente