Automate de Büchi

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Automate de Büchi non déterministe reconnaissant les mots infinis contenant un nombre fini de .

En informatique théorique, un automate de Büchi est un ω-automate ou automate fini opérant sur des mots infinis, avec une condition d'acceptation particulière : une trace (ou calcul ou chemin infini) est réussie si et seulement si elle passe un nombre infini de fois par au moins un état acceptant. Un mot infini est accepté s'il est l'étiquette d'un calcul réussi.

Ce type d'automate a été défini par le mathématicien Julius Richard Büchi[1].

Définition[modifier | modifier le code]

Un automate de Büchi sur un alphabet est un ω-automate , où :

  • est un ensemble fini d'états ;
  • est l'ensemble des transitions ;
  • est l'ensemble des états initiaux ;
  • est un ensemble d'états finals ou terminaux ou acceptants.

Souvent on suppose l'ensemble des états initiaux est composé d'un seul élément[2]. Une transition est composée d'un état de départ , d'une étiquette et d'un état d'arrivée . Un calcul (on dit aussi un chemin ou une trace) est une suite infinie de transitions consécutives :

Son état de départ est , son étiquette est le mot infini . Le calcul est réussi et le mot est accepté ou reconnu s'il passe infiniment souvent par un état terminal.

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

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

Exemple[modifier | modifier le code]

Les automates de Büchi déterministes et non déterministes ne sont pas équivalents. Par exemple, alors qu'il existe un automate de Büchi non déterministe à deux états qui reconnaît les mots infinis sur deux lettres et qui ne contiennent qu'un nombre fini de lettres , c'est-à-dire l'ensemble , cet ensemble n'est pas reconnu par un automate de Büchi déterministe.

Supposons le contraire, c'est-à-dire qu'il existe un automate de Büchi déterministe qui reconnaît ce langage, et soit son ensemble d'états d'acceptation. L'automate accepte le mot infini , dont le calcul passe une première fois dans un état de après la lecture d'un certain nombre positif, disons , de lettres . L'automate accepte aussi le mot infini , donc le calcul passe une deuxième fois par un état de après disons lettres . L'automate accepte donc le mot . De proche en proche, on construit un mot contenant une infinité de lettres et qui est accepté par l’automate, contradiction.

Langages reconnus[modifier | modifier le code]

Les ensembles de mots infinis reconnus par les automates de Büchi sont les ensembles rationnels de mots infinis ou ω-langages rationnels, à savoir les ensembles de la forme


où les et sont des langages rationnels pour tout , les ne contenant pas le mot vide. Ces langages sont aussi appelés les ω-fermeture de Kleene des langages rationnels[3].

La formule pour l'expression du langage reconnu par un automate de Büchi s'obtient comme suit : étant donné une automate de Büchi, notons l’ensemble des mots finis reconnus avec comme état initial et comme état final, donc les mots qui sont étiquettes d’un chemin de à . Ces langages (de mots finis) sont rationnels. Un mot infini est accepté s’il existe un calcul qui passe une infinité de fois par un état final, donc aussi s’il existe un état final disons , par lequel il passe une infinité de fois. Ceci est équivalent à dire que

pour un état initial . En prenant la réunion sur tous les états initiaux et terminaux, on obtient la description indiquée[3]. Pour démontrer que réciproquement tous les ω-langages rationnels sont reconnus par des automates de Büchi, on utilise les opérations de fermeture de la section suivante[4]

La description effective des ω-langages rationnels reconnus montre que le problème du mot est décidable pour les automates de Büchi, puisqu’il suffit de tester si l’un au moins des langages rationnels n’est pas vide.

Propriétés[modifier | modifier le code]

Les langages reconnus par des automates de Büchi fermés pour un certain nombre d'opérations qui se reflètent dans des constructions sur les automates.

  • Union : Soient et reconnaissant respectivement les langages et . Un automate reconnaissant la réunion s'obtient en faisant la réunion des deux automates. On suppose les ensembles d'états de et disjoints ; alors l’automate reconnaît la réunion.
  • ω-fermeture : Pour tout langage rationnel ne contenant pas le mot vide, le ω-langage est reconnu par un automate de Büchi. Soit un automate fini reconnaissant . On peut supposer qu'il n'a qu'un seul état initial noté , et qu'il n'y a pas de transition entrant dans . On ajoute à l'automate les transitions pour chaque transition de \mathcal{F} avec . L'automate de Büchi ainsi construit, avec un seul état initial qui est aussi terminal, reconnaît .
  • Concaténation : Pour tout langage rationnel et tout ω-langage reconnu par un automate de Büchi, le produit est un ω-langage reconnu par un automate de Büchi. Soient en effet un automate fini reconnaissant , avec , et un automate de Büchi reconnaissant . On peut supposer les ensembles d'états des deux automates disjoints. On peut aussi supposer que ne contient pas le mot vide, sinon on remplace le produit par . On construit un automate de Büchi qui a pour états l'union des ensembles d'états, pour transitions l'union des ensembles de transitions, augmentées des transitions pour pour chaque transition de qui mène vers un état terminal de . Enfin, ses états initiaux sont ceux de et ses états terminaux ceux de . Formellement, avec .

Ces trois propriétés démontrent que tout ω-langage rationnel est reconnaissable par un automate de Büchi.

  • Intersection : Soient et reconnaissant respectivement les langages et . Un automate reconnaissant l'intersection est construit de la manière suivante : , où les transitions de \mathcal{F} copient celles de \mathcal{F_A} et \mathcal{F_B} pour les deux premières composantes, et changent la troisième composante de 0 en 1 quand un état de apparaît dans la première composante, de 1 en 2 quand ensuite un état de apparaît dans la deuxième composantes, et retourne en 0 immédiatement après. Dans un calcul, un 2 apparaît infiniment souvent en troisième composante si et seulement un état de et un état de apparaissent infiniment souvent en première et en deuxième composante. Donc, en choisissant pour états terminaux de on obtient un automate de Büchi au comportement désiré[5].

Lien avec les autres modes de reconnaissance[modifier | modifier le code]

Les automates de Büchi sont équivalents aux automates de Muller, aux automates de Rabin, automates de Streett ou automates de parité.

Les automates de Büchi non déterministes représentent exactement les propriétés de la logique monadique de second ordre à un successeur (S1S), dites aussi propriétés ω-régulières[6]. La logique S1S est strictement plus expressive que la logique temporelle linéaire.

Notes[modifier | modifier le code]

  1. J. R. Büchi, « On a decision method in restricted second order arithmetic », in Proc. International Congress on Logic, Method, and Philosophy of Science, 1960, pages 1–12, Stanford, 1962, Stanford University Press.
  2. Par exemple : Farwer 2002.
  3. a et b Farwer 2002, p. 6.
  4. Thomas 1990, p. 138-139.
  5. Thomas 1990, p. 138.
  6. Thomas 1990, p. 144-146.

Références[modifier | modifier le code]

  • Wolfgang Thomas, « Automata on infinite objects », dans : Jan Van Leeuwen (éditeur), Handbook of Theoretical Computer Science: Formal Models and Semantics, t. B, MIT Press, , 1287 p. (ISBN 0-262-72015-9), p. 133-192
  • 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 p. (ISBN 978-3-540-00388-5), p. 3-22.
  • Samuel Eilenberg, Automata, Languages and Machines, Vol. A, Academic Press, coll. « Pure and Applied Mathematics » (no 58), , xvi+451 p. (ISBN 978-0-12234001-7), « chap. XIV. Infinite Behavior of Finite Automata », p. 379-393.