Mot quasi-périodique

En combinatoire, et plus particulièrement en combinatoire des mots, un mot quasi-périodique est un mot fini ou infini qui peut être construit par concaténations ou superpositions d'un de ses facteurs propres. La notion de mot quasi-périodique généralise celle de mot périodique.

Motivation

Les régularités dans les chaînes de caractères sont étudiées dans divers domaines scientifiques, comme la combinatoire, le codage et la compression, la théorie des automates, la biologie moléculaire, les langages formels, la théorie des systèmes. Une structure typique de régularité est la répétition dans une mot ; la période u {\displaystyle u} d'un mot x {\displaystyle x} rend compte de la nature répétitive d'un mot x {\displaystyle x} , puisque x {\displaystyle x} est construit par la concaténation de copies du mot u {\displaystyle u} . On généralise cette notion en permettant de chevauchement entre des occurrences du segment répété. Une quasi-période d'un mot x {\displaystyle x} est une facteur propre u {\displaystyle u} de x {\displaystyle x} tel que x {\displaystyle x} peut être construit à partir d'instances éventuellement chevauchantes de u {\displaystyle u} .

Définitions

Un mot est x = a 1 a n {\displaystyle x=a_{1}\cdots a_{n}} est périodique s'il existe un entier p {\displaystyle p} , avec 0 < p < n {\displaystyle 0<p<n} tel que a i = a i + p {\displaystyle a_{i}=a_{i+p}} pour 1 i < i + p n {\displaystyle 1\leq i<i+p\leq n}  ; le plus petit entier p {\displaystyle p} avec cette propriété est la période minimale, ou la période tout court ; un facteur de longueur p {\displaystyle p} est un motif périodique, appelé aussi lui-même une période du mot. Par exemple, le mot x = a b a a b a a b = a b a . a b a . a b {\displaystyle x=abaabaab=aba.aba.ab} est périodique de période 3.

Si s = u v {\displaystyle s=uv} et t = v w {\displaystyle t=vw} sont deux mots, alors le mot u v w ( = s w = u t ) {\displaystyle uvw(=sw=ut)} est une superposition de s {\displaystyle s} et t {\displaystyle t} . On est intéressé par des superpositions d'un même facteur dans un mot : si s = t {\displaystyle s=t} , le mot u v w = s w = u t {\displaystyle uvw=sw=ut} peut être vu comme le produit du préfixe u {\displaystyle u} de s {\displaystyle s} par le mot s {\displaystyle s} lui-même, ou comme produit de s {\displaystyle s} par le suffixe w {\displaystyle w} de s {\displaystyle s} . Ainsi pour s = a b a {\displaystyle s=aba} , le mot a b a b a {\displaystyle ababa} s'écrit a b a b a = a b a b a {\displaystyle ab\cdot aba=aba{\cdot }ba} .

Couverture alignée

Étant donné un mot x {\displaystyle x} , un facteur w {\displaystyle w} de x {\displaystyle x} tel que x {\displaystyle x} peut être construit par concaténation et superpositions de w {\displaystyle w} fournit une couverture alignée de x {\displaystyle x} [1]. Le mot w {\displaystyle w} est lui-même appelé un mot couvrant, ou germe (seed en anglais), le mot couvrant le plus court est appelé la quasi-période, et le mot x {\displaystyle x} est quasi-périodique.

Dans cette définition, le mot w {\displaystyle w} est à la fois préfixe et suffixe de x {\displaystyle x} . Par exemple, le mot x = a b a a b a b a b a a b a {\displaystyle x=abaabababaaba} est quasi-périodique de mot couvrant w = a b a {\displaystyle w=aba}  : x = a b a . a b . a b . a b a . a b a {\displaystyle x=aba.ab.ab.aba.aba} . Dans cette écriture, on factorise le mot en préfixes du mot couvrant. La factorisation commence et finit par le mot couvrant tout entier : ainsi la factorisation est « alignée » sur les extrémités du mot, ce qui justifie la terminologie. Un mot est super-primitif s'il ne possède pas de couverture alignée.

