• Aucun résultat trouvé

Transversalité et langages orbitaux

3.2 Langages déterministes

3.2.3 La décidabilité du déterminisme

3.2.3.1 Transversalité et langages orbitaux

La transversalité d’une orbite d’un automate s’inspire donc de la pro-priété de transversalité en sortie d’une orbite d’un graphe. Cette dernière implique que toutes les portes de sortie ont les mêmes connexions avec tout élément externe à l’orbite. Dans le cas d’un automate, cela implique de prendre en compte les étiquettes des transitions et la finalité des états :

Définition 3.33. Une orbiteOd’un automate esttransverse si pour toutes deux portes de sorties1 ets2deO,s2 est finale sis1 l’est et(s2, a, r)est une transition de sortie de O si(s1, a, r)l’est. Un automate satisfait lapropriété orbitale si toutes ses orbites sont transverses.

Si une orbite est transverse, nous pouvons alors définir son langage ex-terne, comme l’ensemble Lext(O) des mots étiquetant les chemins allant d’une porte de sortie de Overs un état final sans traverser d’état de O (cela inclus le chemin vide si les portes sont finales). À l’inverse, nous nous in-téressons maintenant au langage constitué des mots étiquetant les chemins allant d’un état vers les portes de sortie de son orbite, et définissons un nouvel automate pour le reconnaître :

Définition 3.34. Soient A un automate et q un état de A. L’automate orbital de q est l’automate Aq, obtenu en conservant uniquement les états de OA(q), et ayant pour état initial q et pour états finaux les portes de

OA(q). Le langage reconnu par Aq est appelé le langage orbital de q, noté

Lorb(q), et fait partie de la famille des langages orbitaux de A.

Dans le cas des automates des positions, nous avons vu en Section 2.3 que les orbites non triviales sont liées aux sous-expressions étoilées maximales de l’expression de départ. Si l’expression est en plus déterministe, les langages orbitaux présentent les propriétés suivantes :

Lemme 3.35. Soient E une expression rationnelle déterministe émondée et en forme normale étoilée, et P son automate des positions. Alors :

1. pour toute orbite non triviale O de P, il existe une sous-expression étoilée maximale H de E tel que les langages orbitaux des états de O sont des résiduels du langage dénoté par H;

2. les langages orbitaux de P sont déterministes.

Démonstration. SoitO une orbite non triviale deP. D’après le Lemme 2.15, il existe donc une sous-expression étoilée maximaleH deE tel que tous les états de O sont des positions de H. Soit P l’automate des positions de

H, qui est donc composé de deux orbites : une triviale contenant son état initial, et O qui n’a ici aucune transition de sortie. En effet, d’après le Lemme 2.15, les états de O, ses transitions internes, et ses portes d’entrée et de sortie sont présents à l’identique dans P. Les langages orbitaux des états de O dans P sont donc les mêmes que leurs langages droits dans P. Or, E étant déterministe, H l’est aussi et les langages droits de tous les états deP sont des résiduels de L(H).

En appliquant le Théorème 3.29, nous concluons que les langages orbi-taux des orbites non triviales sont déterministes. Quant aux orbites triviales, elles partagent le langage orbital {ε} qui est également déterministe. Le langage externe de l’orbite représente, quant à lui, le langage dénoté par les sous-expressions suivant la sous-expression étoilée maximale dans un produit de concaténation. Cette distinction dans les chemins internes et externes à une orbite permet de décomposer les langages droits des états d’une orbite transverse comme suit :

Lemme 3.36. Soit O une orbite transverse d’un automate A. Alors : 1. pour tout état q de O, nous avons L(q) = Lorb(q)·Lext(O), 2. Lext(O) =

(

{ε} ∪S

(g,a,p)∈δout(O)({a} ·L(p)) si Out(O)∩FA 6=∅ S

Démonstration. Le second point est une conséquence directe de la définition du langage externe d’une orbite transverse.

Soitu un mot dansLorb(q)etv un mot dansLext(O). Il existe donc une porte g deO et un chemin allant deq vers g étiqueté par u. Comme O est transverse, alors v appartient à L(g) etuv appartient à L(q).

Soit wun mot dansL(q). Il existe donc un état finalf et un chemin accep-tant callant de p vers f étiqueté par w.

Si c ne contient que des transitions internes à O, alors f en est une porte de sortie car il est final. Donc w est dans Lorb(q) etε est dans Lext(O). Sinon, w = uv et c se partage en un chemin étiqueté par u et n’utilisant que des transitions internes à O jusqu’à l’une de ses portes de sortie, et un chemin étiqueté par v, commençant par une transition de sortie de O et allant vers un état final. Donc u est dansLorb(q) et v et dansLext(O). Ceci permet de donner une condition suffisante pour déterminer si le langage reconnu par un AFD est déterministe :

Proposition 3.37 ([14]). Soit A un AFD émondé. Si A satisfait la pro-priété orbitale et que ses langages orbitaux sont déterministes, alors L(A)

est déterministe et une expression rationnelle déterministe le dénotant peut être construite à partir de celles dénotant les langages orbitaux.

Démonstration. Soit A un AFD satisfaisant la propriété orbitale tel que tous ses langages orbitaux soient déterministes.

Si A est composé d’une unique orbite, alors le langage reconnu par A est égal au langage orbital de son état initial i, qui est déterministe.

Supposons que A ait plusieurs orbites. Ces dernières étant transverses, d’après le Lemme 3.36, le langage reconnu parAest égal àLorb(i)·Lext(O(i)). SoitT ={(a1, q1),(a2, q2),· · · ,(an, qn)}l’ensemble des couples étiquettes et états d’arrivées des transitions de sortie deO(i). Le langage externe de cette dernière est alors égal à {a1} ·L(q1)∪ {a2} ·L(q2)∪ · · · ∪ {an} ·L(qn), en incluantε si les portes sont finales. Ces langagesL(qx)sont donc reconnais-sables par des AFD ayant moins d’orbites que A, satisfaisant la propriété orbitale et dont tous les langages orbitaux sont déterministes. Par hypothèse d’induction sur le nombre d’orbites, ces langages sont donc déterministes. Comme Aest déterministe et queO(i)est transverse, tous les symboles ax

sont distincts entre eux, et Lext(O(i)) peut être dénoté par une expression rationnelle déterministe Eext tel que First(Eext) ={a1, a2,· · · , an}.

Ensuite, puisque les langages orbitaux sont déterministes, nous posons Eorb l’expression déterministe dénotant le langage orbital de i. Nous commen-çons par vérifier les propriétés de son ensemble Followlast. Comme A est

déterministe, aucune porte de sortie de O(i) n’a de transition interne éti-quetée par a1, a2, · · ·, an. Donc aucun état final de l’automate orbital de i

n’a de transition sortante étiquetée par a1, a2, · · ·, an, et l’intersection de

Followlast(Eorb)avec First(Eext)est vide. Si i est une porte, alors c’est un

état final de son automate orbital et, par les mêmes arguments, l’intersec-tion deFirst(Eorb) avecFirst(Eext) est vide.

D’après le Lemme 3.23, l’expressionEorb ·Eext est donc déterministe.