Suites de mots et automates - dept

Transcription

Suites de mots et automates - dept
MARIN Nathalie
[email protected]
Suites de mots et automates
Responsable : Géraud Sénizergues1
LaBRI et UFR Math-info, Université Bordeaux1
351 Cours de la libération -33405- Talence Cedex, FRANCE
Mémoire de recherche, Master2 Informatique
2006-2007
1
[email protected]
http ://dept-info.labri.u-bordeaux.fr/vges
Résumé Un lien entre la notion d’automates à piles de piles et la notion
de séries formelle rationnelle a été établi en 2005 par Fratani et Sénizergues
[FS05] : toute suite rationnelle de nombres (ou encore, série formelle rationnelle à une seule indéterminée), est reconnue par un automate à piles
de piles déterministe. Une généralisation de ce théorème est faite ici : passage aux séries formelles rationnelles (à plusieurs indéterminées), aux suites
récurrentes caténatives (nouvelle notion introduite ici) et aux HDT0L-sequences.
Une question légitime à rapport à ces inclusions peut être posée : la réciproque
est-elle vraie ? Si une suite est calculable par un automate à piles de piles,
peut-on la caractériser par une suite rationnelle, ou encore par une HDT0Lsequence ? Nous prouvons ici que la réponse à ces questions est positive.
Table des matières
1 Introduction
3
2 Préliminaires
2.1 Mots . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Automates à piles d’ordres supérieurs . . . . .
2.2.1 Piles k-itérées . . . . . . . . . . . . . . .
2.2.2 Automates à piles de niveau k (k-AP s)
2.2.3 Déterminisme . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
5
9
10
3 Outils
11
3.1 Dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Automates à piles k-itérées à compteurs . . . . . . . . . . . . 12
3.3 Suites k-calculables (Sk ) . . . . . . . . . . . . . . . . . . . . . 13
4 Suites et automates à piles de piles
4.1 Séries formelles . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Définition . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Séries formelles N-rationnelles ⊆ S2 (X ∗ , N) . . .
4.2 Suites récurrentes caténatives . . . . . . . . . . . . . . .
4.2.1 Définition . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Suites récurrentes caténatives de mots (indicées
des entiers) ⊆ S2 (N, X ∗ ) . . . . . . . . . . . . . .
4.2.3 Suites récurrentes caténatives de mots (indicées
des mots) ⊆ S2 (X ∗ , X ∗ ) . . . . . . . . . . . . . .
4.3 HDT0L-System . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Définition . . . . . . . . . . . . . . . . . . . . . .
4.3.2 HDT0L-sequence ⊆ S2 (X ∗ , X ∗ ) . . . . . . . . . .
4.4 Réciproque . . . . . . . . . . . . . . . . . . . . . . . . .
. . .
. . .
. . .
. . .
. . .
par
. . .
par
. . .
. . .
. . .
. . .
. . .
15
15
15
16
18
18
20
22
24
24
25
27
5 Conclusion
29
A Exemples et interprétation graphique de L-System
31
B Signification des sigles de ”HDT0L”
35
1
Suites de mots et automates
C Suites localement caténatives
Nathalie Marin
37
2
Chapitre 1
Introduction
Les automates à piles de piles reconnaissent les langages d’ index, une famille de langages introduite par Aho en 1968 qui possède de nombreuses caractérisations différentes ainsi que d’assez bonnes propriétés algorithmiques.
Par ailleurs les séries formelles rationnelles (commutatives ou non) interviennent naturellement en combinatoire et en théorie des langages formels
[BR84]. Un lien entre ces deux notions a été établi en 2005 par Fratani et
Sénizergues [FS05] : toute suite rationnelle de nombres (ou encore, série formelle rationnelle à une seule indéterminée), est reconnue par un automate
à piles de piles déterministe.
Mon travail consistait à approfondir et étendre cette correspondance
entre suites et automates.
La première partie de mon travail consistait à étudier une généralisation
du théorème de [FS05] aux séries formelles N-rationelles à plusieurs indéterminées. Cette généralisation étant faite, j’ai regardé ensuite les suites récurrentes
caténatives (nouvelle notion introduite ici), puis les HDT0L-sequences (liées
aux L-Systems).
Tout ceci étant fait, j’ai regardé si la réciproque de ces théorèmes était
plausible. Ce résultat que j’ai réussi à démontrer est un résultat totalement
nouveau !
Dans la première partie de ce mémoire, je donne les préliminaires à connaı̂tre
tels que la notion de mots et la définition d’un automate à piles de piles.
Dans la section suivante, je définis les outils à avoir afin de faciliter les
preuves ainsi que la nouvelle définition de suites k-calculables (Sk ). Il s’agit
de notions introduites dans [FS05] que j’ai redéfini de manière beaucoup
plus générale. Et enfin, dans une dernière partie, je démontre les nouveaux
théorèmes sur les automates à piles de piles que j’ai trouvé, en donnant au
préalable une définition des suites utilisées.
3
Suites de mots et automates
Nathalie Marin
4
Chapitre 2
Préliminaires
Nous donnons ici la définition d’un mot ainsi que la définition d’un automate à piles de piles ... de piles (k fois) ou encore appelé automate à piles
de niveau k.
2.1
Mots
Soient X = (x1 . . . xp ) un ensemble fini appelé alphabet dont les éléments
s’appellent des lettres, X ∗ le monoı̈de libre qu’il engendre. Les éléments de
X ∗ s’appellent des mots ; on notera ε le mot vide de X ∗ . Le produit dans
X ∗ est la concaténation. Si f ,g X ∗ , f.g revient à écrire g à droite de f . Un
langage est une partie de X ∗ .
2.2
Automates à piles d’ordres supérieurs
La classe des automates à piles de niveau k (pour k ≥ 1) a été introduite dans [Gre70],[Mas74] comme une généralisation des automates et
grammaires de [Aho68],[Aho69], [Fis68].
2.2.1
Piles k-itérées
Ici nous utiliserons la définition de [DG86] et nous nous en tiendrons à
leurs notations.
Les automates à piles d’ordres supérieurs sont une extension des automates
à piles classiques avec une structure de stockage établie itérativement. La
structure de stockage, définie par [Gre70], peut être décrite de la façon suivante :
– une pile 1-itérée se compose d’une liste de symboles
– une pile (k + 1)-itérée se compose d’une liste de couples
(symbole , pile k-itérée).
5
Suites de mots et automates
La figure 2.1 représente une 3 − pile (une pile 3-itérée), comme elle est
représentée dans [DG86].
A1
B1
B2
A2
A3 C3
...
B3
D3
...
...
B2
D3 C3
...
..
.
.
..
Fig. 2.1 – une 3 − pile
Définition 1 (pile k-itérée). ,
Soit Γ un ensemble. Nous définissons inductivement l’ensemble des piles
k-itérées sur Γ,
[
0−pile(Γ) = {ε} (k+1)−pile(Γ) = (Γ[k−pile(Γ)])∗ it − pile(Γ) =
k−pile(Γ).
k≥0
Définition 2. Soit ω ∈ k − pile(Γ). On dit que ω est atomique si et seulement si, pour tout ω1 , ω2 ∈ k − pile(Γ), ω = ω1 · ω2 ⇒ (ω1 = ε or ω2 = ε).
Dans ce cas, ω est appelé un atome.
Tout ω ∈ (k + 1) − pile(Γ) non vide a une unique décomposition :
ω = A[flag] · rest
avec A ∈ Γ, flag ∈ k − pile(Γ), et rest ∈ (k + 1) − pile(Γ).
Exemple 1. Soit ω la 3 − pile donnée en figure 2.1.
ω = A1 [A2 [A3 [ε]C3 [ε]]B2 [D3 [ε]C3 [ε]]]B1 [B2 [B3 [ε]D3 [ε]]].
On peut supprimer les [ε]. On obtient sans ambiguı̈té de compréhension :
ω = A1 [A2 [A3 C3 ]B2 [D3 C3 ]]B1 [B2 [B3 D3 ]].
La figure 2.2 illustre la représentation planaire de la 3 − pile donnée dans
l’exemple 1.
Nathalie Marin
6
Suites de mots et automates
A3
D3
C3
C3
B2
A2
A1
B3
D3
B2
B1
Fig. 2.2 – pile comme un arbre planaire
Nous allons maintenant regarder les opérations permises sur ses piles
([FS05]).
Définition 3 (L’opération de lecture). ,
L’opération topsyms : it − pile(Γ) → Γ∗ est définie par :
topsyms(ε) = ε, topsyms(A[f ]r) = A · topsyms(f ).
Exemple 2. L’opération de lecture appliquée à l’exemple çi-dessus donne :
topsyms(ω) = A1 A2 A3
Définition 4 (L’opération pop de niveau j). ,
L’opération popj : it − pile(Γ) → it − pile(Γ) est définie par :
popj (ε) est indéfinie , pop1 (A[f ]r) = r, popj+1 (A[f ]) = A[popj (f )]r.
Exemple 3. L’opération pop appliquée à l’exemple çi-dessus donne :
pop1 (ω) = B1 [B2 [B3 D3 ]]
pop2 (ω) = A1 [B2 [D3 C3 ]]B1 [B2 [B3 D3 ]]
pop3 (ω) = A1 [A2 [C3 ]B2 [D3 C3 ]]B1 [B2 [B3 D3 ]]
Nathalie Marin
7
Suites de mots et automates
C3 D3
A3
A2
B3 D3
C3
B2
B2
B3
B2
pop1
B1
A1
D3
B1
pop2
pop3
C3 D3
A2
C3
B3
B1
C3
D3
B2
B2
A1
D3
B3
B2
B2
A1
D3
B1
Fig. 2.3 – Les opérations pop
Définition 5 (L’opération push de niveau j). ,
Soit γ = A1 . . . An ∈ Γ+ . L’opération pushj (γ) : it − pile(Γ) → it − pile(Γ)
est définie par :
push1 (γ)(ε) = γ, pushj+1 (γ)(ε) est indéfinie pour j ≥ 1,
push1 (γ)(A[f ]r) = A1 [f ] . . . An [f ]r, pushj+1 (γ)(A[f ]r) = A[pushj (γ)(f )]r.
Exemple 4. L’opération push appliquée à l’exemple çi-dessus donne :
push2 (AB)(ω) = A1 [A[A3 C3 ]B[A3 C3 ]B2 [D3 C3 ]]B1 [B2 [B3 D3 ]]
push3 (AB)(ω) = A1 [A2 [ABC3 ]B2 [D3 C3 ]]B1 [B2 [B3 D3 ]]
Nathalie Marin
8
Suites de mots et automates
A3
C3 D3
C3
B3
D3
push2 (AB)
A2
B2
B2
A3
B1
A1
push3 (AB)
A
B C3 D3
C3
C3 A3 C3 D3
A
B2
B3 D3
B1
B2
B2
A1
D3
B2
B
A1
A2
C3 B3
B1
Fig. 2.4 – Les opérations push
2.2.2
Automates à piles de niveau k (k-AP s)
Définition 6 (Syntaxe des k-AP s).
Soit k ≥ 1 :
,
1. Soit P OP = {popj |j ∈ [k]}, P U SH(Γ) = {pushj (γ)|γ ∈ Γ+ , j ∈ [k]},
et T OP SY M S(Γ) = Γ(k) − {ε}.
2. Un automate à piles de niveau k est un 6-tuplet A = (Q, X, Γ, δ, q0 , Z)
où
– Q un ensemble fini d’états, q0 ∈ Q étant l’état initial,
– Γ un ensemble fini de symboles avec Z ∈ Γ le symbole de départ de
pile,
– la fonction de transition δ est une opération de Q × (X ∪ {ε}) ×
T OP SY M S(Γ) dans l’ensemble de sous-ensembles finis de Q ×
(P U SH(Γ) ∪ P OP ) telle que :
si (q, pushj (γ)) ∈ δ(p, ā, γ) alors j ≤ |γ|+1 et si (q, popj ) ∈ δ(p, ā, γ)
alors j ≤ |γ|. Ces conditions évitent des cas où les opérations sont
non définies.
Nathalie Marin
9
Suites de mots et automates
Définition 7 (Sémantique des k-APs). ,
Soit A = (Q, X, Γ, δ, q0 , Z) un k-AP :
1. L’ensemble des configurations de A est ConA = Q × X ∗ × k − pile(Γ).
2. La relation induite par A est notée `A ⊆ ConA × ConA et est définie
par
(p, w, ω)`A (q, v, ω 0 ) si et seulement si
(q, f ) ∈ δ(p, ā, topsyms(ω)), āv = w et ω 0 = f (ω).
3. La clôture réflexive et transitive de `A est notée `∗A
4. Le langage accepté par A (par pile vide) est défini par
L(A) = {w ∈ X ∗ |∃q ∈ Q, (q0 , w, Z)`∗A (q, ε, ε)}.
5. La classe des langages acceptée par les k-APs est notée k-AP(X).
Il a été prouvé que l’acceptation par pile vide et l’acceptation par états
finaux et pile vide définissent la même classe de langages.
Exemple 5. Le 2-AP A suivant reconnaı̂t : L(A) = {af (n) | n ≥ 0}, où f
correspond à la suite de Fibonacci.
A = ({q0 , q1 , q2 }, {a}, {Z, X1 , X2 , F }, δ, q0 , Z) avec
δ(q0 , ε, Z) = {(q0 , push2 (F )), (q0 , push1 (X2 ))},
δ(q0 , ε, ZF ) = {(q0 , push2 (F F )), (q0 , push1 (X2 ))},
δ(q0 , ε, X1 F ) = {(q1 , pop2 )}, δ(q0 , ε, X2 F ) = {(q2 , pop2 )},
δ(q0 , a, X1 ) = {(q0 , pop1 )}, δ(q0 , a, X2 ) = {(q0 , pop1 )},
δ(q1 , ε, X1 F ) = {(q0 , push1 (X1 X2 ))}, δ(q2 , ε, X2 F ) = {(q0 , push1 (X1 )},
δ(q1 , ε, X1 ) = {(q0 , push1 (X1 X2 ))}, δ(q2 , ε, X2 ) = {(q0 , push1 (X1 )}.
On donne un calcul acceptant le mot af (3) = a3 :
(q0 , a3 , Z[ε])` (q0 , a3 , Z[F ])` (q0 , a3 , Z[F F ])` (q0 , a3 , Z[F F F ])`
(q0 , a3 , X2 [F F F ])` (q2 , a3 , X2 [F F ])` (q0 , a3 , X1 [F F ])` (q1 , a3 , X1 [F ])`
(q0 , a3 , X1 [F ]X2 [F ])` (q1 , a3 , X1 [ε]X2 [F ])` (q0 , a3 , X1 [ε]X2 [ε]X2 [F ])`
(q0 , a2 , X2 [ε]X2 [F ])` (q0 , a, X2 [F ])` (q2 , a, X2 [ε])` (q0 , a, X1 [ε])`
(q0 , ε, ε)
2.2.3
Déterminisme
L’automate A est dit déterministe si et seulement si, pour tout q ∈ Q, γ ∈
Γ(k) , a ∈ X
Card(δ(q, ε, γ)) ≤ 1 and Card(δ(q, a, γ)) ≤ 1,
(2.1)
Card(δ(q, ε, γ)) = 1 ⇒ Card(δ(q, a, γ)) = 0.
(2.2)
Nathalie Marin
10
Chapitre 3
Outils
Nous introduisons maintenant les différents outils qui nous permettront
de formaliser les preuves. Ceux-ci ont été introduits par Fratani et Sénizergues
[FS05]. Nous en donnons ici de nouvelles définitions, plus générales, qui
s’adaptent aux preuves à venir.
3.1
Dérivation
Nous introduisons maintenant l’outil de dérivation défini par Fratani et
Sénizergues dans [FS05].
Nous associons à A un ”alphabet” infini
VA = {(p, ω, q) | p, q ∈ Q, ω ∈ k − pile(Γ) − {ε}}.
(3.1)
et un ensemble de productions noté PA et composé des règles suivantes :
– les règles de transition :
(p, ω, q)→A ā(p0 , ω 0 , q)
si (p, ā, ω)`A (p0 , ε, ω 0 ) et q ∈ Q est arbitraire,
(p, ω, q)→A ā
si (p, ā, ω)`A (q, ε, ε).
– les règles de décomposition :
(p, ω, q)→A (p, η, r)(r, η 0 , q)
si ω = η · η 0 , η 6= ε, η 0 6= ε et r ∈ Q est arbitraire.
La relation dérivation simple générée par A et notée →A , est le plus petit
sous-ensemble de (V ∪ X)∗ × (V ∪ X)∗ contenant PA et compatible avec le
produit à gauche et le produit à droite. Finalement, la relation ”dérivation
11
Suites de mots et automates
générée” par A est notée →∗A et correspond à la clôture réflexive et transitive
de →A .
Nous avons en particulier, avec Γ1 = {A[ω] | A ∈ Γ, ω ∈ (k−1)−pile(Γ)},
pour tout u ∈ Σ∗ , p, q ∈ Q, ω ∈ Γ∗1
(p, ω, q)→∗A u ⇔ (p, u, ω)`∗A (q, ε, ε).
La notion de dérivation permet de décomposer proprement les calculs d’un
automates.
Lemme 1. Soient pi , qi ∈ Q, ωi ∈ Γ∗1 pour i ∈ 1, 2, 3. Les propriétés suivantes sont équivalentes :
(1) (p1 , ω1 , q1 )→∗A (p2 , ω2 , q2 )(p3 , ω3 , q3 )
(2) Il existe ω20 , ω30 ∈ Γ∗1 , tels que :
(p1 , ε, ω1 )`∗A (p2 , ε, ω2 ω20 ); (q2 , ε, ω20 )`∗A (p3 , ε, ω3 ω30 ); (q3 , ε, ω30 )`∗A (q1 , ε, ε).
Nous supposerons généralement que Γ et Q sont disjoints, nous pourrons
ainsi, sans confusion possible, omettre les virgules dans (p, ω, q).
3.2
Automates à piles k-itérées à compteurs
Définition 8 (piles k-itérées à compteurs dans X). ,
Soit Γ un alphabet avec X ⊆ Γ. L’ensemble k − pileX(Γ) des piles kitérées sur Γ est défini par :
1 − pileX(Γ) = (X[ε])∗ , (k + 1) − pileX(Γ) = ((Γ − X).[k − pileX(Γ)])∗ .
où les lettres de X sont les éléments de fond de pile.
Exemple 6. Voilà un exemple de 3-pileX (avec {a, b} ⊆ X) :
A[B[a]C[b]]B[E[aba]].
Définition 9 (automates à piles de niveau k à compteurs dans X). ,
Un k-AP A = (Q, X, Γ, δ, q0 , Z) est dit k-AP à compteurs dans X, si A
est un k-AP sur un alphabet Γ ⊇ X, tel que l’ensemble des piles sur Γ est clos
par la relation d’évaluation i.e. pour tout q, q 0 ∈ Q, ω, ω 0 ∈ k −pile(Γ), u, u0 ∈
X ∗ , si ω ∈ k − pileX(Γ) et (q, u, ω)`A (q 0 , u0 , ω 0 ) alors ω 0 ∈ k − pileX(Γ).
Par la suite, nous appelons un k-APD, un Automate à Piles Déterministe
de niveau k à compteurs (lettres) dans X.
Nathalie Marin
12
Suites de mots et automates
3.3
Suites k-calculables (Sk )
Définition 10. Déterminisme
L’automate A est dit fortement déterministe si et seulement si, il est
déterministe et pour tout q ∈ Q, γ ∈ Γ(k)
X
Card(δ(q, a, γ)) = 1.
aX∪{ε}
Définition 11 (Suites k-calculables).
Une suite de mots (ui )iI est appelée une suite k-calculable si il existe
un k-APD A fortement déterministe, avec un alphabet Γ contenant au moins
k symboles différents A1 , A2 , ..., Ak , tel que, pour tout objet ω Σ∗ :
(q0 , u(ω), A1 [A2 . . . [Ak−1 [ω]] . . .])`∗A (q0 , ε, ε).
L’ensemble des suites k-calculables (ui )iI , ui J est noté Sk (I, J).
Les différents cas auquels nous allons nous intéresser sont : I = N, I =
X ∗ , J = N, J = X ∗ .
Nathalie Marin
13
Suites de mots et automates
Nathalie Marin
14
Chapitre 4
Suites et automates à piles
de piles
On cherche à trouver les correspondances possibles entre différents types
de suites et les 2-APD.
cas : suites de nombres rationnels ⊆ S2 (N, N)
Les suites du type (Ui )iI sur N correspondent aux suites de nombres
entiers, i.e. à des applications Ui : N → N. On notera Ui (n) le i-ième terme
de la suite Ui .
Fratani et Sénizergues ont déjà prouvé dans [FS05] que toute suite rationnelle de nombres entiers est reconnaissable par un 2-APD.
4.1
4.1.1
Séries formelles
Définition
Une série formelle S est une application X ∗ → K ([BR88]). L’image
d’un mot w par S est notée (S, w) : on l’appelle le coefficient de w dans
S. L’ensemble des séries formelles sur X à coefficients dans K est notée
K X . La famille de séries ((S, w)w)wX ∗ est sommable et sa somme
n’est autre que S ; d’où l’écriture usuelle
X
S=
(S, w)w.
wX ∗
Les opérations rationnelles de K X sont la somme, le produit,
les deux produits externes de K sur K X et le passage à l’étoile.
Une partie de K X est rationnellement close si elle est close pour les
opérations rationnelles. La plus petite partie rationnellement close contenant
une partie E de K X s’appelle la clôture rationnelle de E.
15
Suites de mots et automates
Une série formelle est rationnelle si elle appartient à la clôture rationnelle
de {X}.
Une série formelle S K X est dite reconnaissable s’il existe un
entier d ≥ 1, un morphisme de monoı̈des µ : X ∗ → K d×d et deux matrices
IK 1×d et F K d×1 tels que pour tout mot
w : (S, w) = I µ(w) F.
Théorème 1 (Kleene - Schützenberger).
Soit X un alphabet fini. Pour tout semi-anneau K, on a : Rat(K X ) = Rec(K X ).
4.1.2
Séries formelles N-rationnelles ⊆ S2 (X ∗ , N)
Théorème 2. Toute série formelle rationnelle de K X appartient à
S2 (X ∗ , N).
Construction Supposons que (S, w) soit définie par I {0, 1}1×l , µ N l×l ,
F {0, 1}l×1 tels que (S, w) = I µ(w) F .
Nous introduisons un alphabet à une seule lettre {α} et nous identifions
(N, +) avec ({α}∗ , .). Soit A = (Q, {α}, Γ, δ, q0 , Z), avec :
Q = {q0 } ∪ {qi,j,x , 1 ≤ i, j ≤ l et x X}, Γ = {Ai,j , 1 ≤ i, j ≤ l} ∪ X
et la relation de transition δ définie par :
1 δ(q0 , α, Ai,i ) = (q0 , pop1 ), et δ(q0 , ε, Ai,j ) = (q0 , pop1 ) si i 6= j
2 δ(q0 , ε, Ai,j x) = (qi,j,x, pop2 )
Y µ(x)
3 δ(qi,j,x , ε, Ai,j ) = (q0 , push1 (
Ak,j i,k ))
1≤k≤l
4 δ(q0 , ε, Av) = δ(q0 , ε, A) = (q0 , push1 (
Y
(
Y
AIi,ji )Fj ))
1≤j≤l 1≤i≤l
avec x X et v X ∗ .
Preuve Considérons les suites µi,j définies par la récurrence suivante, pour
tout x X et pour tout v X ∗ :
X
µi,j (xv) =
µi,k (x).µk,j (v), µi,i (ε) = 1 et µi,j (ε) = 0 pour i 6= j.
1≤k≤l
Montrons par induction sur w X ∗ la propriété auxiliaire P (w) :
∀1 ≤ i, j ≤ l (q0 Ai,j [w] q0 ) →∗A αµi,j (w) (?)
Base : w = ε
(q0 Ai,j [ε] q0 ) = (q0 Ai,j q0 ) →A ε = α0 si i 6= j
α = α1 si i = j
Nathalie Marin
16
Suites de mots et automates
Les transitions (1) assurent que P (ε) est vraie.
Pas d’induction : Supposons P (v) avec w = xv, x X et v X ∗ .
(q0 Ai,j [xv] q0 ) →A (qi,j,x Ai,j [v] q0 ) par transition (2)
Y
(Ak,j [v])µi,k (x) q0 ) par transition (3)
→A (q0
1≤k≤l
→∗A
Y
(q0 Ak,j [v] q0 )µi,k (x) par décomposition
1≤k≤l
Par hypothèse d’induction :
(q0 Ak,j [v] q0 ) →∗A αµk,j (v)
En composant les dérivations précédentes nous obtenons :
X
µk,j (v).µi,k (x)
Y
∗
µk,j (v) µi,k (x)
1≤k≤l
(q0 Ai,j [xv] q0 ) →A
(α
)
=α
1≤k≤l
X
=
µi,k (x).µk,j (v)
α1≤k≤l
= αµi,j (xv)
Ceci prouve P (xv) et la propriété (?) est donc établie pour tout w.
Examinons maintenant la suite (S, w). Pout tout w :
X X
(S, w) =
Ii .µi,j (w).Fj .
(4.1)
1≤i≤l 1≤j≤l
En appliquant la transition (4) suivie par des règles de décompositions, nous
obtenons :
Y Y
(q0 A[w] q0 ) →∗A (q0 (
(
Ai,j [w]Ii )Fj ) q0 )
1≤j≤l 1≤i≤l
→∗A (
Y
(
Y
(4.2)
(q0 Ai,j [w] q0 )Ii .Fj )
1≤j≤l 1≤i≤l
et d’après P (w) nous déduisons que
Y
Y
(q0 Ai,j [w] q0 )Ii .Fj →∗A
αµi,j (w).Ii .Fj
1≤i≤l
(4.3)
1≤i≤l
En combinant les dérivations 4.2 et 4.3 nous obtenons, par la formule 4.1 :
X X
Ii .µi,j (w).Fj
Y Y
∗
µi,j .Ii .Fj
(q0 A[w] q0 ) →A
(
α
) = α1≤i≤l 1≤j≤l
1≤j≤l 1≤i≤l
= α(S,w)
Nathalie Marin
17
Suites de mots et automates
4.2
4.2.1
Suites récurrentes caténatives
Définition
Définition 12. On dit qu’une famille de suites de mots indicée par des
entiers (Ui )iI (où Ui : N → X ∗ est récurrente caténative si on a :
Y
Ui (n + 1) =
aα(i,j) Uγ(i,j) (n)
1≤j≤l(i)
avec nN, ak X ∗ ∀1 ≤ k ≤ l(i) et l(i)N.
Remarquons que si on a une suite se finissant par un mot aα(i,j) , on peut
se ramener au cas précédent en créant une suite supplémentaire Us telle que :
Us (n + 1) = Us (n) pour tout n ≥ 1 et Us (0) = ε.
Exemple 7. Exemple de suite récurrente caténative (avec n ≥ 1) :
Prenons la suite :
U1 (n + 1) = U1 abU1 U2 (n)a
U2 (n + 1) = aU2 bbU2 (n)
U1 (0) = aa
U2 (0) = aba
Pour se ramener à la définition, on ajoute une suite U3 :
U1 (n + 1) = U1 abU1 U2 (n)aU3 (n)
U2 (n + 1) = aU2 bbU2 (n)
U1 (0) = aa
U2 (0) = aba
U3 (0) = ε
Plus généralement, on pourra avoir une suite récurrente caténative de
mots indicée par des mots :
Définition 13. On dit qu’une famille de suites de mots (Ui )iI sur X ∗ est
récurrente caténative indicée par des mots si on a :
Y
Ui (xv) =
aα(i,j,x) Uγ(i,j) (v)
1≤j≤l(i,x)
avec xX, vX ∗ , ak X ∗ ∀1 ≤ k ≤ l(i) et l(i, x)N.
Nathalie Marin
18
Suites de mots et automates
On peut écrire plus simplement une suite récurrente caténative, prenons
(Ui )iI sur X ∗ , en :
Y
Wi (xv) =
Wγ(i,j) (v)
1≤j≤l(i,x)
avec Wγ(i,j) (xv) = aα(i,j,x) Uγ(i,j) (xv) et on ajoute un ai X ∗ vide tel que :
Wi (xv) = ai Ui (xv) = Ui (xv) pour tout x.
Le cas de base Wγ(i,j) (ε) = aα(i,j,ε) Uγ(i,j) (ε) donne bien un élément pré-défini
(vu que les aα(i,j,ε) et les Uk sont connus).
On a bien
Wi (xv) = ai Ui (xv) = Ui (xv)
Y
=
Wγ(i,j) (v)
1≤j≤l(i,x)
=
Y
aα(i,j) Uγ(i,j) (v)
1≤j≤l(i,x)
= Ui (xv)
Notation Soit (Ui )iI une suite récurrente caténative sur X ∗ . On note
|Ui | = maxx∈X (l(i, x)).
Nous donnons ici une définition de normalisation des suites récurrentes
caténatives, permettant une simplification des preuves à venir.
Lemme 2. Normalisation
Soit (Ui )iI une suite récurrente caténative sur X ∗ . On a :
Y
Ui (xv) =
Uγ(i,j) (v)
1≤j≤l(i,x)
On a les règles de réécriture :
1. On la complète la suite U1 ...Ul de nouveaux Ul+k , correspondant aux
k lettres de l’alphabet X (cela nous permet d’initialiser les lettres des
mots).
2. Soit p = max1≤k≤l(i,x) (|Uk |). Nous complétons les suites d’éléments
neutres (Ul + k + 1) afin que ∀j, 1 ≤ j ≤ l + k + 1, |Uj | = p .
On a alors :
Y
• Ui (xv) =
Uγ(i,j) (v)
1≤j≤p
• Ul + (0) = ε pour 1 ≤ i ≤ l
• Ul+k (0) = xk pour 1 ≤ k ≤ |X| (xk étant la k ème lettre de l’alphabet
X)
• Ul+k+1 (0) = ε.
Nathalie Marin
19
Suites de mots et automates
Voyons cela sur un exemple.
Exemple 8. Prenons la suite récurrente caténative suivante :
U1 (n + 1) = U1 abU1 bU2 (n)
U2 (n + 1) = aU2 U2 (n)
Nous allons dans un premier temps créer les Uk correspondant aux lettres
de X :
U1 (n + 1) = U1 U3 U4 U1 U4 U2 (n)
U2 (n + 1) = U3 U2 U2 (n)
U3 (n + 1) = U3 (n) = U3 (0) = a
U4 (n + 1) = U4 (n) = U4 (0) = b
Ensuite nous ajoutons un dernier élément Ul+k+1 permettant d’avoir
toutes les suites de la même longueur :
U1 (n + 1) = U1 U3 U4 U1 U4 U2 (n)
U2 (n + 1) = U3 U2 U2 U5 U5 U5 (n)
U3 (n + 1) = U3 U5 U5 U5 U5 U5 (n) = a
U4 (n + 1) = U4 U5 U5 U5 U5 U5 (n) = b
U5 (n + 1) = U5 U5 U5 U5 U5 U5 (n) = ε
4.2.2
Suites récurrentes caténatives de mots (indicées par
des entiers) ⊆ S2 (N, X ∗ )
Théorème 3. Si (Ui )iI est une suite récurrente caténative sur X ∗ , alors
(Ui )iI ∈ S2 (N, X ∗ ).
Construction Soit (Ui )iI une suite récurrente caténative sur X ∗ . On applique le lemme de normalisation.
On a alors :
Y
• Ui (n + 1) =
Uγ(i,j) (n) avec p = max1≤k≤l(i,x)(|Uk |).
1≤j≤p
• Ui (0) définie pour 1 ≤ i ≤ l, on pose Ui (0) = ai
• Ul+k (0) = xk pour 1 ≤ k ≤ |X| (xk étant la k ème lettre de l’alphabet
X)
• Ul+k+1 (0) = ε
Soit ai X ∗ pour 1 ≤ i ≤ l + k + 1, on pose Ui (0) = ai .
Soit A = (Q, X, Γ, δ, q0 , Z), avec :
Q = {q0 } ∪ {qi , 1 ≤ i ≤ p}, Γ = {F } ∪ {Ai , 1 ≤ i ≤ p}
et la relation de transition δ est définie par :
Nathalie Marin
20
Suites de mots et automates
δ(q0 , ε, Ai ) = (q0 , pop1 ) si i = l+k+1, et δ(q0 , ai , Ai ) = (q0 , pop1 ) si 1 ≤ i ≤ l+k
(4.4)
δ(q0 , ε, Ai F ) = (qi , pop2 )
(4.5)
Y
δ(qi , ε, Ai F ) = δ(qi , ε, Ai ) = (q0 , push1 (
Aγ(i,j) )
(4.6)
1≤j≤p
Nous utilisons ici le symbole F que nous allons ”compter” (comme utilisé
dans [FS05]).
Preuve
Considérons les suites Ui définies comme précédemment.
Y
Ui (n + 1) =
Uγ(i,j) (n) avec p = max1≤k≤l(i,x) (|Uk |).
1≤j≤p
Montrons par induction sur n ≥ 0 la propriété P (n) :
∀1 ≤ i ≤ p (q0 Ai [F n ] q0 ) →∗A Ui (n) (?)
Base : n = 0
(q0 Ai [F 0 ] q0 ) = (q0 Ai q0 ) →A ε = ai = Ui (0) si i = l + k + 1
ai = Ui (0) si 1 ≤ i ≤ l + k
Les transitions (1) assurent que P (0) est vraie.
Pas d’induction : Supposons P (n) pour tout n ≥ 0.
(q0 Ai [F n+1 ] q0 ) →A (qi Ai [F n ] q0 ) par transition (2)
Y
(Aγ(i,j) [F n ]) q0 ) par transition (3)
→A (q0
1≤j≤p
Y
→∗A
(q0 Aγ(i,j) [F n ] q0 ) par décomposition
1≤j≤p
Par hypothèse d’induction :
(q0 Aγ(i,j) [F n ] q0 ) →∗A Aγ(i,j) (n)
En composant les dérivations précédentes nous obtenons :
Y
Uγ(i,j) (n)
(q0 aα(i,j) [aw] q0 ) →∗A
1≤j≤p
= Ui (n + 1)
Ceci prouve P (n + 1) et la propriété (?) est donc établie pour tout n ≥ 0.
Nathalie Marin
21
Suites de mots et automates
4.2.3
Suites récurrentes caténatives de mots (indicées par
des mots) ⊆ S2 (X ∗ , X ∗ )
Théorème 4. Si (Ui )iI est une famille de suites récurrentes caténatives de
mots indicées par des mots, alors ∀ iI, (Ui )iI ∈ S2 (X ∗ , X ∗ ).
Construction Soit (Ui )iI une famille de suites récurrentes caténatives de
mots indicées par des mots.
Nous utilisons le lemme de normalisation afin de simplifier la démonstration
du théorème.
On a alors : Y
• Ui (xv) =
Uα(i,j,x)(v) avec xX, vX ∗ et p = max1≤i≤l(i,x) (|Ui |)
1≤j≤p
• Ul + (0) = ε pour 1 ≤ i ≤ l
• Ul+k (0) = xk pour 1 ≤ k ≤ |X| (xk étant la k ème lettre de l’alphabet
X)
• Ul+k+1 (0) = ε
Soit ai X ∗ pour 1 ≤ i ≤ l + k + 1, on pose Ui (0) = ai .
Soit A = (Q, X, Γ, δ, q0 , Z), avec :
Q = {q0 } ∪ {qi,x , 1 ≤ i ≤ p et xX}, Γ = {Ai , 1 ≤ i ≤ p} ∪ X
et la relation de transition δ est définie par :
δ(q0 , ε, Ai ) = (q0 , pop1 ) si i = l+k+1, etδ(q0 , ai , Ai ) = (q0 , pop1 )si 1 ≤ i ≤ l+k
(4.7)
δ(q0 , ε, Ai x) = (qi,x , pop2 )
(4.8)
Y
δ(qi,x , ε, Ai ) = (q0 , push1 (
Aα(i,j,x) )
(4.9)
1≤j≤p
Considérons les suites Ui définies comme précédemment.
Y
Ui (xv) =
Uα(i,j,x) (v) avec xX, vX ∗ etp = max1≤i≤l(i,x) (|Ui |).
Preuve
1≤j≤p
Montrons par induction sur w la propriété P (w) :
∀1 ≤ i ≤ p (q0 Ai [w] q0 ) →∗A Ui (w) (?)
Base : w = ε
(q0 Ai [ε] q0 ) = (q0 Ai q0 ) →A ε = Ui (0) si i = l + k + 1
ai = Ui (0) si 1 ≤ i ≤ l + k
Nathalie Marin
22
Suites de mots et automates
Les transitions (1) assurent que P (ε) est vraie.
Pas d’induction : Supposons P (xv) avec xX et vX ∗ .
(q0 Ai,j [xv] q0 ) →A (qi,x Ai [v] q0 ) par transition (2)
Y
(Aα(i,j,x) [v]) q0 ) par transition (3)
→A (q0
1≤j≤p
→∗A
Y
(q0 Aα(i,j,x) [v] q0 ) par décomposition
1≤j≤p
Par hypothèse d’induction :
(q0 Aα(i,j,x) [v] q0 ) →∗A Uα(i,j,x) (v)
En composant les dérivations précédentes nous obtenons :
Y
Uα(i,j,x)(v)
(q0 Ai [xv] q0 ) →∗A
1≤j≤p
= Ui (xv)
Ceci prouve P (xv) et la propriété (?) est donc établie pour tout wX ∗ .
Nathalie Marin
23
Suites de mots et automates
4.3
4.3.1
HDT0L-System
Définition
Un L-System (ou système de Lindenmayer) est une grammaire formelle, permettant un procédé algorithmique, inventé en 1968 par le biologiste
hongrois Aristid Lindenmayer ([Lin68]) qui consiste à modéliser le processus
de développement et de prolifération de plantes ou de bactéries.
Définition 14. L-System
Un L-System est une grammaire formelle qui comprend :
1. un alphabet V : l’ensemble des variables du L-System
2. un ensemble de valeurs constantes S
3. un axiome de départ w V +
4. un ensemble de règles, noté P , de reproduction des symboles de V
Un L-System est alors noté {V, S, w, P }.
Exemple 9. l’algue de Lindenmayer
Voici le premier L-System d’Aristid Lindenmayer qui servait à décrire le
développement d’une algue :
• Alphabet : V = A, B
• Constantes : S = {}
• Axiome de départ : w = A
• Règles : P = {(A → AB), (B → A)}
Algue est le nom du L-System. En premier on a l’axiome w, puis chaque
règle de P est à la ligne l’une de l’autre. A → AB est à comprendre comme
tout symbole A devient un ”mot” AB à la génération suivante.
Voici le résultat sur six générations :
– n = 0, A
– n = 1, AB
– n = 2, ABA
– n = 3, ABAAB
– n = 4, ABAABABA
– n = 5, ABAABABAABAAB
– n = 6, ABAABABAABAABABAABABA
D’autres exemples et des interprétations graphiques de L-System sont
donnés en annexe A.
Dans notre cas, nous allons plus précisément nous intéresser à un type particulier de L-System appelé HDT0L-System.
Nathalie Marin
24
Suites de mots et automates
Définition 15. HDT0L-System
Un HDT0L-System est une construction G = (X, X1 , φ, h, w) où :
– X et X1 sont des alphabets finis
– φ est un ensemble fini d’homomorphismes φ = {ϕ1 , ..., ϕk } avec ϕi :
X ∗ → X ∗ pour i = 1, ..., k
– h : X ∗ → X1∗ est un homomorphisme
– wX ∗ est l’axiome
La suite S(G) générée par G est l’application S(G) : k∗ → X1∗ définie par
S(G)(α1 ...αs ) = h ◦ ϕαs ...ϕα1 (w), où αi k pour i = 1, ..., s.
Définition 16. HDT0L-sequence
Si k est un entier positif et X1 est un alphabet fini, alors l’application
S : k∗ → X1∗ est appelée une HDT0L-sequence si il existe un HDT0L-System
G = (X, X1 , ϕ1 , ..., ϕk , h, w) tel que S = S(G).
La signification des sigles de ”HDT0L” est donnée en annexe B.
Equivalence de deux HDT0L-sequence
La décidabilité de l’équivalence entre deux HDT0L-sequence a déjà été
prouvée en 1986 par K. Culik II et J. Karhumäki [IK86] ( puis redémontrée
en 2000 par Juha Honkala, avec une preuve plus concise ([Hon00]).
4.3.2
HDT0L-sequence ⊆ S2 (X ∗ , X ∗ )
Pour montrer l’inclusion des HDT0L-sequence dans S2 (X ∗ , X ∗ ), on passe
par l’équivalence entre les HDT0L-sequences et les suites récurrentes caténatives.
Théorème 5. Equivalence entre suites récurrentes caténatives et HDT0Lsequence
Soit (Ui )iI une suite de X ∗ dans X ∗ . On dit que (Ui )iI est une suite
récurrente caténative de mots indicée par des mots si et seulement si (Ui )iI
est une HDT0L-sequence.
Preuve
⇒
Q
Soit la suite récurrente caténative Ui (xv) = 1≤j≤l Uα(i,j,x) (v)X ∗ avec xX
et vX ∗ .
Une HDT0L-sequence est de la forme Wi (w) = h ◦ ϕw (yi ).
On pose :
ϕw : X ∗ → X ∗
Y
yi →
yα(i,j,w)
1≤j≤l
Nathalie Marin
25
Suites de mots et automates
h : X∗ → X∗
yi → Vi (ε)
On vérifie si Wi (xv) = Ui (xv).
Wi (xv) = h ◦ ϕx v(yi ) = h ◦ ϕv ◦ ϕx (yi )
Y
= h ◦ ϕv (
yα(i,j,x))
=
Y
1≤j≤l
(h ◦ ϕv (yα(i,j,x))), or on sait que h ◦ ϕv (yα(i,j,x) ) = Wα(i,j,x) (v)
1≤j≤l
=
Y
Wα(i,j,x)
1≤j≤l
On a bien : Wi (xv) = Ui (xv) pour xX et vX ∗ .
Examinons le cas de base : w = ε
Wi (ε) = h ◦ ϕε (yi ) = h(yi )
= Vi (ε)
⇐
Soit W (w) une HDT0L-sequence tel Wi (w) = h ◦ ϕw (yi ) pour iI avec
yi X ∗ , ϕ : X ∗ → X ∗ et h : X ∗ → X ∗ .
Soit (Ui ) une suite telle que : Ui (w) = h ◦ ϕw (yi ).
On veut regarder si cette suite correspond à une suite récurrente caténative.
Ui (xv) = h ◦ ϕxv (yi ) avec xX et vX ∗
Ui (xv) = h ◦ ϕv ◦ ϕx (yi )
Posons ϕx (yi ) = yα(i,1) yα(i,2). ..yα(i,p) X ∗ avec yi X. Ceci est vrai car ϕ est
un homomorphisme de X ∗ dans X ∗ (donc ϕx (y) est un mot).
On a alors :
Ui (xv) = h ◦ ϕv (yα(i,1,x) yα(i,2,x). ..yα(i,p,x) )
h(ϕv (yα(i,1,x) ) . ϕv (yα(i,2,x). ) ... . ϕv (yα(i,p,x) ))
Y
h(
ϕv (yα(i,j,x) ))
1≤j≤l(i,x)
Y
h ◦ ϕv (yα(i,j,x))
1≤j≤l(i,x)
Y
Uα(i,j,x) (v)
1≤j≤l(i,x)
Conclusion : (Ui ) est une suite récurrente caténative.
Nathalie Marin
26
Suites de mots et automates
Théorème 6. Si (Ui )iI est une HDT0L-sequence, alors (Ui )iI ∈ S2 (X ∗ , X ∗ ).
Preuve D’après le théorème 4, on a :
suites récurrentes caténatives de mots indicées par des mots ⊆ S2 (X ∗ , X ∗ ).
D’après le résultat trouvé au théorème 5, on a en particulier :
HDT0L-sequences ⊆ suites récurrentes caténatives de mots indicées par des
mots.
Alors : HDT0L-sequences ⊆ S2 (X ∗ , X ∗ ).
Corollaire 1. La classe S2 (N, N) est close par produit de Hadamard et par
produit de convolution.
En effet [FS05] prouve que Sk (pour k ≥ 3) est close par produit de
Hadamard mais ne le prouve pas pour k = 2.
De même [FS05] prouve que la convolution d’une suite dans Sk et d’une
suite dans Sk+1 (pour k ≥ 2) appartient toujours à Sk+1 .
Mais il n’était pas prouvé que la convolution de deux séries de niveau 2
est encore de niveau 2.
4.4
Réciproque
Théorème 7. Réciproque
Si (U ) ∈ S2 (X ∗ , X ∗ ), alors (U ) est une suite récurrente caténative de
mots indicées par des mots.
Preuve On suppose que l’on a A = (Q, X, Γ, δ, q0 , Z) avec :
Q = {q0 } ∪ {qi , 1 ≤ i ≤ l} ∪ {pi , 1 ≤ i ≤ l}, Γ = {Ai , 1 ≤ i ≤ l} ∪ X,
{ai , 1 ≤ i ≤ l} ⊆ X
et la relation de transition δ n’est pas connue (l’automate étant quelconque).
On sait par contre que l’on a comme contrainte sur cet automate, vu qu’il
s’agit d’un 2-APD, ici fortement déterministe :
− il existe une suite k-calculable (Ui )i∈I telle que (q0 Ai [w] q0 ) →∗A ui (w)
− il n’existe pas de configuration C telle que, il existe une autre configuration C 0 6= C telle que C `∗A C 0 `∗A C.
Nathalie Marin
27
Suites de mots et automates
On regarde tous les mouvements de transition →A possible :
• pop1 (pi Ai [xv] qi ) →A ai si (pi , ai , xv) `A (qi , ε, ε)
• pop2 (pi Ai [xv] qi ) →A ai (pα(i) Ai [v] qi )
• push1 (pi Ai [xv] qi ) →A ai (pα(i,1) Aγ(i,1) [xv] pα(i,2) ) (pα(i,2) Aγ(i,2) [xv] pα(i,3) )
...(pα(i,l) Aγ(i,l) [xv] pα(i,l+1) )
Q
ce qui peut s’écrire : (pi Ai [xv] qi ) →∗A ai 1≤j≤l (pα(i,j) Aγ(i,j) [xv] qβ(i,j) )
avec qβ(i,j) = pα(i,j+1)
• push2 (pi Ai [xv] qi ) →A ai (pα(i) Ai [uv] qi ) avec |u| ≥ 1
On sait que le mot xv est reconnu par l’automate, donc que l’on va ”lire”
tout le mot xv.
La construction de l’automate ne permet que de diminuer de 1 en 1 la taille
du mot xv. Donc forcément, à un moment, on passe par le mot v. On peut
alors ”bloquer” toutes les dérivations de xv pour avoir :
(pi Ai [xv] qi ) →∗A ai,1 (pα(i,1) Aγ(i,1) [v] qβ(i,1) ) ai,2 (pα(i,2) Aγ(i,2) [v] qβ(i,2) )
...ai,l (pα(i,l) Aγ(i,l) [v] qβ(i,l) ) ce qui peut s’écrire :
(pi Ai [xv] qi ) →∗A
Y
ai,j (pα(i,j) Aγ(i,j) [v] qβ(i,j) )
1≤j≤l
Soit Vi (xv) = (pi Ai [xv] qi ). On pose M = max{|ai,j |}.
On a la suite (Vi )iX ≤M : Vi (w) = i.
Soit I 0 = I ∪ X ≤M .
On peut définir (Vi )iX ≤M comme la suite récurrente caténative :
Y
∀iI 0 , ∀vX ∗ , ∀xX, Vi (xv) =
Vγ(i,j,x)(v) avec Vi (ε)X ∗ .
1≤j≤l(i,x)
(Vi )iX ≤M correspond à une suite récurrente caténative.
Conclusion : si une suite est dans S2 (X ∗ , X ∗ ), alors elle peut s’écrire sous
forme de suite récurrente caténative.
Nathalie Marin
28
Chapitre 5
Conclusion
Les théorèmes que j’ai démontré ici sont complètement nouveaux. En
particulier, la conjonction des théorèmes 4,5,6,7 fournit une caractérisation
des suites de niveau 2 en termes d’homomorphismes et aussi en termes de
récurrences catenatives. Cette caractérisation est totalement nouvelle en ce
sens qu’elle n’était pas connue même dans le cas particulier des suites d’entiers. Elle ouvre de nouvelles perspectives de recherche...
La caractérisation des automates à piles de niveau 2 étant maintenant
connu, il devient logique de se demander de vouloir étudier maintenant la
caractérisation des automates à piles de niveau 3, 4...
29
Suites de mots et automates
Nathalie Marin
30
Annexe A
Exemples et interprétation
graphique de L-System
Exemple 10. la suite de Fibonacci
Le L-System correspondant à la suite de Fibonacci est :
• Alphabet : V = {A, B}
• Constantes : S = {}
• Axiome de départ : w = A
• Règles : P = {(A → B), (B → AB)}
Voici le résultat sur six générations :
– n = 0, A
– n = 1, B
– n = 2, AB
– n = 3, BAB
– n = 4, ABBAB
– n = 5, BABABBAB
– n = 6, ABBABBABABBAB
Si on compte le nombre de symboles à chaque génération, on obtient la suite
de Fibonacci : 1, 1, 2, 3, 5, 8, 13.
Interprétation graphique L’intérêt des L-System est leur interprétation
graphique. En effet, le mot obtenu n’a aucun sens en soi. Par contre on peut
en faire une interprétation en lisant la chaı̂ne de gauche à droite.
Chaque symbole (constant et variable) correspond à un élément graphique.
On peut voir ces symboles comme définissant le comportement d’un voyageur imaginaire qui parcourt la chaı̂ne obtenue.
On parle de ”Turtle interpretation”.
31
Suites de mots et automates
Quelques symboles de parcours :
– F : Se déplacer d’un pas unitaire
– + : Tourner à gauche d’un angle alpha
– − : Tourner à droite d’un angle alpha
– [ : Sauvegarder la position courante
– ] : Restaurer la dernière position sauvée
Voiçi des exemples d’utilisation possible des L-System ([LP90]) :
Exemple 11. Koch Snowflake (flocon de neige)
Le L-System correspondant au flocon de Koch (fractale) est :
• Alphabet : V = {F }
• Constantes : S = {}
• Axiome de départ : w = F − −F − −F
• Règles : P = {(F → F + F − −F + F )}
– n = 0 : F − −F − −F
– n = 1 : F + F − −F + F − −F + F − −F + F − −F + F − −F + F
– n = 2 : ...
Fig. A.1 – Flocon de Koch
Nathalie Marin
32
Suites de mots et automates
Exemple 12. un arbre
Voici un autre exemple avec comme axiome w = F et comme seule règle :
F → F F − [−F + F + F ] + [+F − F − F ].
Fig. A.2 – Un arbre
Nathalie Marin
33
Suites de mots et automates
Nathalie Marin
34
Annexe B
Signification des sigles de
”HDT0L”
La signification des lettres du nom d’un HDT0L-System sont :
– L : Lindenmayer
– 0 : 0-context
– T : avec tables
– D : déterministe
– H : homomorphisme (supplémentaire)
Voyons de manière progressive la définition des différents sigles (expliqués
entre autres dans [BT],[vD71],[Fer03], [Hon05],[QY00]) :
Définition 17. 0L-Systems
On les appelle aussi Context-Free L-systems (ou 0-context L-Systems).
Soit V un alphabet. Un 0L-System est défini par un triplet ordonné G =<
V, w, P >, où :
– V est l’alphabet du système
– wV + est l’axiome
– P ⊂ (V × V ∗ ) est l’ensemble fini de règles de productions
Une règle de production (α, β)P s’écrit aussi α → β.
Définition 18. D0L-Systems
On dit qu’un 0L-System est déterministe, noté D0L-System, si et seulement si pour tout αV , il y a exactement un seul vV ∗ tel que α → v .
35
Suites de mots et automates
Définition 19. T0L-Systems
On appelle 0L-System avec tables le triplet G = (V, φ, w) où :
– V est l’alphabet du système
– φ est un ensemble fini de substitutions finies φ = {ϕ1 , ..., ϕt }, i.e., ϕi :
a → {w1 , ..., wni,a }, ce qui signifie que chaque ϕi peut être représenté
par une liste de règles context-free a → w telles que aV , wV ∗ .
L’ensemble φ définit donc une application ϕ : V ∗ → P(V ∗ ) telle que
ϕ(α1 ...αs ) = ϕαs ◦ ... ◦ ϕα1 (w).
– wV ∗ est l’axiome
Définition 20. DT0L-Systems
On dit qu’un T0L-System est déterministe, noté DT0L-System, si ∀1 ≤
i ≤ t ∀aV : ni,a = 1 ; en d’autres termes, si chaque ϕi est un homomorphisme.
Définition 21. HDT0L-Systems
Un HDT0L-System est une construction G = (X, X1 , φ, h, w) où :
– X et X1 sont des alphabets finis
– φ est un ensemble fini d’homomorphismes φ = {ϕ1 , ..., ϕk } avec ϕi :
X ∗ → X ∗ pour i = 1, ..., k
– h : X ∗ → X1∗ est un homomorphisme
– wX ∗ est l’axiome
La suite S(G) générée par G est l’application S(G) : k∗ → X1∗ définie par
S(G)(α1 ...αs ) = h ◦ ϕαs ...ϕα1 (w), où αi k pour i = 1, ..., s.
Nathalie Marin
36
Annexe C
Suites localement caténatives
Les suites localement caténatives ont été introduites en rapport avec les
L-Systems ([LR73]).
Nous prenons ici la syntaxe d’Allouche et Shallit donnée dans [AS03].
Définition 22. Suite récurrente localement caténative
On dit qu’une suite de mots (U (i))i∈I sur X est localement caténative si il
existe un entier N ≥ 0, N +1 mots non vides U (0), ..., U (N ), un entier t ≥ 1,
t entiers 1 ≤ c1 , ..., ct ≤ N + 1 et t morphismes 1-uniformes µi : X ∗ → X ∗
pour 1 ≤ i ≤ t tels que U (n) = U (n − 1) µ1 (U (n − c1 ))... µt (U (n − ct )) pour
tout n > N .
Rappel : On dit qu’un morphisme h : A∗ → B ∗ est k-uniforme si |h(a)| =
k pour tout aA.
Définition 23. Suite récurrente localement caténative effaçante
On dit qu’une suite de mots (U (i))i∈I sur X est récurrente localement
caténative effaçante si il existe un entier N ≥ 0, N + 1 mots non vides
U (0), ..., U (N ), un entier t ≥ 1, t entiers 1 ≤ c1 , ..., ct ≤ N + 1 et t morphismes µi : X ∗ → X ∗ , avec |µ(a)| ≤ 1 pour tout a ∈ X (i.e. µi (a)X ∪{ε}),
tels que U (n) = U (n − 1) µ1 (U (n − c1 ))... µt (U (n − ct )) pour tout n > N .
On a ajouté aux suites localement caténatives la possibilité que les morphismes µi : X ∗ → X ∗ pour 1 ≤ i ≤ t donne ε et non pas seulement une
lettre.
Proposition 1. Soit U une suite de mots indexée par les entiers. U vérifie
une récurrence localement caténative effaçante si et seulement si il existe
une famille finie (Ui ) vérifiant une récurrence caténative telle que U = U1 .
Preuve Soit (U (n)) une suite récurrente localement caténative effaçante.
Posons N le nombre de ak de Vi , t = l et ci = 1 pour tout 1 ≤ i ≤ l.
37
Suites de mots et automates
U (n + 1) = U (n) µ1 (U (n))... µl (U (n))
Y
U (n + 1) =
µj (U (n))
1≤j≤l
car on a par hypothèse que, pour tout 1 ≤ j ≤ l, µj peut valoir ε.
Soit (Vn ) une famille de suites récurrentes caténatives telle que :
Y
Vi (n + 1) =
Vγ(i,j) (n)
1≤j≤l
pour 1 ≤ i ≤ p.
Intéressons nous à V1 .
V1 (n + 1) =
Y
Vγ(1,j) (n)
1≤j≤l
On pose : µj (V1 (n)) = Vγ(1,j) (n).
Et donc : U (n + 1) = V (n + 1).
Cependant par définition des suites localement caténatives |µj (x)| = 1
avec xX (car les µj sont des morphismes 1-uniformes) et ne peut pas valoir
ε. C’est pour cela que nous avons dû rajouter cette nouvelle définition de
”suite récurrente caténative”.
Nathalie Marin
38
Bibliographie
[Aho68] A.V. Aho. Indexed grammars-an extension of context-free grammars. J. Assoc for Comput. Mach. 15, pages 647–671, 1968.
[Aho69] A.V. Aho. Nested stack automata. J. Assoc for Comput. Mach.
16, pages 383–406, 1969.
[AS03] J.-P. Allouche and J. Shallit. Automatic sequences. Theory, Applications, Generalizations. Cambridge University Press, 2003.
[BR84] J. Berstel and C. Reutenauer. Les series rationnelles et leurs langages. Masson, 1984.
[BR88] J. Berstel and Christophe Reutenauer. Rational series and their
languages. Springer-Verlag New York, Inc., New York, NY, USA,
1988.
[BT]
J. Blanc-Talon. Une methode mixte numerique/symbolique pour
l’inference grammaticale de fractals.
[DG86] W. Damm and A. Goerdt. An automata-theoretical characterization of the OI-hierarchy. Information and control 71, pages 1–32,
1986.
[Fer03] Henning Fernau. Parallel grammars : A phenomenology. Grammars, 6 :25–87, 2003.
[Fis68] M.J. Fischer. Grammars with macro-like productions. PhD thesis,
Harvard University, 1968. See also :Proc. 9th Symp. on Switching
and Automata Theory (1968) p. 131-142.
[FS05] S. Fratani and G. Senizergues. Iterated pushdown automata and
sequences of rational numbers. Elsevier Science, 2005.
[Gre70] S. Greibach. Full AFL’s and nested iterated substitution. Information and Control, pages 7–35, 1970.
[Hon00] Juha Honkala. A short solution of the HDT0L sequence equivalence
problem. Theor. Comput. Sci., 244(1-2) :267–270, 2000.
[Hon05] Juha Honkala. The class of HDTOL sequences is closed with respect
to rational functions. Inf. Process. Lett., 94(4) :155–158, 2005.
[IK86] K. Culik II and J. Karhumäki. A new proof for the D0L sequence
equivalence problem and its implications, in : G. rozenberg and a.
salomaa (eds.), the book of l. pages 63–74, 1986.
39
Suites de mots et automates
[Lin68] A. Lindenmayer. Mathematical models for cellular interaction in
development, parts ii and i. journal of Theoretical Biology, 18 :280–
315, 1968.
[LP90]
A. Lindenmayer and P. Prusinkiewicz. The algorithmic beauty of
plants. Springer-Verlag New York, 1990.
[LR73] A. Lindenmayer and G. Rozenberg. Developmental systems with
locally catenative formulas. Acta Inf., 2(3) :214–248, 1973.
[Mas74] A.N. Maslov. The hierarchiy of indexed languages of an arbitrary
level. Soviet. Math. Dokl. 15, pages 1170–1174, 1974.
[QY00] X. Qin and Y. H. Yang. A GUI for displaying l-system structures. Proceedings of the Thirteenth Annual Graduate Symposium
on Computer Science. Department of Computer Science, University
of Saskatchewan, pages 141–155, 2000.
[vD71]
D. van Dalen. A note on some systems of lindenmayer. Theory of
Computing Systems, 5 :128–140, 1971.
Nathalie Marin
40