Mot morphique (original) (raw)

Un article de Wikipédia, l'encyclopédie libre.

En mathématiques et informatique théorique, un mot morphique (ou une suite morphique) est un mot infini obtenu par itération d'un morphisme (appelé le générateur), suivie de l'application d'un morphisme préservant la longueur (appelé le morphisme de codage). Les mots morphiques sont une généralisation des suites automatiques, et comprennent certains mots sturmiens comme le mot de Fibonacci, et d'autres mots comme la suite caractéristique des carrés et des mots sans carré. Une classe particulière est constituée des mots purement morphiques : ce sont les mots où le morphisme de codage est l'identité.

Les mots morphiques sont plus stables pour les transformations simples que les morphismes purement morphiques ; de plus, de nombreuses propriétés sont décidables. Les mots morphiques sont de faible complexité : le nombre de facteurs de longueur donnée croît moins qu'exponentiellement. Il en résulte que le mot de Champernowne n'est pas une suite morphique.

Soit A {\displaystyle A} {\displaystyle A} un alphabet. Un morphisme de monoïdes f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} est prolongeable pour une lettre a {\displaystyle a} {\displaystyle a} de A {\displaystyle A} {\displaystyle A} si a {\displaystyle a} {\displaystyle a} est un préfixe propre de f ( a ) {\displaystyle f(a)} {\displaystyle f(a)}, et si de plus, la suite des longueurs de itérés f n ( a ) {\displaystyle f^{n}(a)} {\displaystyle f^{n}(a)} tend vers l'infini lorsque n {\displaystyle n} {\displaystyle n} tend vers l'infini.

Si f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} est prolongeable en a {\displaystyle a} {\displaystyle a}, il existe un mot non vide u {\displaystyle u} {\displaystyle u} tel que f ( a ) = a u {\displaystyle f(a)=au} {\displaystyle f(a)=au}. En itérant, on obtient l'expression :

f n ( a ) = a u f ( u ) ⋯ f n − 1 ( u ) {\displaystyle f^{n}(a)=auf(u)\cdots f^{n-1}(u)} {\displaystyle f^{n}(a)=auf(u)\cdots f^{n-1}(u)}

La suite de ces mots converge vers un mot infini noté f ω ( a ) {\displaystyle f^{\omega }(a)} {\displaystyle f^{\omega }(a)} :

f ω ( a ) = lim n → ∞ f n ( a ) {\displaystyle f^{\omega }(a)=\lim _{n\to \infty }f^{n}(a)} {\displaystyle f^{\omega }(a)=\lim _{n\to \infty }f^{n}(a)}.

Ce mot est le mot infini engendré par f {\displaystyle f} {\displaystyle f} en a {\displaystyle a} {\displaystyle a}. Le morphisme f {\displaystyle f} {\displaystyle f} est parfois appelé un générateur du mot infini.

Un mot infini x {\displaystyle x} {\displaystyle x} sur un alphabet A {\displaystyle A} {\displaystyle A} est purement morphique s'il existe un morphisme f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} et une lettre a {\displaystyle a} {\displaystyle a} dans A {\displaystyle A} {\displaystyle A} tel que

x = f ω ( a ) {\displaystyle x=f^{\omega }(a)} {\displaystyle x=f^{\omega }(a)}.

Un mot infini y {\displaystyle y} {\displaystyle y} sur un alphabet B {\displaystyle B} {\displaystyle B} est morphique s'il est l'image par un morphisme littéral (lettre à lettre) d'un mot purement morphique. Ce morphisme est appelé parfois morphisme de codage.

Ainsi, un mot morphique y {\displaystyle y} {\displaystyle y} est défini par un triplet ( a , f , h ) {\displaystyle (a,f,h)} {\displaystyle (a,f,h)}, où a {\displaystyle a} {\displaystyle a} est une lettre, f {\displaystyle f} {\displaystyle f} est un morphisme prolongeable en a {\displaystyle a} {\displaystyle a}, et h {\displaystyle h} {\displaystyle h} est un morphisme de codage. Le mot infini engendré par ce triplet est

y = h ( f ω ( a ) ) {\displaystyle y=h(f^{\omega }(a))} {\displaystyle y=h(f^{\omega }(a))}.

Un autre exemple de mot morphique sans être purement morphique a été donné par Abram, Hu et Li[1]. Ce sont des mots qui comptent les occurrences de facteurs dans certains développements.