Pour le mot w = a a b a a {\displaystyle w=aabaa} , les plus petits mots quasi-périodiques de période w {\displaystyle w} sont : a a b a a b a a {\displaystyle aabaabaa} ,
a a b a a a b a a {\displaystyle aabaaabaa} ,
a a b a a b a a b a a {\displaystyle aabaabaabaa} ,
a a b a a b a a a b a a {\displaystyle aabaabaaabaa} ,
a a b a a b a b a a b a a {\displaystyle aabaababaabaa} .
Le mot a a b a a b a a b a {\displaystyle aabaabaaba} ne figure pas dans cette liste parce qu'il ne finit pas par w {\displaystyle w} .

Un algorithme linéaire du calcul du mot couvrant le plus court est donné par Apostolico, Farach et Iliopoulos[2]. Un algorithme de calcul en ligne est de Dany Breslauer[3]. Apostolico et Ehrenfeucht[4] considèrent le calcul du plus long mot ouvrant ; ils décrivent un algorithme en O ( n log 2 n ) {\displaystyle O(n\log ^{2}n)} pour calculer tous les mots couvrants maximaux d'un mot de longueur n {\displaystyle n} .

Couverture

La définition ci-dessus fait qu'un mot qui est périodique n'a pas toujours une couverture alignée de même période. Par exemple, le mot x = a b a a b a a b {\displaystyle x=abaabaab} est périodique de période 3 et est quasi-périodique de germe a b a a b {\displaystyle abaab}  ; de même x = a b c a b c a b c a {\displaystyle x=abcabcabca} est quasi-périodique de période a b c a {\displaystyle abca}  : x = a b c . a b c . a b c a {\displaystyle x=abc.abc.abca} , mais a période minimale 3.

C'est pourquoi on considère une notion plus générale : une couverture de x {\displaystyle x} est une couverture alignée d'un sur-mot (superstring) y {\displaystyle y} de x {\displaystyle x} , c'est-à-dire d'un mot y {\displaystyle y} qui a x {\displaystyle x} en facteur. Par exemple, w = a b c a {\displaystyle w=abca} est un germe de x = a b c . a b c a . a b c {\displaystyle x=abc.abca.abc} . Le mot w {\displaystyle w} est un germe (seed) de x {\displaystyle x} . Un germe de longueur minimale n'est pas forcément unique ; ainsi a b a b a b a {\displaystyle abababa} a les deux germes a b {\displaystyle ab} et b a {\displaystyle ba} . Un mot est quasi-périodique s'il possède une couverture dont le germe est un facteur strict du mot[4].

Dans cette notion plus générale, un mot périodique est aussi quasi-périodique de cette longueur.

Exemples

Pour x = a b a b a a b a b a {\displaystyle x=ababaababa} , les mots a b a {\displaystyle aba} et a b a b a {\displaystyle ababa} fournissent des couvertures alignées puisque x = a b . a b a . a b . a b a = a b a b a . a b a b a {\displaystyle x=ab.aba.ab.aba=ababa.ababa}  ; les mots a b a , a b a b a , b a a b a {\displaystyle aba,ababa,baaba} et b a a b a b {\displaystyle baabab} sont tous des germes de x {\displaystyle x}  : les couvertures par a b a {\displaystyle aba} et a b a b a {\displaystyle ababa} sont celles de x {\displaystyle x} lui-même ; celle par b a a b a {\displaystyle baaba} est b a x a b a = b a a b a . b a a b a . b a a b a {\displaystyle baxaba=baaba.baaba.baaba} et celle par b a a b a b {\displaystyle baabab} est b a x a b a b {\displaystyle baxabab} .

Pour le mot x = a b a a b a b a a b a a b a b a a b a b a b a {\displaystyle x=abaababaabaababaabababa} de longueur 23, la table ci-dessous donne, pour chaque préfixe, la longueur du plus long bord et la longueur de la plus petite couverture. Ainsi, le préfixe a b a a b a b a a {\displaystyle abaababaa} de longueur 9 a le bord a b a a {\displaystyle abaa} de longueur 4, et n'a pas de couverture alignée, alors que a b a a b {\displaystyle abaab} est le germe d'une ouverture non alignée[5].

