Je me demandais s'il y avait un `` meilleur '' algorithme (j'expliquerai dans quel sens) pour partir d'un DFA et construire une expression régulière r telle que L ( A ) = L ( r ) , que celle du livre de Hopcroft et Ullman (1979). Dans ce document, les ensembles R k i j sont utilisés pour représenter des ensembles de chaînes qui font passer le DFA de l'état q i à q j sans passer par un état numéroté supérieur à k . Cette construction, bien qu'évidemment correcte et très utile, est plutôt technique.
J'écris une monographie sur la théorie des automates algébriques et je ne veux pas distraire mon public avec trop de détails techniques (du moins pas avec des détails qui ne sont pas pertinents pour les résultats que je veux montrer), mais je veux inclure un preuve de l'équivalence entre DFA et les expressions régulières par souci d'exhaustivité. Pour mémoire, j'utilise les automates Glushkov pour passer d'une expression régulière à un DFA. Cela semblait plus intuitif que les transitions , que je n'ai pas du tout défini (encore une fois, car je n'en ai pas besoin).
Quels autres algorithmes sont connus pour passer d'un DFA à une expression régulière? Je privilégie la simplicité à l'efficacité (c'est `` mieux '' pour moi dans ce cas), mais ce n'est pas une exigence.
Merci d'avance pour votre aide!
Réponses:
Deux autres constructions: Brzozowski-McCluskey aka élimination d'état [1] et élimination gaussienne dans un système d'équations utilisant le lemme d'Arden. La meilleure source à ce sujet est probablement le livre de Jacques Sakarovitch [2].
[1] J. Brzozowski, E. McCluskey Jr., Techniques de graphes de flux de signaux pour les diagrammes d'état de circuits séquentiels, Transactions IEEE sur les ordinateurs électroniques EC-12 (1963) 67–76.
[2] J. Sakarovitch, Éléments de la théorie des automates. Cambridge University Press, 2009.
la source
Le livre de Kozen "Automata & Computability" mentionne une généralisation élégante de cet algorithme de Floyd-Warshall. Puisque vous avez mentionné avoir fait appel aux algèbres, vous pourriez trouver cela utile. Vous le trouverez à la page 58-59 de ce texte. (Je pense que Google Books a un aperçu.)
Une autre dérivation des structures d'algèbre de Kleene sur les matrices apparaît dans A The Completeness Theorem for Kleene Algebras and the Algebra of Regular Events by Kozen.
la source
La procédure la plus agréable que j'ai vue est de loin celle mentionnée par Sylvain. En particulier, il semble donner des expressions plus concises que d'autres.
J'ai écrit ce document expliquant la méthode aux étudiants l'été dernier. Il se rapporte directement à une conférence spécifique; la référence mentionnée est la définition typique des expressions régulières. Une preuve du lemme d'Arden est contenue; un pour l'exactitude de la méthode est manquant. Comme je l'ai appris en cours, je n'ai malheureusement pas de référence.
la source