Soit m > 1 {\displaystyle m>1} {\displaystyle m>1} un entier, soit A = { 0 , … , m − 1 } {\displaystyle A=\{0,\dots ,m-1\}} {\displaystyle A=\{0,\dots ,m-1\}}, et soit w ∈ A + {\displaystyle w\in A^{+}} {\displaystyle w\in A^{+}}. La suite de comptage de blocs est le mot infini

( e w ( n ) ) n ≥ 0 {\displaystyle (e_{w}(n))_{n\geq 0}} {\displaystyle (e_{w}(n))_{n\geq 0}}

qui compte le nombre d'occurrences du mot w {\displaystyle w} {\displaystyle w} dans le dévelopement en base m {\displaystyle m} {\displaystyle m} des entiers consécutifs et

( a w ( n ) ) n ≥ 0 {\displaystyle (a_{w}(n))_{n\geq 0}} {\displaystyle (a_{w}(n))_{n\geq 0}}

la suite d'entiers sur A {\displaystyle A} {\displaystyle A} définie par

a w ( n ) = e w ( n ) mod m {\displaystyle a_{w}(n)=e_{w}(n){\bmod {m}}} {\displaystyle a_{w}(n)=e_{w}(n){\bmod {m}}}

La suite de Thue-Morse peut être définie ainsi : c'est la suite a w ( n ) {\displaystyle a_{w}(n)} {\displaystyle a_{w}(n)} pour le mot w = 1 {\displaystyle w=1} {\displaystyle w=1}. De même, la suite de Rudin-Shapiro est la suite a w ( n ) {\displaystyle a_{w}(n)} {\displaystyle a_{w}(n)} pour le mot w = 11 {\displaystyle w=11} {\displaystyle w=11}.

Les auteurs prouvent le résultat suivant[1] :

Si l'entier m {\displaystyle m} {\displaystyle m} est un nombre premier, alors la suite a w ( n ) = e w ( n ) mod m {\displaystyle a_{w}(n)=e_{w}(n){\bmod {m}}} {\displaystyle a{w}(n)=e{w}(n){\bmod {m}}} est uniformément morphique, c'est-à-dire engendré par un morphisme uniforme de taille m. De plus, elle est purement morphique si et seulement si w {\displaystyle w} {\displaystyle w} est une lettre non nulle.

De plus, la série formelle ∑ n = 0 ∞ a w ( n ) t n {\displaystyle \sum _{n=0}^{\infty }a_{w}(n)t^{n}} {\displaystyle \sum {n=0}^{\infty }a{w}(n)t^{n}} est algébrique de degré m {\displaystyle m} {\displaystyle m} sur F m ( t ) {\displaystyle \mathbb {F} _{m}(t)} {\displaystyle \mathbb {F} {m}(t)}.

Matrice d'un morphisme : le coefficient en ligne a {\displaystyle a} {\displaystyle a} et colonne b {\displaystyle b} {\displaystyle b} est le nombre | f ( b ) | a {\displaystyle |f(b)|_{a}} {\displaystyle |f(b)|_{a}} d'occurrences de la lettre a {\displaystyle a} {\displaystyle a} dans le mot f ( b ) {\displaystyle f(b)} {\displaystyle f(b)}.

À uu morphisme f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} est naturellement associé une A × A {\displaystyle A\times A} {\displaystyle A\times A}-matrice M = M ( f ) = ( m a , b ) a , b ∈ A {\displaystyle M=M(f)=(m_{a,b})_{a,b\in A}} {\displaystyle M=M(f)=(m_{a,b})_{a,b\in A}}, où m a , b {\displaystyle m_{a,b}} {\displaystyle m_{a,b}} est le nombre d'occurrences de la lettre a {\displaystyle a} {\displaystyle a} dans le mot f ( b ) {\displaystyle f(b)} {\displaystyle f(b)}. Cette matrice est appelée la matrice d'incidence du morphisme f {\displaystyle f} {\displaystyle f}.

Pour la suite de Fibonacci, la matrice est :

[ 1 1 1 0 ] {\displaystyle {\begin{bmatrix}1&1\\1&0\end{bmatrix}}} {\displaystyle {\begin{bmatrix}1&1\\1&0\end{bmatrix}}},

pour la suite binaire de Thue-Morse, c'est :

[ 1 1 1 1 ] {\displaystyle {\begin{bmatrix}1&1\\1&1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}1&1\\1&1\end{bmatrix}}},