Table des bords et table des couvertures des préfixes de x = a b a a b a b a a b a a b a b a a b a b a b a {\displaystyle x=abaababaabaababaabababa}
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
x a b a a b a b a a b a a b a b a a b a b a b a
B 0 0 1 1 2 3 2 3 4 5 6 4 5 6 7 8 9 10 11 7 8 2 3
C 0 0 0 0 0 3 0 3 0 5 6 0 5 6 0 8 9 10 11 0 8 0 3

Moore et Smyth[6],[7] donnent un algorithme pour calculer toutes les couvertures d'un mot. Illiopoulos, Moore et Park[1] présentent un algorithme en O ( n log n ) {\displaystyle O(n\log n)} pour trouver tous les germes d'un mot de longueur n {\displaystyle n} . Une présentation générales et donnée dans Christou et al[8]. Les couvertures optimales ont été étudiées par Mhaskar et Smyth[9].

Caractérisation

Un caractérisation des mots quasi-périodiques a été donnée par L. Mouchard[10].

Étant donné un mot w {\displaystyle w} qui jouera le rôle d'une quasi-période, soient b 1 = ε , b 2 , , b k {\displaystyle b_{1}=\varepsilon ,b_{2},\ldots ,b_{k}} les bords de w {\displaystyle w} (un bord est un facteur qui est à la fois préfixe est suffixe); et soient u 1 , , u k {\displaystyle u_{1},\ldots ,u_{k}} les préfixes de w {\displaystyle w} tels que w = u i b i {\displaystyle w=u_{i}b_{i}} . Alors tout mot x {\displaystyle x} quasi-périodique de période w {\displaystyle w} est l’image d’un mot sur un alphabet à k {\displaystyle k} lettres a 1 , , a k {\displaystyle a_{1},\ldots ,a_{k}} par le morphisme qui envoie a i {\displaystyle a_{i}} sur u i {\displaystyle u_{i}} . De manière équivalente, x {\displaystyle x} est produit des mots u i {\displaystyle u_{i}} . Par exemple, le mot x = a a b a a a b a a b a a {\displaystyle x=aabaaabaabaa} est quasi-périodique de quasi-période a a b a a {\displaystyle aabaa} . Il s’écrit comme produit

x = a a b a . a a b . a a b a a = f ( a 1 a 2 a 3 ) {\displaystyle x=aaba.aab.aabaa=f(a_{1}a_{2}a_{3})} ,

où le morphisme f {\displaystyle f} est défini par f ( a 1 ) = a a b a {\displaystyle f(a_{1})=aaba} , f ( a 2 ) = a a b {\displaystyle f(a_{2})=aab} , f ( a 3 ) = a a b {\displaystyle f(a_{3})=aab} .

Une façon équivalente, un mot quasi-périodique peut s'écrire comme produit de suffixes d'une quasi-période w {\displaystyle w} , en considérant les suffixes v i {\displaystyle v_{i}} qui complètent un bord : w = b i v i {\displaystyle w=b_{i}v_{i}} . Pour w = a a b a a {\displaystyle w=aabaa} , les suffixes sont w {\displaystyle w} lui-même, a b a a {\displaystyle abaa} et b a a {\displaystyle baa} , et la factorisation est

x = a a b a a . a b a a . b a a = g ( a 1 a 2 a 3 ) {\displaystyle x=aabaa.abaa.baa=g(a_{1}a_{2}a_{3})} ,

où le morphisme g {\displaystyle g} est défini par g ( a 1 ) = a a b a a {\displaystyle g(a_{1})=aabaa} , g ( a 2 ) = a b a a {\displaystyle g(a_{2})=abaa} , g ( a 3 ) = b a a {\displaystyle g(a_{3})=baa} .

Variantes

