Epsilon transition
En informatique théorique, et notamment en théorie des automates, une epsilon transition, notée aussi ε-transition et appelée également transition spontanée[1] permet à un automate de changer d'état ou de configuration spontanément, sans consommer un symbole d'entrée. De telles transitions sont définies pour de nombreux modèles d'automate, et des algorithmes d'élimination existent ou pas selon les modèles.
Trois cas importants
Des cas particuliers importants sont notamment :
Élimination des ε-transitions dans un automate fini
L'automate ci-contre est asynchrone : il possède une ε-transition de l'état 1 vers l'état 2. L'élimination des -transitions se fait par un algorithme de fermeture transitive. Appelons ε-chemin un chemin formé uniquement de ε-transitions. On peut alors procéder de deux façons différentes mais équivalentes, appelées fermeture avant et fermeture arrière par Sakarovitch[2], comme suit :
- (fermeture avant) Pour chaque transition d'un état à un état portant une lettre et pour chaque ε-chemin de à un état , ajouter une transition de à d'étiquette ;
- (fermeture arrière) Pour chaque ε-chemin d'un état à un état et pour chaque transition de à un état portant une lettre , ajouter une transition de à d'étiquette ;
Pour les états initiaux et terminaux, on complète par :
- (fermeture avant) Pour chaque ε-chemin d'un état initial à un état , ajouter à l'ensemble des états initiaux.
- (fermeture arrière) Pour chaque ε-chemin d'un état à un état terminal , ajouter à l'ensemble des états terminaux.
Bien entendu, on supprime les -transitions. Dans l'exemple de la figure, on ajoute la transition dans la première étape en fermeture arrière, et on déclare que est état final dans la deuxième étape. Si on opère par fermeture avant, on ajoute la transition et on déclare comme état initial.
La complexité en temps est celle du calcul d'une fermeture transitive, puisque l’on détermine les ε-chemins.
ε-règles dans un automate à pile
Une transition spontanée se produit dans un automate à pile en présence d'une ε-règle, c'est-à-dire d'une règle qui ne consomme pas de lettre d'entrée. Ces automates sont appelées automate en temps réel. On peut montrer[3] que tout langage algébrique peut être reconnu par un automate à pile en temps réel et ne possédant qu'un seul état.
En revanche, tout langage algébrique déterministe ne peut pas être reconnu par un automate à pile déterministe en temps réel.
Dans les machines de Turing
La notion de ε-transition n’apparaît pas explicitement : elle est comprise dans le comportement qui consiste à ne pas modifier le symbole lu sur la bande. La règle de transition stipule donc que la lettre « écrite » est la même que la lettre « lue ».
Notes et références
- Terminologie de Sakarovitch 2003 par exemple.
- Sakarovitch 2003.
- Autebert, Berstel et Boasson 1997.
Bibliographie
- (en) John E. Hopcroft, Rajeev Motwani et Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, , 3e éd. (ISBN 978-0-32146225-1)
- Jacques Sakarovitch, Éléments de théorie des automates, Vuibert, , 816 p. (ISBN 978-2-7117-4807-5) — Traduction anglaise avec corrections : (en) Elements of Automata Theory, Cambridge, Cambridge University Press, , 758 p. (ISBN 978-0-521-84425-3)
- Jean-Michel Autebert, Jean Berstel et Luc Boasson, « Context-free languages and pushdown automata », dans G. Rozenberg et A. Salomaa (éditeurs), Handbook of Formal Languages, vol. 1 : Word, Language, Grammar, Springer Verlag, (ISBN 978-3540604204), p. 111--174