pour la suite ternaire de Thue, c'est:

[ 1 1 0 1 0 1 1 1 0 ] {\displaystyle {\begin{bmatrix}1&1&0\\1&0&1\\1&1&0\end{bmatrix}}} {\displaystyle {\begin{bmatrix}1&1&0\\1&0&1\\1&1&0\end{bmatrix}}},

pour la suite de carrés, la matrice est :

[ 1 0 0 1 1 0 0 2 1 ] {\displaystyle {\begin{bmatrix}1&0&0\\1&1&0\\0&2&1\end{bmatrix}}} {\displaystyle {\begin{bmatrix}1&0&0\\1&1&0\\0&2&1\end{bmatrix}}}.

Pour un mot w, on a la formule :

[ | f ( w ) | a | f ( w ) | b ⋮ | f ( w ) | b ] = M ( f ) [ | w | a | w | b ⋮ | w | b ] {\displaystyle {\begin{bmatrix}|f(w)|_{a}\\|f(w)|_{b}\\\vdots \\|f(w)|_{b}\end{bmatrix}}=M(f){\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}} {\displaystyle {\begin{bmatrix}|f(w)|_{a}\\|f(w)|_{b}\\\vdots \\|f(w)|_{b}\end{bmatrix}}=M(f){\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}}

et par itération :

[ | f n ( w ) | a | f ( w ) n | b ⋮ | f n ( w ) | b ] = ( M ( f ) ) n [ | w | a | w | b ⋮ | w | b ] {\displaystyle {\begin{bmatrix}|f^{n}(w)|_{a}\\|f(w)^{n}|_{b}\\\vdots \\|f^{n}(w)|_{b}\end{bmatrix}}=(M(f))^{n}{\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}} {\displaystyle {\begin{bmatrix}|f^{n}(w)|_{a}\\|f(w)^{n}|_{b}\\\vdots \\|f^{n}(w)|_{b}\end{bmatrix}}=(M(f))^{n}{\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}}

et aussi :

| f n ( w ) | = [ | 1 1 ⋯ 1 ] = ( M ( f ) ) n [ | w | a | w | b ⋮ | w | b ] {\displaystyle |f^{n}(w)|={\begin{bmatrix}|1&1&\cdots &1\end{bmatrix}}=(M(f))^{n}{\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}} {\displaystyle |f^{n}(w)|={\begin{bmatrix}|1&1&\cdots &1\end{bmatrix}}=(M(f))^{n}{\begin{bmatrix}|w|_{a}\\|w|_{b}\\\vdots \\|w|_{b}\end{bmatrix}}}

Une matrice M {\displaystyle M} {\displaystyle M} à coefficients positifs ou nuls est primitive s'il existe un entier p {\displaystyle p} {\displaystyle p} telle que les coefficients de la matrice M p {\displaystyle M^{p}} {\displaystyle M^{p}} sont tous non nuls. Si M {\displaystyle M} {\displaystyle M} est primitive, un tel entier p {\displaystyle p} {\displaystyle p} existe vérifiant p < n 2 − 2 n + 2 {\displaystyle p<n^{2}-2n+2} {\displaystyle p<n^{2}-2n+2}, où n {\displaystyle n} {\displaystyle n} est l'ordre de la matrice M {\displaystyle M} {\displaystyle M}.

Un morphisme f {\displaystyle f} {\displaystyle f} est primitif si sa matrice d'incidence M ( f ) {\displaystyle M(f)} {\displaystyle M(f)} est primitive. Seule la matrice du dernier exemple n'est pas primitive.

Dire que f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} est primitif revient à dire que pour un certain entier p {\displaystyle p} {\displaystyle p}, tous les mots f p ( b ) {\displaystyle f^{p}(b)} {\displaystyle f^{p}(b)}, pour b {\displaystyle b} {\displaystyle b} parcourant l'alphabet A {\displaystyle A} {\displaystyle A}, contient chacun toutes les lettres de l'alphabet au moins une fois. Par exemple, pour le morphisme ternaire τ {\displaystyle \tau } {\displaystyle \tau } de Thue

a ↦ a b c b ↦ a c c ↦ b {\displaystyle {\begin{array}{rcl}a&\mapsto &abc\\b&\mapsto &ac\\c&\mapsto &b\end{array}}} {\displaystyle {\begin{array}{rcl}a&\mapsto &abc\\b&\mapsto &ac\\c&\mapsto &b\end{array}}}

