• Aucun résultat trouvé

2.3 Automates

2.3.3 Mots sur les ordinaux

Pour reconnaître les langages rationnels sur les ordinaux dénombrables il faut ajouter aux automates de Kleene un nouveau type de transitions. Il s’agit

de transitions appartenant à P(Q) × Q, pour un ensemble d’états Q. C’est

Büchi et Muller qui ont été les premiers à utiliser des automates sur ω dans respectivement [28] et [63]. Büchi a ensuite défini des automates sur les ordinaux dans [28] et [31]. Un modèle d’automate reconnaissant des langages rationnels de mots sur les ordinaux de rangs finis a été défini par Choueka dans [38]. Une autre définition de modèle d’automates sur les ordinaux a été donnée par dans [88] par Wojciechowski avec une extension du théorème de Kleene à la clé. D’autres variantes d’automates sur les ordinaux ont été aussi introduites. Pour plus de généralité, nous travaillerons sur un modèle consistant en l’automate de la Définition 2.3.1 où l’ensemble des transitions est restreint aux transitions séquentielles successeurs et limites à gauche.

Exemple 2.3.8. L’automate A représenté sur la Figure 2.5 est le suivant : A = ({1, 2}, {a, b}, {1 a

→ 1, 1→ 1, ({1}, 2)}, {1}, {2})b

Dans cet automate, il n’y a qu’une seule transition limite à gauche : {1} → 2. Les transitions séquentielles successeurs sont 1→ 1 et 1a→ 1.b

1 2

{1} → 2

a, b

Un chemin dans un automateA = (Q, A, E, I, F ) sur les ordinaux dénom-brables est une suite de transitions de E indicée par un ordinal dénombrable. Les transitions d’un tel chemin sont soit des transitions successeurs Eseq ou des transitions limites à gauche ElimG. Dans un chemin γ = (tβ)β<α de A , pour

un ordinal α ∈ O, une transition tβ est une transition limite à gauche si et

seulement si β est un ordinal limite. Dans le cas contraire, tβ est une transition séquentielle successeur. L’utilisation d’une transition limite à gauche lors d’un indice limite β < α dans γ est tributaire des transitions utilisées avant β. C’est ici qu’intervient la notion d’ensemble cofinal à gauche d’une suite d’ensembles d’états indicée par un ordre linéaire.

Soit Q un ensemble, C = (Qj)j∈J une suite de sous-ensembles de Q indicée

par un ordre linéaire dénombrable et dispersé J , c ∈ ˆJ une coupure de J et soit < la relation d’ordre totale et stricte naturelle sur J ∪ ˆJ . Alors

cofcˆ(C) = {q : pour tout i < c, il existe i0 ∈ J tel que i < i0< c et q ∈ Qi0}

L’ensemble cofc(C) est l’ensemble des éléments de Q qui apparaissent

in-finiment souvent dans les Qj, j < c, d’indice infiniment proche à gauche de la coupure c. Il est appelé l’ensemble cofinal à gauche de C en c. Remarquons que cofc(C) est vide quand c a un prédécesseur dans J ∪ ˆJ . Il est de même

quand c est le minimum de J ∪ ˆJ . Inversement, quand la coupure c n’a pas de

prédécesseur dans J ∪ ˆJ et n’est pas le minimum de J ∪ ˆJ alors nécessairement cofc(C) n’est pas vide. En effet, dans ce cas la coupure c est précédée d’une infinité de Qj, et, puisque Q est fini, il y aura forcément certains états de Q qui apparaîtront infiniment souvent. La notion de cofinalité à gauche est utilisée dans la suite dans une suite d’ensembles d’états indicée par ω. Les ensembles d’états en question sont les contenus des chemins.

SoitA = (Q, A, E, I, F ) un automate sur les ordinaux dénombrables.

L’en-semble des chemins γ étiquetés par des mots de A] de 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

de contenu ∪i≤kC(γi) dansA ;

— 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 .

Dans le cas des automates sur les ordinaux dénombrables, la factorisation

séquentielle irréductible de tout mot fini non vide accepté par A est indicée

par le même ordre linéaire fini que la factorisation séquentielle irréductible du chemin dont il est l’étiquette. De plus pour tout mot infini u accepté parA tel que sa factorisation irréductible estQ

i∈αui, pour un ordinal dénombrable α, la factorisation irréductible du chemin dont il est l’étiquette est indicé par α + 1. Cette dernière correspond à ˆα.

2.3 - Automates 2 - Langages Rationnels

Exemple 2.3.9. Reprenons l’automate A de l’Exemple 2.3.8 représenté dans

la Figure 2.5. Le langage de A est celui de l’expression rationnelle (a + b)ω

qu’on peut écrire aussi Aω. Un chemin acceptant γ deA étiqueté par (ab)ω est dessiné sur la Figure 2.6. Il s’agit de γ = γ0· t. où γ0 = ((1, a, 1) · (1, b, 1))ω

et t est la transition limite à gauche ({1}, 2). Remarquons que γ0 est une

ω-• 1−→ 1a • 1−→ 1b • 1−→ 1a • 1−→ 1b . . . | c({1}, 2)

Figure 2.6 – Un chemin acceptant, de l’automate représenté dans la Figure 2.5, étiqueté par (ab)ω

suite de chemins consécutifs où chaque chemin est étiqueté par ab et est de contenu {1}. Ainsi, l’ensemble cofinal à gauche de C dans la coupure c = ω est cofc(C) = {1}. Puisque ({1}, 2) ∈ ElimG alors γ est un chemin de 1 à 2 dans

A étiqueté par (ab)ω. Enfin, puisque 1 est un état initial et 2 un état final alors γ est un chemin acceptant de A et (ab)ω∈ L(A ). Tous les chemins acceptants

deA sont de contenu {1, 2}. Parmi les mots reconnus par A on retrouve aussi

(aa)ω= aω, (bb)ω= bω, (ba)ω...

Wojciechowski a généralisé le théorème de Kleene en montrant que les auto-mates sur les ordinaux dénombrables sont de même expressivité que les expres-sions rationnelles de RE(A]).

Théorème 2.3.10 ([88]). Soit L un langage sur un alphabet A fini. Alors L ∈

Rat(A]) si et seulement si il existe un automate sur les ordinaux dénombrables A tel que L = L(A ).

Exemple 2.3.11. Soit A = {a, b} un alphabet. Les deux automates représentés

sur la Figure 2.7 reconnaissent A]. Le mot vide  est reconnu puisque dans les deux automates, les états initiaux sont finaux. Sans leurs transitions limites à droite, les deux automates reconnaissent A. Pour tout ordinal limite α,

l’en-1 2 {1, 2} → 1 a, b a, b 1 {1} → 1 a, b

Figure 2.7 – Deux automates sur les ordinaux de langage (a + b)\

semble cofinal à gauche de α dans n’importe quelle suite de contenus de chemins consécutifs de l’automate à gauche (resp. droite) de la Figure 2.7 est {1, 2} (resp.

{1}).

Exemple 2.3.12. Le langage de l’automate B de la Figure 2.8 est

où A = {a, b} est l’alphabet de l’automate. Sans l’état 3 et les transitions 2 −→ 1a

et ({1, 2}, 3) on retrouve l’automate de la Figure 2.5. Ainsi, le chemin représenté sur la Figure 2.5 est un chemin acceptant deB. Outre les chemins étiquetés par

1 2 3 {1} → 2 {1, 2} → 3 a, b aC • 2−→ 1aC • 2−→ 1aC • 2−→ 1aC . . .

|

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).