Automate sur les mots infinis

En informatique théorique, et spécialement en théorie des automates, un automate sur les mots infinis ou ω-automate est un automate fini qui accepte des mots infinis. Un tel automate lit un mot infini, ainsi, l'exécution ne s'arrête pas ; les conditions d'acceptation portent sur l'exécution elle-même là où elles ne traitent que de l'état d'arrivée (et de la possibilité de lire le mot) dans le cas des automates sur les mots finis.

Les automates sur les mots infinis servent à modéliser des calculs qui ne terminent pas, comme le comportement d'un système d'exploitation, ou d'un système de contrôle. Pour de tels systèmes, on peut spécifier des propriétés comme « chaque requête sera suivie d'une réponse » ou sa négation « il existe une requête qui n'est pas suivie d'une réponse ». De telle propriétés peuvent être formulées pour des mots infinis et peuvent être vérifiées par des automates finis.

Plusieurs classes d'automates sur les mots infinis ont été introduites : les automates de Büchi, automates de Rabin, automates de Streett, automates de parité, automates de Muller et, pour chaque classe, les automates déterministes ou non. Ces classes diffèrent seulement par leur condition d'acceptation. Toutes ces classes, à l'exception notable des automates de Büchi déterministes, reconnaissent la même famille d'ensembles de mots infinis, appelés ensembles rationnels de mots infinis ou ω-langages rationnels. Ces automates, même s'ils acceptent les mêmes langages, peuvent varier en taille pour un langage donné.

Définition

Comme pour les automates finis, un automate sur les mots infinis sur un alphabet A {\displaystyle A} est un quadruplet A = ( Q , F , I , T ) {\displaystyle {\mathcal {A}}=(Q,{\mathcal {F}},I,T)} , où :

  • Q {\displaystyle Q} est un ensemble fini d'états,
  • F Q × A × Q {\displaystyle {\mathcal {F}}\subseteq Q\times A\times Q} est l'ensemble des transitions,
  • I Q {\displaystyle I\subseteq Q} est l'ensemble des états initiaux,
  • et T Q {\displaystyle T\subseteq Q} est un ensemble d'états finals ou terminaux.

Souvent on suppose qu'il existe un seul état initial[1]. Une transition f = ( p , a , q ) {\displaystyle f=(p,a,q)} est composée d'un état de départ p {\displaystyle p} , d'une étiquette a {\displaystyle a} et d'un état d'arrivée q {\displaystyle q} . Un calcul c {\displaystyle c} (on dit aussi un chemin ou une trace) est une suite infinie de transitions consécutives :

c = ( p 0 , a 1 , p 1 ) ( p 1 , a 2 p 2 ) {\displaystyle c=(p_{0},a_{1},p_{1})(p_{1},a_{2}p_{2})\cdots }

Son état de départ est p 0 {\displaystyle p_{0}} , son étiquette est le mot infini a 1 a 2 a n {\displaystyle a_{1}a_{2}\cdots a_{n}} . Il n'a pas d'état d'arrivée, et le calcul est réussi et le mot est accepté ou reconnu en fonction de la condition d'acceptation de la famille d'automates considéré. La condition d'acceptation remplace alors l'ensemble des états terminaux.

Un automate est déterministe s'il vérifie les deux conditions suivantes :

  • il possède un seul état initial ;
  • pour tout état q {\displaystyle q} , et pour toute lettre a {\displaystyle a} , il existe au plus une transition partant de q {\displaystyle q} et portant l'étiquette a {\displaystyle a} .

Pour un automate déterministe, la fonction de transition δ : Q × A Q {\displaystyle \delta :Q\times A\to Q} est la fonction partielle définie par : δ ( q , a ) = q {\displaystyle \delta (q,a)=q'} si ( q , a , q ) {\displaystyle (q,a,q')} est une transition.

Condition d'acceptation

Pour un calcul c {\displaystyle c} , on note I n f ( c ) {\displaystyle {\rm {Inf}}(c)} l'ensemble des états qui apparaissent une infinité de fois dans c {\displaystyle c} . C'est ce concept qui permet de formuler les conditions d'acceptation.

Automate de Büchi

Article détaillé : automate de Büchi.

La condition d'acceptation est : A {\displaystyle {\mathcal {A}}} accepte un mot infini si et seulement s'il est l'étiquette d'un calcul c {\displaystyle c} pour lequel I n f ( c ) {\displaystyle {\rm {Inf}}(c)} contient au moins un état final, donc tel que I n f ( c ) T {\displaystyle {\rm {Inf}}(c)\cap T\neq \emptyset } .

Automate de Rabin

Un automate de Rabin comporte un ensemble Ω {\displaystyle \Omega } de couples ( E , F ) {\displaystyle (E,F)} d'ensembles d'états. La condition d'acceptation est : A {\displaystyle {\mathcal {A}}} accepte un mot infini si et seulement s'il est l'étiquette d'un calcul pour lequel il existe un couple ( E , F ) {\displaystyle (E,F)} de Ω {\displaystyle \Omega } tel que I n f ( c ) E = {\displaystyle {\rm {Inf}}(c)\cap E=\emptyset } et I n f ( c ) F {\displaystyle {\rm {Inf}}(c)\cap F\neq \emptyset } .

Automate de Streett