on a τ 3 ( a ) = a b c a c b a b c b a c τ 3 ( b ) = a b c a c b a b c τ 3 ( c ) = a b c a {\displaystyle \tau ^{3}(a)=abcacbabcbac\quad \tau ^{3}(b)=abcacbabc\quad \tau ^{3}(c)=abca} {\displaystyle \tau ^{3}(a)=abcacbabcbac\quad \tau ^{3}(b)=abcacbabc\quad \tau ^{3}(c)=abca}.

Un matrice M = ( m i , j ) {\displaystyle M=(m_{i,j})} {\displaystyle M=(m_{i,j})} d'ordre n {\displaystyle n} {\displaystyle n} est irréductible si le graphe dont les arcs sont les couples ( i , j ) {\displaystyle (i,j)} {\displaystyle (i,j)} tels que m i , j ≠ 0 {\displaystyle m_{i,j}\neq 0} {\displaystyle m_{i,j}\neq 0} est fortement connexe.

Si f : A ∗ → A ∗ {\displaystyle f:A^{*}\to A^{*}} {\displaystyle f:A^{*}\to A^{*}} est prolongeable en une lettre a {\displaystyle a} {\displaystyle a} de A {\displaystyle A} {\displaystyle A}, et si M ( f ) {\displaystyle M(f)} {\displaystyle M(f)} est irréductible, alors M ( f ) {\displaystyle M(f)} {\displaystyle M(f)} (et donc f {\displaystyle f} {\displaystyle f}) est primitive. En effet, soient b {\displaystyle b} {\displaystyle b} et c {\displaystyle c} {\displaystyle c} deux lettre de A {\displaystyle A} {\displaystyle A}. Il existe, dans le graphe dont M {\displaystyle M} {\displaystyle M} est la matrice d'adjacence, un chemin de b {\displaystyle b} {\displaystyle b} vers a {\displaystyle a} {\displaystyle a}, et un chemin de a {\displaystyle a} {\displaystyle a} vers c {\displaystyle c} {\displaystyle c}, tous deux de longueur au plus n {\displaystyle n} {\displaystyle n}. En parcourant une ou plusieurs fois, si nécessaire, la boucle autour de a {\displaystyle a} {\displaystyle a}, on obtient un chemin de longueur 2 n {\displaystyle 2n} {\displaystyle 2n} de b {\displaystyle b} {\displaystyle b} vers c {\displaystyle c} {\displaystyle c}. Ceci montre que M 2 n {\displaystyle M^{2n}} {\displaystyle M^{2n}} a toutes ses coordonnées non nulles.

Soit x {\displaystyle x} {\displaystyle x} un mot infini sur un alphabet A {\displaystyle A} {\displaystyle A}. Le mot x {\displaystyle x} {\displaystyle x} est uniformément récurrent si, pour tout entier n {\displaystyle n} {\displaystyle n}, il existe un entier R ( n ) {\displaystyle R(n)} {\displaystyle R(n)} tel que tout facteur de longueur R ( n ) {\displaystyle R(n)} {\displaystyle R(n)} de x {\displaystyle x} {\displaystyle x} contient tous les facteurs de longueur n {\displaystyle n} {\displaystyle n} de x {\displaystyle x} {\displaystyle x}.

Si un mot morphique admet un générateur primitif, alors il est uniformément récurrent.[réf. nécessaire]

Réciproquement, on a :

Si un mot morphique est uniformément récurrent, alors il possède un générateur primitif.[réf. nécessaire]

L'image, par une morphisme, d'un mot morphique, est encore un mot morphique, s'il est infini[2].

Ceci implique en particulier que le morphisme de codage, dans la définition des mots morphiques, peut être remplacé par un morphisme quelconque, même effaçant, pourvu que l'image du mot soit encore infinie.

Tout mot morphique peut être engendré avec un morphisme générateur non effaçant[3]

Un morphisme f {\displaystyle f} {\displaystyle f} est non effaçant si f ( b ) {\displaystyle f(b)} {\displaystyle f(b)} n'est pas le mot vide pour toute lettre b {\displaystyle b} {\displaystyle b}.

