Vous êtes sur la page 1sur 6

Esnard Aurélien Compilation (DEA) ENSERB Informatique

Langages, graphes et logique


Le cas des mots finis

Rappels
Soit A un alphabet. Soit A* l’ensemble des mots finis sur A. A* est muni d’un produit, la
concaténation. (A* ,⋅, ε ) est un monoïde. Les parties L de A* étant appelés langage, on sait
définir les notions de langages rationnels (construit à partir de tout langage fini et des
opérations : union, produit, étoile).
• Théorème de Kleene – Un langage est rationnel si et seulement si il est reconnaissable
par un automate d’états fini.
• Lemme – Si L ⊆ A* est rationnel, alors le complémentaire A* L est aussi rationnel.

Langage de mots infinis

Mots infinis
• Mots finis – Étant donné un alphabet A (fini), un mot u peut être vu comme une fonction
u : [1, k + 1[ → A avec k = u et pour tout i ∈ [1, k + 1[ , u (i ) = ui la ième lettre de u.

• Mots infinis – Les mots infinis sont définis par analogie, comme des fonctions
[1,+∞[ → A . On note Aω , l’ensemble des mots infinis sur A, et on note A∞ = Aω ∪ A* .
• Concaténation – Étant donnés v ∈ Aω , u ∈ A* , on peut définir la concaténation u ⋅ v par :
⎧ u (i ) si i ≤ u
u ⋅ v (i ) = ⎨ . On a bien u ⋅ v ∈ Aω .Ainsi la concaténation devient, dans le
⎩v (i − u ) si i > u
cas des mots infinis, une opération binaire de A* × A∞ → A∞ .

Produit infini – Si on se donne une suite infini de mots finis, c’est-à-dire {uk }k∈N ∈ (A+ ) ,
N

k
et si l’on note pk = ∑ ui , on peut définir le produit infini v = u0 ⋅ u1 L par
i =0

v (i ) = uk +1 (i − pk ) avec pk < i ≤ pk +1 .

Langages rationnels de mots infinis


• Langage rationnel de mots finis – On appelle langage rationnel de mots finis, tout
langage L ⊆ A* définissable à partir d’ensemble finis de mots finis et de ces quatre
opérations :
- l’union, L1 + L2 ;
- le produit, L1 + L2 ;
- l’étoile, L*.
• Langage rationnel de mots infinis – On appelle langage rationnel de mots infinis, tout
langage L ⊆ Aω définissable à partir d’ensemble finis de mots finis et de ces deux
opérations en plus des quatre précédentes :

-1-
Esnard Aurélien Compilation (DEA) ENSERB Informatique

- le produit mixte, L1 ⊆ A* , L2 ⊆ Aω , L1 ⋅ L2 = {u.v / u ∈ L1 , v ∈ L2 } ;


- la puissance oméga, L ⊆ A+ , Lω = {u0 ⋅ u1 ⋅ u2 L / ui ∈ L}.
• Proposition – Tout langage ω-rationnel est une union finie de langage de la forme L ⋅ U ω
pour L, U ⊆ A+ .
• Proposition – U ⋅ U ω = U ω .
• Proposition1 – Pour L ⊆ A∞ (langage de mots finis et infinis), L* est défini comme la
plus petite solution (au sens de l’inclusion) de l’équation ensembliste F ( X ) = X avec
F ( X ) : X → L ⋅ X + ε , c’est-à-dire L* = U F k (O ) = U Lk .
k ≥0 k ≥0

• *
Corollaire – L est le plus petit point fixe de F.
• Théorème2 – Soit L ⊆ A+ , Lω est la plus grande solution de l’équation ensembliste
X = L ⋅ X . En particulier, Lω = I Ln ⋅ A∞ .
n ≥0

Automate de mots infinis


• Définition – Un automate de mots infinis est un quintuplet ∆ = Q, A, δ , I , F avec :
- Q, un ensemble fini d’états ;
- A, l’alphabet fini ;
- δ : Q × A → P (Q ) , la fonction de transition ;
- I ⊆ Q , l’ensemble des états initiaux ;
- F ⊆ Q , l’ensemble des états finaux.
On note q ⎯ ⎯→
a
q′ , le fait que q′ ∈ δ (q, a ) .
• Reconnaissance d’un mot infini – Étant donné un mot w ∈ Aω , c’est-à-dire
w = a0 ⋅ a1 L , on appelle calcul de ∆ sur w une suite d’états {qi }i∈N , tel que pour tout
i ∈ N , qi ⎯⎯→ ai
qi +1 .
On dit que le calcul {qi }i∈N est acceptant lorsque Inf ({qi }i∈N ) I F ≠ O , avec
Inf ({qi }i∈N ) = {qi / qi = q j pour une infinité de j}. On dit que w est reconnu par ∆ lorsqu’il
existe un calcul acceptant {qi }i∈N de ∆ sur w tel que q0 ∈ I .

On note Lω (∆ ) , l’ensemble des mots infinis reconnus par ∆ et L+ (∆ ) , l’ensemble des mots
finis reconnus par ∆.
• Automate déterministe – Un automate ∆ = Q, A, δ , I , F est dit déterministe (et
complet) lorsque :
- I = 1 (pour complet) ;
- δ (q, a ) ≤ 1 avec q ∈ Q , a ∈ A .
• Langage déterministe – On dit que L ⊆ Aω est déterministe lorsqu’il est accepté par un
automate déterministe.
r r
• Préfixe – Pour tout L ⊆ A* , on note L ⊆ Aω tel que w ∈ L si et seulement si
w = v0 ⋅ v1 L tel que pour tout k ≥ 0, vk ∈ A+ et v0 ⋅ v1 L v k ∈ L , c’est-à-dire que le mot w
a une infinité de préfixe dans L.
1
cf. preuve
2
cf. preuve

-2-
Esnard Aurélien Compilation (DEA) ENSERB Informatique

• Théorème – Si L ⊆ Aω est déterministe, alors il existe L1 ⊆ A+ (reconnaissable) tel que


r
L = L1 .
• Proposition – Pour un automate ∆ déterministe, on a Lω (∆ ) = L+ (∆ ) .
• Théorème3 – Il existe des langages reconnaissables de mots infinis qui ne sont pas
déterministes. Par exemple, L = (a + b ) a ω est reconnaissable par un automate non
*

déterministe, mais n’est pas déterministe.


• Théorème Buchi4 – L ⊆ Aω est ω-rationnel si et seulement si L est reconnaissable par un
automate (fini) de mots infinis (appelés par la suite automate de Buchi).
• Théorème Mc Naughton – Un langage L ⊆ Aω est ω-rationnel si et seulement si L est
une combinaison booléenne (union, intersection ,complément) finie de langages de mots
infinis déterministes.
• Corollaire – Si L ⊆ Aω est ω-rationnel, L (le complément de L) est ω-rationnel.
• Proposition – Le complémentaire d’un langage Buchi déterministe n’est pas
nécessairement un langage Buchi déterministe !

3
cf. preuve
4
cf. preuve

-3-
Esnard Aurélien Compilation (DEA) ENSERB Informatique

Un théorie algébrique pour les langages ω-


rationnels
Cas des mots finis

Rappels en algèbre
• Semi-groupe – Un semi-groupe est un ensemble E muni d’un produit (opération interne
binaire associative).
• Monoïde – Un monoïde est un semi-groupe qui possède, en plus, un élément neutre.
• Morphisme – Étant donné deux semi-groupes (E ,⋅ E ) et (F ,⋅ F ) , un morphisme de E vers
F est une fonction φ : E → F telle que ∀x, y ∈ E , φ ( x ⋅ E y ) = φ ( x ) ⋅ F φ ( y ) , c’est-à-dire qui
préserve la structure de semi-groupe. Un morphisme de monoïde associe en plus l’élément
neutre de E avec celui de F.

Point de vue algébrique


Soit L ⊆ A* un langage rationnel. Soit ∆ = Q , q0 , δ , F un automate reconnaissant L. Soit
M ∆ = (P (Q × Q ),⋅, I ) un monoïde fini avec :

∀(R1 , R2 ) ∈ P (Q × Q ) , R1 .R2 = {( x, z ) ∈ Q × Q / ∃y , ( x, y ) ∈ R1 , ( y , z ) ∈ R2 }
2
-
- I = {( x, x ) / x ∈ Q}

Soit φ : A* → M ∆ , un monoïde de morphisme, récursivement défini par :


- φ (ε ) = I
- φ (a ⋅ u ) = {( x, z ) ∈ Q × Q / ∃y ∈ δ ( x, a ), ( y , z ) ∈ φ (u )}
Autrement dit, φ (u ) est l’ensemble des paires ( x, y ) telles qu’il existe une lecture de u par ∆
de l’état x à l’état y.
Soit u ∈ A* . u ∈ L ⇔ φ (u ) ∈ {R / R ∩ ({q0 }× F ) ≠ O}. Autrement dit, à partir d’un langage
reconnaissable L, on a construit un monoïde M ∆ fini et un morphisme φ : A* → M ∆ tels que
L = φ −1 (φ (L )) . On dit alors que φ reconnaît L.
• Théorème5 – L ⊆ A* est rationnel si et seulement si il existe un monoïde fini M et un
morphisme φ : A* → M tels que L = φ −1 (φ (L )) .
• Corollaire – L est rationnel.

Les ω-semi-groupes
• ω-semi-groupe – Un ω-semi-groupe est une paire d’ensemble S = S f , Sω équipée :

- d’un produit sur Sf tel que (S f ,⋅) est un semi-groupe ;

5
cf. preuve

-4-
Esnard Aurélien Compilation (DEA) ENSERB Informatique

- d’un produit mixte S f × Sω → Sω ;

d’un produit infini (S f ) → Sω ;


N
-
tel que on dispose des règles d’associativités souhaitées :
- ∀s, t ∈ S f , ∀u ∈ Sω , (s ⋅ t ) ⋅ u = s ⋅ (t ⋅ u ) ;

∀{uk }k∈N ∈ (S f ) et pour toute suite infini d’entier strictement croissante {k i }i∈N ,
N
-
( )(
on a u0 ⋅ u1 L = u0 L uk0 ⋅ uk0 +1 L uk ; )
∀{uk }k∈N ∈ (S f ) et ∀s ∈ S f , on a s ⋅ (u0 ⋅ u1 L) = s ⋅ u0 ⋅ u1 L .
N
-

• Proposition – (A+ , Aω ) est un ω-semi-groupe, dont le produit sur A+ est la


concaténation…
• Morphisme – Étant donné S = S f , Sω et T = T f , Tω deux ω-semi-groupes, un
morphisme φ : S → T est une paire de fonction φ = φ f , φω avec φ f : S f → T f et
φω : Sω → Tω telle que :
- φ f (s ⋅ t ) = φ f (s ) ⋅ φ f (t ) , s, t ∈ S f ;
- φω (s ⋅ t ) = φ f (s ) ⋅ φω (t ) , s ∈ S f , t ∈ Sω ;
- φω (s0 ⋅ s1 L) = φ f (s0 ) ⋅ φ f (s1 )L .

• ω-semi-groupe fini – Un ω-semi-groupe S = S f , Sω est dit fini lorsque S f et Sω sont


des ensembles finis.
• Théorème T. Wilke6 – Si S = S f , Sω est un ω-semi-groupe fini, pour toute suite
{uk }k∈N d’élément de S f , il existe une suite d’entiers strictement croissante {k i }i∈N , telle
que, en notant :
- v0 = u0 ⋅ u1 L uk0 ;

- vi +1 = uki +1 ⋅ uki +2 L uki +1 , i ≥ 0 ;

pour tout i ≥ 1 , vi = v1 , c’est-à-dire u0 ⋅ u1 ⋅ u2 L = v0 .(v1 ) , en notant v ω = v ⋅ v L .


ω

• Proposition – Le produit infini n’est pas arbitraire complexe pour les ω-semi-groupes
finis, car il est déterminé par la puissance ω.
• Proposition – Soit S = S f , Sω fini. Soit φ : A+ , Aω → S f , Sω un morphisme de ω-
semi-groupes. Soit P ⊆ Sω . Le langage φ −1 (P ) est ω-rationnel.

• Théorème7 – L ⊆ Aω est ω-rationnel si et seulement si il existe un ω-semi-groupe fini


S = S f , Sω et un morphisme φ : A+ , Aω → S f , Sω , tels que L = φ −1 (φ (L )) .

6
cf. preuve
7
cf. preuve

-5-
Esnard Aurélien Compilation (DEA) ENSERB Informatique

• Corollaire – Si L est ω-rationnel , L l’est aussi.

-6-

Vous aimerez peut-être aussi