Un automate de Streett comporte un ensemble Ω {\displaystyle \Omega } de couples ( E , F ) {\displaystyle (E,F)} d'ensembles d'états. La condition d'acceptation est : A {\displaystyle {\mathcal {A}}} accepte un mot infini si et seulement s'il est l'étiquette d'un calcul tel que pour tout couple ( E , F ) {\displaystyle (E,F)} de Ω {\displaystyle \Omega } , on a I n f ( c ) E {\displaystyle {\rm {Inf}}(c)\cap E\neq \emptyset } et I n f ( c ) F = {\displaystyle {\rm {Inf}}(c)\cap F=\emptyset } .

La condition de Streett est la négation de la condition de Rabin. Un automate de Streett déterministe accepte donc exactement le complément de l'ensemble accepté par l'automate de Rabin déterministe pour le même ensemble Ω {\displaystyle \Omega } .

Automate de parité

Un automate de parité est un automate dont les états sont numérotés, disons Q = { 0 , 1 , , n } {\displaystyle Q=\{0,1,\ldots ,n\}} . La condition d'acceptation est : A {\displaystyle {\mathcal {A}}} accepte un mot infini si et seulement s'il est l'étiquette d'un calcul tel que le plus petit des entiers dans I n f ( c ) {\displaystyle {\rm {Inf}}(c)} est pair.

Automate de Muller

Article détaillé : automate de Muller.

Un automate de Muller comporte une famille M {\displaystyle {\mathcal {M}}} d'ensembles d'états. La condition d'acceptation est : A {\displaystyle {\mathcal {A}}} accepte un mot infini si et seulement s'il est l'étiquette d'un calcul tel que I n f ( c ) {\displaystyle {\rm {Inf}}(c)} est dans M {\displaystyle {\mathcal {M}}} .

Tout automate de Büchi peut être vue comme un automate de Muller: Il suffit de prendre comme famille M {\displaystyle {\mathcal {M}}} l'ensemble des parties de Q {\displaystyle Q} contenant au moins un état final. Réciproquement, pour tout automate de Muller à n {\displaystyle n} états et m {\displaystyle m} ensembles d’acceptation, il existe un automate de Büchi équivalent avec au plus n + m n 2 n {\displaystyle n+mn2^{n}} états[2]. De manière similaire, les automates de Rabin, de Streett et les automates de parité peuvent être vus comme des automates de Muller.

Exemple

Automate de Büchi non déterministe reconnaissant les mots infinis contenant un nombre fini de a {\displaystyle a} .

L'automate ci-contre reconnaît l'ensemble des mots infinis sur deux lettres a {\displaystyle a} et b {\displaystyle b} qui ne contiennent qu'un nombre fini de lettres a {\displaystyle a} , c'est-à-dire l'ensemble { a , b } b ω {\displaystyle \{a,b\}^{*}b^{\omega }} . En effet, pour chaque mot de { a , b } b ω {\displaystyle \{a,b\}^{*}b^{\omega }} , il y a une exécution qui boucle dans l'état q1 et q1 est acceptant.

On peut montrer qu'il n'existe pas d'automate de Büchi déterministe qui accepte le langage { a , b } b ω {\displaystyle \{a,b\}^{*}b^{\omega }} . Ainsi, les automates de Büchi déterministes sont strictement moins puissants que les automates de Büchi non déterministes.

Puissance d'expression

Un langage de mots infinis ou ω-langage est un ensemble de mots infinis sur un alphabet donné. La puissance d'expression d'un ω-automate est mesurée par la classe de tous ω-langages qui peuvent être reconnus par un automate de cette classe. Les automates de Büchi non déterministes, de parité, de Rabin, de Streett et de Muller reconnaissent tous les mêmes langages, qui sont les ensembles rationnels de mots infinis ou ω-langages rationnels. On peut montrer que les automates de parité, de Rabin, de Streett et de Muller déterministes reconnaissent également ces mêmes langages, contrairement donc aux automates de Büchi déterministes. Il en résulte en particulier que la classe des ω-langages est fermée par complémentation.

Notes et références

Notes

  1. Par exemple : Farwer 2002.
  2. Farwer 2002, p. 7.

Références

  • Berndt Farwer, « ω-Automata », dans Erich Grädel, Wolfgang Thomas et Thomas Wilke (éditeurs), Automata, logics, and infinite games : A guide to current research, Springer-Verlag, coll. « Lecture Notes in Computer Science » (no 2500),‎ , viii+385 (ISBN 978-3-540-00388-5), p. 3-22.
  • (en) Wolfgang Thomas, « Automata on infinite objects », dans Jan Van Leeuwen (éditeur), Handbook of Theoretical Computer Science, vol. B : Formal Models and Semantics, Elsevier, (ISBN 978-0444880741), p. 133-192
  • (en) Dominique Perrin et Jean-Éric Pin, Infinite Words : Automata, Semigroups, Logic and Games, Amsterdam/Boston, Elsevier, , 538 p. (ISBN 978-0-12-532111-2, présentation en ligne)

Annexes

Articles connexes

Liens externes

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « ω-automaton » (voir la liste des auteurs).
v · m
Automates finis et langages réguliers
Articles généraux
Automates finis
Automates finis particuliers
Langages réguliers
Des automates aux langages
Des langages aux automates
Minimisation
Équivalences
v · m
Codage
Modèles de calcul
Algorithmique
Syntaxe
Sémantique
Logique mathématique
Mathématiques discrètes
  • icône décorative Portail de l'informatique théorique