La fonction de complexité c x {\displaystyle c_{x}} {\displaystyle c_{x}} d'un mot infini x {\displaystyle x} {\displaystyle x} est la fonction qui, pour tout entier naturel n {\displaystyle n} {\displaystyle n}, donne le nombre c x ( n ) {\displaystyle c_{x}(n)} {\displaystyle c_{x}(n)} de facteur de x {\displaystyle x} {\displaystyle x} de longueur n {\displaystyle n} {\displaystyle n}. Alors que la fonction de complexité d'un mot purement morphique peut se classer en quatre rubriques, les résultats pour les mots morphiques sont moins complets. On sait [4] :

Soit x {\displaystyle x} {\displaystyle x} un mot infini binaire morphique. La fonction de complexité de x {\displaystyle x} {\displaystyle x} vérifie l'une des propriétés suivantes

  1. il existe un entier r ≥ 1 {\displaystyle r\geq 1} {\displaystyle r\geq 1} tel que c x ( n ) = Θ ( n n r ) {\displaystyle c_{x}(n)=\Theta (n{\sqrt[{r}]{n}})} {\displaystyle c_{x}(n)=\Theta (n{\sqrt[{r}]{n}})},
  2. c x ( n ) = O ( n log ⁡ n ) {\displaystyle c_{x}(n)=O(n\log n)} {\displaystyle c_{x}(n)=O(n\log n)}.

Il est décidable si un mot morphique x {\displaystyle x} {\displaystyle x} est ultimement périodique, c'est-à-dire s'il existe des mots u {\displaystyle u} {\displaystyle u} et v {\displaystyle v} {\displaystyle v} tels que x = u v ω {\displaystyle x=uv^{\omega }} {\displaystyle x=uv^{\omega }}[5].

Ce résultat était connu depuis longtemps pour les mots purement morphiques[6].

Il est décidable si un mot morphique x {\displaystyle x} {\displaystyle x} est uniformément récurrent[7].

Dans un article publié sur Arxiv[8], Allouche, Cassaigne, Shallit et Zamboni dressent des variantes dans la définition des mots morphiques, et donnent leurs propriétés respectives :

  1. Mot purement morphique
  2. Mot morphique : comme défini ici, un mot purement morphique suivi d'un codage ( 1 ⇒ 2 {\displaystyle 1\Rightarrow 2} {\displaystyle 1\Rightarrow 2})
  3. Mot purement morphique uniforme : le morphisme sousjacent est uniforme ( 3 ⇒ 1 {\displaystyle 3\Rightarrow 1} {\displaystyle 3\Rightarrow 1})
  4. Mot morphique uniforme ( 4 ⇒ 2 {\displaystyle 4\Rightarrow 2} {\displaystyle 4\Rightarrow 2})
  5. Mot purement morphique primitif ( 5 ⇒ 1 , 6 {\displaystyle 5\Rightarrow 1,6} {\displaystyle 5\Rightarrow 1,6})
  6. Mot morphique primitif: le morphisme est primitif ( 6 ⇒ 2 {\displaystyle 6\Rightarrow 2} {\displaystyle 6\Rightarrow 2})
  7. Mot purement morphique primitif uniforme ( 7 ⇒ 1 , … , 6 , 8 {\displaystyle 7\Rightarrow 1,\ldots ,6,8} {\displaystyle 7\Rightarrow 1,\ldots ,6,8})
  8. Mot morphique primitif uniforme ( 8 ⇒ 2 , 4 , 6 {\displaystyle 8\Rightarrow 2,4,6} {\displaystyle 8\Rightarrow 2,4,6})
  9. Mot uniformément récurrent ( 9 ⇒ 10 {\displaystyle 9\Rightarrow 10} {\displaystyle 9\Rightarrow 10})
  10. Mot récurrent.

Ces 10 propriétés, comme elles ne sont pas indépendantes, ne donnent lieu qu'à 20 cas distincts pour lesquels les auteurs fournissent des exemples[8].

  1. a et b Abram, Hu et Li 2024.
  2. Allouche & Shallit (2003), p. 233, Théorème 7.7.4. Dans le cadre des problèmes de décision dont il est question plus bas, on a besoin d'une preuve constructive de ce fait, donnée dans Durand (2011).
  3. Allouche & Shallit (2003), p. 231, Théorème 7.7.1.
  4. Julien Cassaigne et François Nicolas, « Factor complexity », dans CANT (2010), p. 163-247.
  5. Durand (2011) et Mitrofanov (2011).
  6. Voir Durand (2011) pour un historique.
  7. Mitrofanov (2011).
  8. a et b Allouche, Cassaigne et al 2017.