Une couverture améliorée (enhanced en anglais) u {\displaystyle u} de x {\displaystyle x} est un bord de x {\displaystyle x} (c'est-à-dire un préfixe propre qui est aussi un suffixe) qui couvre un nombre maximal de positions en x {\displaystyle x} , mais pas nécessairement toutes[11].

Mots infinis

Solomon Marcus a étendu la notion de mot quasi-périodique aux mots infinis et a posé à cette occasion diverses questions dans un article au bulletin de l'EATCS[12],[13] qui a suscité plusieurs travaux subséquents[14],[15],[16],[13].

L'exposant critique d'un mot infini quasi-périodique a été étudié par Gwenaël Richomme[17]. L'exposant critique d'un mot est le maximum des exposants des répétitions contenues dans le mot.

On sait, d'après un résultat de Dana Krieger et J. Shallit[18] que tout nombre réel plus grand que 1 peut être l'exposant critique d'un mot infini. Un mot infini périodique a un exposant critique infini. Il n'en est pas ainsi pour les mots quasi-périodique : il existe des mots infinis quasi-périodiques dont l'exposant critique est 2 + ε {\displaystyle 2+\varepsilon } pour tout ε > 0 {\displaystyle \varepsilon >0} . Le plus petit exposant critique d'un mot infini binaire quasi-périodique est 7/3[17], et tout mot infini binaire contient une répétition d'exposant au moins 7/3. Ces résultats reposent sur des propriétés décrites par J. Karhumäki et J. Shallit[19].

On peut faire le lien entre l'exposant critique et la notion de run. Un run est une répétition maximale dans un mot, pourvu que l'exposant en soit au moins égal à 2. Par exemple, le mot a b a b a a b a a a {\displaystyle ababaabaaa} contient les runs a b a b a {\displaystyle ababa} , a a {\displaystyle aa} , a b a a b a a {\displaystyle abaabaa} et a a a {\displaystyle aaa} d'exposants 5/2, 2, 7/3 et 3 respectivement. L'exposant critique de ce mot est donc 3.

Table des couvertures

La table des couvertures est l'analogue, pour les quasi-périodes, de la table des bords d'un mot : la table des bords d'un mot x {\displaystyle x} de longueur n {\displaystyle n} est la table B {\displaystyle B} à n {\displaystyle n} éléments donnant, pour chaque indice i {\displaystyle i} , le plus long bord du préfixe de longueur i {\displaystyle i} du mot x {\displaystyle x} . Par analogie, table des couvertures d'un mot x {\displaystyle x} de longueur n {\displaystyle n} est la table C {\displaystyle C} à n {\displaystyle n} éléments donnant, pour chaque indice i {\displaystyle i} , la plus longue couverture alignée du préfixe de longueur i {\displaystyle i} du mot x {\displaystyle x} , si ce préfixe possède un mot couvrant, et 0 sinon[5].

Par exemple[5], pour le mot x = a b a a b a b a a b a a b a b a a b a b a b a {\displaystyle x=abaababaabaababaabababa} de longueur 23, le préfixe a b a a b a b a a {\displaystyle abaababaa} de longueur 9 a le bord a b a a {\displaystyle abaa} de longueur 4, et n'a pas de couverture alignée, alors que a b a a b {\displaystyle abaab} est le germe d'une ouverture non alignée.

Table des bords et table des couvertures
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
x a b a a b a b a a b a a b a b a a b a b a b a
B 0 0 1 1 2 3 2 3 4 5 6 4 5 6 7 8 9 10 11 7 8 2 3
C 0 0 0 0 0 3 0 3 0 5 6 0 5 6 0 8 9 10 11 0 8 0 3

Notes et références

  1. a et b Costas S. Iliopoulos, D. W. G. Moore et K. Park, « Covering strings », Algorithmica, vol. 16, no 3,‎ , p. 288–297 (ISSN 0178-4617, DOI 10.1007/BF01955677).
  2. Alberto Apostolico, Martin Farach et Costas S. Iliopoulos, « Optimal superprimitivity testing for strings », Information Processing Letters, vol. 39, no 1,‎ , p. 17–20 (ISSN 0020-0190, DOI 10.1016/0020-0190(91)90056-N)
  3. Dany Breslauer, « An on-line string superprimitivity test », Information Processing Letters, vol. 44, no 6,‎ , p. 345–347 (ISSN 0020-0190, DOI 10.1016/0020-0190(92)90111-8).
  4. a et b Alberto Apostolico et Andrzej Ehrenfeucht, « Efficient detection of quasiperiodicities in strings », Theoretical Computer Science, vol. 119, no 2,‎ , p. 247–265 (DOI 10.1016/0304-3975(93)90159-Q).
  5. a b et c Yin Li et William F. Smyth, « Computing the cover array in linear time », Algorithmica, vol. 32, no 1,‎ , p. 95-106 (ISSN 0178-4617, DOI 10.1007/s00453-001-0062-2)
  6. Dennis W. G. Moore et William F. Smyth, « An optimal algorithm to compute all the covers of a string », Information Processing Letters, vol. 50, no 5,‎ , p. 239–246 (ISSN 0020-0190, DOI 10.1016/0020-0190(94)00045-X).
  7. Dennis W. G. Moore et William F. Smyth, « A Correction to "An Optimal Algorithm to Compute all the Covers of a String" », Information Processing Letters, vol. 54, no 2,‎ , p. 101-103 (DOI 10.1016/0020-0190(94)00235-Q)
  8. Michalis Christou, Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Bartosz Szreder et Tomasz Waleń, « Efficient Seeds Computation Revisited », Lecture Notes in Computer Science, vol. 6661,‎ , p. 350–363 (ISSN 0302-9743, DOI 10.1007/978-3-642-21458-5_30)
  9. Neerja Mhaskar et William F. Smyth, « String covering with optimal covers », Journal of Discrete Algorithms, vol. 51,‎ , p. 26–38 (ISSN 1570-8667, DOI 10.1016/j.jda.2018.09.003)
  10. Laurent Mouchard, « Normal forms of quasiperiodic strings », Theoretical Computer Science, vol. 249, no 2,‎ , p. 313–324 (DOI 10.1016/S0304-3975(00)00065-7).
  11. Tomáš Flouri, Costas S. Iliopoulos, Tomasz Kociumaka, Solon P. Pissis, Simon J. Puglisi, William F. Smyth et Wojciech Tyczyński, « Enhanced string covering », Theoretical Computer Science, vol. 506,‎ , p. 102–114 (ISSN 0304-3975, DOI 10.1016/j.tcs.2013.08.013)
  12. Solomon Marcus, « Quasiperiodic Infinite Words », Bulletin of the EATCS, no 82,‎ , p. 170-174.
  13. a et b Florence Levé et Gwenaël Richomme, « On quasiperiodic morphisms », Proceedings of the 9th International Conference on Words,‎ , p. 181-192 (DOI 10.1007/978-3-642-40579-2_20).
  14. Amy Glen, Florence Levé et Gwénaël Richomme, « Quasiperiodic and Lyndon episturmian words », Theoretical Computer Science, vol. 409, no 3,‎ , p. 578–600 (DOI 10.1016/j.tcs.2008.09.056).
  15. Florence Levé et Gwenaël Richomme, « Quasiperiodic infinite words: some answers », Bulletin of the EATCS, no 84,‎ , p. 128-138.
  16. Florence Levé et Gwenaël Richomme, « Quasiperiodic Sturmian words and morphisms », Theoretical Computer Science, vol. 372, no 1,‎ , p. 15–25 (DOI 10.1016/j.tcs.2006.10.034).
  17. a et b Gwenaël Richomme, « Minimal critical exponent of quasiperiodic words », Theoretical Computer Science, vol. 548,‎ , p. 117–122 (DOI 10.1016/j.tcs.2014.06.039).
  18. Dalia Krieger et Jeffrey Shallit, « Every real number greater than 1 is a critical exponent », Theoretical Computer Science, vol. 381, nos 1-3,‎ , p. 177–182 (DOI 10.1016/j.tcs.2007.04.037)
  19. Juhani Karhumäki et Jeffrey Shallit, « Polynomial versus exponential growth in repetition-free binary words », Journal of Combinatorial Theory, Series A, vol. 105, no 2,‎ , p. 335–347 (DOI 10.1016/j.jcta.2003.12.004).

Articles liés

  • icône décorative Portail de l'informatique théorique