Vous êtes sur la page 1sur 4

Université de Rouen Normandie Master Informatique

UFR Sciences et Techniques 2019-2020

Algorithmique du texte
Contrôle continu no 1
Date : 17 octobre 2019. Durée : 1 h. Documents, baladeurs, casques audio, oreillettes, calcu-
latrices, mobiles, tablettes, portables... interdits. Le barème est donné à titre indicatif.
Exercice 1 (6 points.)
Rappels :
— pour tout mot x, la notation x R désigne le renversé de x ;
— pour tout mot x et tout naturel n, la notation x n désigne la puissance n-ième de x ;
— un mot x est un palindrome si et seulement si x R = x ;
— pour tous mots x et y , (x · y )R = y R · x R .
1) Montrez que
(x1 · x2 · . . . · xn )R = xn R · . . . · x2 R · x1 R
pour tous mots x1 , x2 , . . . , xn .
2) Si un mot est un palindrome, en est-il de même pour ses puissances ? Justifiez.
3) Si une puissance d’un mot est un palindrome, en est-il de même pour le mot ? Justifiez.

Exercice 2 (6 points.)
1) Énoncez le lemme de périodicité de Fine et Wilf.
2) Répondez maintenant aux question suivantes en justifiant :
a) Quelle est la forme des mots qui admettent 4 et 6 comme périodes mais pas 2 ?
b) Quelle est la forme des mots qui admettent 4, 5 et 6 comme périodes mais pas 2 ?
c) Que dire des mots qui admettent 3, 5 et 7 comme périodes ?
d) Que dire des mots qui admettent 3, 7 et 12 comme périodes ?
e) Soient p, q et r trois naturels non nuls tels que p et q sont premiers entre eux et que
r > p + q − 1. Que dire des mots qui admettent p, q et r comme périodes ?

Exercice 3 (8 points.)
Vous devez proposer deux méthodes qui permettent chacune d’effectuer la recherche de toutes
les occurrences du mot abb dans n’importe quel texte avec une fenêtre glissante de longueur 3.
Chacune des méthodes possède une contrainte qui lui est propre. Vous devez faire en sorte qu’elles
soient le plus performant possible.
Vous exprimerez vos méthodes sous la forme du dessin d’un automate déterministe à ensemble
d’états terminaux vide dont :
— chaque état spécifie la connaissance du facteur du texte dans la fenêtre glissante sous la
forme d’une suite de symboles comme : un gros point « • » pour signifier une lettre inconnue ou
d’une lettre considérée comme telle, une lettre pour signifier cette même lettre, une lettre avec
« 6= » devant pour signifier « n’importe quelle lettre sauf celle-là », etc. ;
— chaque état spécifie, à l’aide du souligné « _ », l’emplacement du facteur sur lequel agit
la comparaison avec la lettre indiquée sur les deux flèches issues de l’état ;
— chaque flèche est étiquetée par une lettre précédée de « = » ou « 6= », suivie d’un point
d’exclamation si une occurrence vient d’être détectée, puis, si la fenêtre glissante est décalée, d’une
virgule et de la valeur du décalage ;
Algorithmique du texte
2019-2020 | 2

— chaque boucle est accompagnée d’un nombre relatif dont la valeur est le quotient maximum
de la division euclidienne du nombre de comparaisons effectuées durant l’exécution de la boucle (de
la longueur de la boucle donc) par la somme des décalages effectués.
Le minimum a et le maximum b de l’ensemble des nombres relatifs qui accompagnent les
boucles sont les indicateurs de performance : la méthode effectue asymptotiquement entre an et
bn comparaisons sur un texte de longueur n.
1) Première méthode. L’emplacement du facteur sur lequel agit la comparaison avec la lettre
indiquée sur les deux flèches issues de l’état initial est le symbole médian.
2) Deuxième méthode. L’emplacement du facteur sur lequel agit la comparaison avec la lettre
indiquée sur les deux flèches issues de l’état initial est le dernier symbole.
3) Quelle est la méthode la plus performante ?
Université de Rouen Normandie Master Informatique
UFR Sciences et Techniques 2019-2020

Algorithmique du texte
Contrôle continu no 2
Date : 12 décembre 2019. Durée : 1 h. Documents, baladeurs, casques audio, oreillettes,
calculatrices, mobiles, tablettes, portables... interdits. Le barème est donné à titre indicatif.
Exercice 1 (5 points.)
Soit A un alphabet. Soit x un mot de A+ .
Répondez aux questions suivantes de manière concise et (la plus) précise (possible).
1) Soit D(x) l’automate minimal complet déterministe qui reconnait le langage A∗ x et dont
les états sont les préfixes de x.
a) Quel est l’état cible de la flèche de source p et d’étiquette a s’il s’agit d’une flèche « avant » ?
b) Quel est l’état cible de la flèche de source p et d’étiquette a s’il ne s’agit pas d’une flèche
avant ?
c) Qu’est-ce qu’une flèche « nulle » ?
d) Qu’est-ce qu’une flèche « arrière » ?
e) Combien D(x) possède-t-il de flèches avant ?
f) Combien D(x) possède-t-il de flèches arrière ?
g) Combien D(x) possède-t-il de flèches nulles ?
2) Quelle est la valeur de bon-préf [k] pour 0 6 k 6 |x| ?
3) Quelle est la valeur de meil-préf [k] pour 0 6 k 6 |x| ?

Exercice 2 (2 points.)
Pour le mot x = abaababa, dressez, dans un même tableau, les tables bon-préf et meil-préf
de x.
Exercice 3 (8 points.)
1) Pour l’ensemble des mots {aba, ba, cabab} :
a) dessinez l’implantation de Aho-Corasick de l’automate qui reconnait toutes les occurrences
des mots de cet ensemble dans n’importe quel texte. Numérotez les états ;
b) exécutez l’automate sur le texte cabbaabac. En dessous de chacune des lettres du texte,
écrivez en colonne la suite des numéros des états empruntés.
2) Faites de même — dessin, exécution — pour l’ensemble des mots {ab, abaaba, abaababa}
et le texte cababaabaababb.

Exercice 4 (5 points.)
Suivent les valeurs de quelques tables. Pour chacune d’entre elles, vous devez estimez s’il s’agit
d’une table bon-suff ou pas. Dans l’affirmative, donnez un mot pour lequel c’est précisément le
cas. Dans la négative, donnez des arguments suffisants qui montre qu’aucun mot ne peut avoir une
telle table.
1)
k 0 1 2 3 4 5 6 7 8
valeur en k 6 6 6 6 6 6 3 2 1
Algorithmique du texte
2019-2020 | 4

2)
k 0 1 2 3 4 5 6 7 8
valeur en k 8 8 8 8 8 4 3 1 2

3)
k 0 1 2 3 4 5 6 7 8
valeur en k 6 6 6 6 6 2 6 4 1

4)
k 0 1 2 3 4 5 6 7 8
valeur en k 4 4 4 4 4 4 1 2 3

5)
k 0 1 2 3 4 5 6 7 8
valeur en k 8 8 8 2 8 4 8 6 1

Vous aimerez peut-être aussi