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.

Pour les articles homonymes, voir epsilon (homonymie).

Trois cas importants

Des cas particuliers importants sont notamment :

Élimination des ε-transitions dans un automate fini

Un automate reconnaissant avec une ε-transition de 1 à 2.
L'automate après élimination de la transition spontanée par fermeture arrière.

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 1 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

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
  • Portail de l'informatique théorique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.