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