2.3 Automates
2.3.4 Mots sur les ordres linéaires dénombrables et dispersés
C • 2−→ 1a • C • 2−→ 1a • C • 2−→ 1a • C . . .
|
c • ({1, 2}, 3)Figure 2.8 – Un automate B sur les ordinaux dénombrables de langage
Aω((aAω)∗+ (aAω)ω) où A = {a, b} est l’alphabet de l’automate, et un chemin
acceptant deA où C est le chemin de la Figure 2.6
les mots de Aω, grâce à la transition 2−→ 1 et le fait que l’état 2 soit final, aprèsa
avoir lu un mot de Aω, on peut lire un nombre fini de fois un mot de aAω. On reconnaît ainsi un mot de Aω(aAω)∗. On peut aussi le faire un nombre infini de fois grâce à la transition ({1, 2}, 3) et le fait que l’état 3 soit final. Un exemple d’un chemin C0 avec un tel comportement est en bas de la Figure 2.8. Par C on désigne le chemin représenté dans la Figure 2.6. Dans ce cas les états 1 et
2 se répéteront infiniment souvent. En d’autres termes cofc−(C0) = {1, 2}, ce
qui justifie l’emploi de la transition ({1, 2}, 3). On reconnaît ainsi un mot u de Aω(aAω)ω, (ab)ω(a(ab)ω)ω= ((ab)ωa)ω plus précisément. C’est un mot de rang rp(u) = 2.
La classe des langages rationnels de A] est fermée par complémentation, et
donc par intersection et différence, puisque ces deux dernières s’expriment avec l’union et la complémentation.
Théorème 2.3.13 (Büchi). Soit A un alphabet fini et soient A et B deux
au-tomates sur les ordinaux dénombrables. Il existe des auau-tomates sur les ordinaux dénombrables de langages L(A )C
, L(A ) ∩ L(B) et L(A ) \ L(B).
2.3.4 Mots sur les ordres linéaires dénombrables et
dis-persés
Les automates sur les ordres linéaires dénombrables et dispersés ont été définis par Bruyère et Carton dans [26]. C’est une généralisation des automates sur les ordinaux dénombrables. En plus des transitions limites à gauche, Bruyère et Carton ont introduit les transitions limites à droite. Leur mode d’emploi est symétrique à celui des transitions limites à gauche. Ainsi, un automate sur les ordres linéaires dénombrables et dispersés correspond à celui introduit à la Définition 2.3.1 où l’ensemble des transitions est restreint aux transitions séquentielles successeurs, limites à gauche et limites à droite.
2.3 - Automates 2 - Langages Rationnels
Exemple 2.3.14. L’automateA représenté sur la Figure 2.9 est le suivant : A = ({0, 1, 2, 3}, {a, b}, E, {0}, {3})
E = Eseq= Esucc∪ ElimG∪ ElimD
Esucc= {1−→ 1, 1a −→ 1, 1b −→ 2, 1a −→ 2, 2b −→ 2, 2a −→ 2}b ElimG= {({2}, 3)} ElimD = {(0, {1})} 1 2 0 3 {2} → 3 0 → {1} a, b a, b a, b
Figure 2.9 – Un automate sur les ordres linéaires
Un chemin dans un automate A = (Q, A, E, I, F ) sur les ordres linéaires
dénombrables et dispersés est une suite de transitions de E indicée par un ordre linéaire. Les transitions d’un tel chemin sont soit des transitions successeurs
Eseq, des transitions limites à gauche ElimG ou des transitions limite à droite
ElimD. Dans un chemin γ = (tj)j∈J de A , pour un ordre linéaire J, une
tran-sition tj = P → p est une transition limite à gauche si et seulement si j n’a
pas de prédécesseur et n’est pas le minimum de J . Dans ce cas, P = cofj−(γ). Symétriquement, une transition tj= p → P est une transition limite à droite si et seulement si j n’a pas de successeur et n’est pas le maximum de J . Dans ce cas, P = cofj+(γ) où cofj+(γ) est l’ensemble cofinal à droite de γ en j. Il est défini symétriquement à l’ensemble cofinal gauche de la manière suivante :
cofj+(γ) = {q : pour tout i > j, il existe i0∈ J tel que j < i0< i et q ∈ Qi0}
Cette notion est utilisée dans la suite dans une suite d’ensembles d’états indicée par −ω.
SoitA = (Q, A, E, I, F ) un automate sur les ordres linéaires dénombrables
et dispersés. L’ensemble des chemins γ étiquetés par des mots de Ade contenus
C(γ) dansA est le plus petit ensemble qui satisfait les conditions suivantes : — pour tout p ∈ Q, est un chemin de p à p étiqueté par de contenu {p}
dansA ;
— pour toute transition t = (p, a, q) ∈ Eseq, t est un chemin de p à q étiqueté
par a de contenu {p, q} dansA ;
— pour toute suite finie (γi)i≤k de chemins consécutifs dans A , avec k ≥
1, respectivement étiquetés par u0, . . . , uk de p0, . . . , pk à q0, . . . , qk de contenus (C(γi))i≤k,Q
i≤kγiest un chemin de p0à qkétiqueté parQ
i≤kui
— pour toute suite (γi)i∈ω de chemins consécutifs dans A respectivement étiquetés par (ui)i∈ω de contenus C = (C(γi))i∈ωet pour toute transition
t = cofω−(C) → q ∈ ElimG, (Q
i∈ωγi)t est un chemin de la source de γ0à
q étiqueté parQ
i∈ωui de contenu (∪i∈ωC(γi)) ∪ {q} dansA ;
— symétriquement, pour toute suite (γi)i∈−ω de chemins consécutifs dans
A respectivement étiquetés par (ui)i∈−ω de contenus C = (C(γi))i∈−ω
et pour toute transition t = q → cof−ω+(C) ∈ ElimD, t(Q
i∈−ωγi) est
un chemin de q à la destination de γ0 étiqueté par Q
i∈−ωui de contenu (∪i∈−ωC(γi)) ∪ {q} dansA .
La définition donnée ci-dessus n’est pas exactement celle donnée par Bruyère et Carton dans [26]. Nous l’avons adapté pour qu’elle soit facilement générali-sable à la définition de chemin d’un automate sur les posets série-parallèles transfinis. Dans [26], un chemin d’étiquette u sur un automate sur les ordres linéaires dénombrables et dispersés est plutôt une suite (qj)i∈ ˆI d’états.
Exemple 2.3.15. Reprenons l’automateA de l’Exemple 2.3.14 représenté dans
la Figure 2.9. Le langage de A est le langage de Aζ ou de manière équivalente A−ωAω. Un chemin γ deA est dessiné sur la Figure 2.6. Il s’agit de γ = t·γ0·t0
où t est la transition limite à droite (0, {1}),
γ0= (1 −→ 1 1a −→ 1)b −ω1 −→ 2(2a −→ 2 2b −→ 2)a ω
et t0 est la transition limite à gauche ({2}, 3). Il existe bien un chemin dans
• 1 −→ 1a • 1−→ 1b • 1 −→ 2a • 2−→ 2b • 1 −→ 2a . . . | c • ({2}, 3) . . . | c0 • (0, {1})
Figure 2.10 – Un chemin acceptant de l’automate représenté dans la Figure 2.9, étiqueté par (ab)ζ
A entre 1 et 1 étiqueté par a ou b. Ce chemin est de contenu {1}. Le facteur (1 −→ 1 1a −→ 1)b −ωde γ0 est une −ω-suite de chemins consécutifs dont chacun est de contenu C = {1}−ω. Ainsi, l’ensemble cofinal à droite de C dans la coupure c0 = −ω est cofc0 +(C) = {1}. Puisque t ∈ ElimD alors t · (1 −→ 1 1a −→ 1)b −ω
est un chemin de 0 à 1 dansA étiqueté par (ab)−ω. Symétriquement, on peut déduire que (2 −→ 2 2b −→ 2)a ω·t0est un chemin de 2 à 3 dansA étiqueté par (ba)ω. Puisque 0 est un état initial et 3 un état final alors γ est un chemin acceptant deA et (ab)−ωa(ba)ω= (ab)ζ ∈ L(A ). Remarquons que si la transition 1 a
−→ 2
(resp. 1 −→ 2) est supprimée alors le langage de l’automate sera Ab −ωbAω (resp. A−ωaAω).
Théorème 2.3.16 ([26]). Soit L ⊆ Aun langage sur un alphabet A fini. Alors L ∈ Rat(A) si et seulement s’il existe un automate sur les ordres linéaires
dénombrables et dispersésA tel que L = L(A ).
Exemple 2.3.17. Soit A l’automate de la Figure 2.11. Le langage de A sans
ses transitions limites est a(ba)∗. En ajoutant seulement la transition limite à gauche {1, 2} → 2 on reconnaît a(ba)\. Symétriquement, en ajoutant seulement
2.3 - Automates 2 - Langages Rationnels
la transition limite à droite 1 → {1, 2} on reconnaît (ab)−\a. Ainsi, a(ba)\∪ (ab)−\a ⊆ L(A ). La ω-suite de chemins consécutifs (2 b
−
→ 1 1 −→ 2)a ω suivie de la transition limite à gauche {1, 2} → 2 forme un chemin de 2 à 2 étiqueté par (ba)ω dans A . On précédant ce chemin de la transition 1 a
−→ 2 on obtient
un chemin γ acceptant dans A étiqueté par a(ba)ω. Similairement, la −ω-suite de chemins consécutifs (γi)i∈−ω où, pour tout i ∈ −ω, γi = γ, précédée de la
transition limite à droite 1 → {1, 2} est un chemin acceptant dans A étiqueté
par (a(ba)ω)−ω. Le langage de l’automate A est L(A ) = a b.
1 2
{1, 2} → 2 1 → {1, 2}
a
b
Figure 2.11 – Un automate sur les ordres linéaires dénombrables et dispersés de langage a b.
Rispal et Carton ont prouvé dans [75] que la classe des langages rationnels
de A est fermée par complémentation. Ainsi :
Théorème 2.3.18 ([75]). Soit A un alphabet fini et soient A et B deux
au-tomates sur les ordres linéaires dénombrables et dispersés. Il existe des auto-mate sur les ordres linéaires dénombrables et dispersés de langages L(A )C
,
L(A ) ∩ L(B) et L(A ) \ L(B).
Il a été montré dans [33] que la question de l’existence d’un chemin entre deux états d’un automate est décidable en temps polynomial. On peut en déduire le théorème suivant :
Théorème 2.3.19 ([33]). Soit A un automate sur les ordres linéaires
dénom-brables et dispersés. Alors, la question L(A ) = ∅ est décidable.
Grâce aux deux théorèmes précédents et notamment à l’effectivité du Théo-rème 2.3.18, on peut déduire aussi le théoThéo-rème suivant :
Théorème 2.3.20 ([27]). Soit A et B deux automates sur les ordres linéaires
dénombrables et dispersés. Alors, la question L(A ) = L(B) est décidable.
En effet, L(A ) = L(B) si et seulement si (L(A ) ∩ L(B)C
) ∪ (L(A )C
∩
L(B)) = ∅. Ce théorème a été néanmoins prouvé dans [27], avant que la preuve
de la fermeture de Rat(A) par complémentation ne soit trouvée.