• Aucun résultat trouvé

Caractérisation et algorithme de remontée

2.3 Caractérisation

2.3.4 Caractérisation et algorithme de remontée

D’après le Lemme 2.19, toute orbite non triviale d’un automate des positions est fortement stable. Nous nous intéressons au graphe acyclique obtenu par la suppression récursive des transitions de stabilité :

Définition 2.23. Soit G = (V, U) un graphe dont toutes les orbites non triviales sont fortement stables. Le graphe sans orbite de G est obtenu par

élimination récursive dans chaque orbite non trivialeO deGdes transitions dans Out(O)×In(O).

D’après le Lemme 2.16, le graphe sans orbite d’un graphe des positions est le graphe des positions de l’expression de départ, dont les opérateurs de clôture ont été supprimés. Si ce graphe sans orbite peut être réduit à un unique état, alors il est possible de remonter à une expression ration-nelle dont l’automate des positions est isomorphe à l’automate de départ. Mais pour cela, il faut d’abord retrouver les sous-expressions de clôture en commençant par réduire les anciennes orbites :

Lemme 2.24. Soient G= (V, U) un graphe dont toute orbite non triviale est fortement stable et fortement transverse, O une orbite non triviale de G et G le graphe sans orbite de G. Si G est réductible, alors O peut être réduite à un unique état par itération des règles R1, R2 et R3 sur G, à la condition que les règlesR1 et R2 soient uniquement appliquées à des couples d’états dans O2 ou dans (V \O)2.

Nous pouvons alors formuler la caractérisation des graphes des positions suivante :

Théorème 2.25. Un graphe G est un graphe des positions si et seulement si les trois propriétés suivantes sont vérifiées :

1. G est un hamac,

2. toute orbite non triviale de Gest fortement stable et fortement trans-verse,

3. le graphe sans orbite de G est réductible.

Cette caractérisation peut être reformulée de manière à décrire l’algo-rithme calculant l’expression rationnelle finale. D’après le Lemme 2.15, toute orbite non triviale d’un graphe des positions est liée à une sous-expression de clôture maximaleE. Et d’après le Lemme 2.16, il est possible d’en déduire le graphe des positions de l’expressionE privée de sa clôture :

Définition 2.26. SoientGun graphe,Oune orbite stable deG, etUO l’en-semble des transitions entre états deO dans Gmoins celles dansOut(O)× In(O). Le graphe déstabilisé de O est le graphe (V, U)tel que :

— V =O∪ {i, f},

i b1 a2 b4 a5 b6 f b3 O

Figure 2.11 – Le graphe des positions deb(ab+bab)

i a2 b4 a5 b6 f b3

Figure2.12 – Le graphe déstabilisé de l’orbite O

Enfin, d’après le Lemme 2.24, tous les ensembles d’états formant les orbites non triviales doivent pouvoir être réduits chacun à un unique état dans le graphe sans orbite. Le graphe restant doit à son tour être réductible pour que le graphe de départ soit caractérisé comme un graphe des positions. Cela revient à calculer, à partir du graphe des positions de départ, un graphe dans lequel les orbites, triviales ou non, sont représentées chacune par un unique état. Ce graphe se définit de la manière suivante :

Définition 2.27. Soient G = (V, U) un graphe et O(G) l’ensemble des orbites de G. Le graphe des orbites de G est le graphe (VO, UO) tel que :

— VO= O(G),

— UO ={(O1, O2)|Uout(O1)∩Uin(O2)6=∅}.

Théorème 2.28. Un graphe G est un graphe des positions si et seulement si les trois propriétés suivantes sont vérifiées :

1. G est un hamac,

2. toute orbite non triviale de G est stable et transverse, et son graphe déstabilisé est un graphe des positions,

3. le graphe des orbites de G est réductible.

Ce Théorème décrit un algorithme récursif calculant une expression ra-tionnelle correspondant à un graphe des positions G. Si G est acyclique, il est réduit et l’expression rationnelle calculée est retournée. Sinon, une orbite non trivialeO est sélectionnée, et sa sous-expression de clôtureE+ est cal-culée en utilisant récursivement l’algorithme sur le graphe déstabilisé deO. La clôture positive est utilisée systématiquement car les expressionsH+

(créée par la règle R3) et H produisent le même automate des positions, tout comme les expressionsH++I (créée par la règleR2) et H+I, tel que

ε est dansL(I). Le graphe G est ensuite crée en remplaçant tous les états de O dans G par un unique état E+ ayant pour prédécesseurs (respecti-vement successeurs) directs les prédécesseurs (respecti(respecti-vement successeurs) directs de O. L’algorithme est alors utilisé récursivement surG.

Cet algorithme se termine toujours car le cas d’un graphe acyclique réductible se présente nécessairement : soit lorsque l’on traite le graphe dé-stabilisé d’une des sous-orbites non triviales les plus profondes, soit lorsque toutes les orbites non-triviales ont été testées et remplacées chacune par un unique état pour obtenir un graphe isomorphe au graphe des orbites. L’expression rationnelle obtenue a pour alphabet l’ensemble des états du graphe des positions. L’automate de départ étant homogène, il suffit alors de remplacer les états dans l’expression par la lettre des transitions arri-vant dans celui-ci, à l’exception des états i et f qui sont remplacés par ε. Remarquons que l’expression obtenue est en forme normale de clôture.

Pour terminer, cette caractérisation permet de déduire celle des auto-mates des positions construits à partir d’expressions rationnelles sans clô-ture positive. Toute orbite non triviale est alors liée à une sous-expression étoilée, dont le langage dénoté contient le mot vide. Soient E l’expression rationnelle retournée par l’algorithme précédemment décrit et F une sous-expression de clôture positive de E. Il faut alors vérifier que F est une sous-expression d’une sous-expression de somme H = F +H1+H2 +· · ·

tel que ε est dans L(H). Si toutes les sous-expressions de clôture positive vérifient cette condition, alors il existe une expression équivalente sans clô-ture positive, obtenue en remplaçant les clôclô-tures positives par des étoiles de Kleene, et ayant le même automate des positions.

Chapitre 3

Rappels des travaux précédents

Dans ce Chapitre, nous présentons deux sous-familles des langages ra-tionnels : celle des langages non-ambigus et celle des langages déterministes. Ces langages peuvent être dénotés par des expressions rationnelles dont les automates des positions présentent une propriété structurelle, en l’occur-rence la non-ambiguïté ou le déterminisme.

3.1 Langages non-ambigus

Nous commençons par définir la notion d’ambiguïté sur un automate, et en étudier la décidabilité. Puis nous l’étendons aux expressions ration-nelles, et montrons que tout langage rationnel peut être dénoté par une telle expression.