Université de Nice Sophia Antipolis
Outils Formels pour l'Informatique
DEUG MP2 Module J'2
Examen de Juin 1999
Documents autorisés : support de cours imprimé
Durée : 1 heure 30 mn
Note :
Soient E et F deux alphabets finis. On rappelle que pour tout alphabet A, A* désigne l'ensemble des mots sur A et A+ désigne l'ensemble des mots non vides sur A.
Toute application f de E vers F+ s'étend naturellement de manière inductive en une fonction f+ de E* vers F* de la manière suivante :
I. Première partie (10 points).Dans cette partie, on pose E={a,b,c}, F={0,1} et f(a)=10, f(b)=010 et f(c)=101. On note M le langage des mots de E* qui commencent par la lettre a et qui ne terminent pas par les deux mêmes lettres.
1) Montrer que f+n'est pas injective.
2) Donner une expression rationnelle qui représente le langage M.
3) Dessiner un automate qui reconnait le langage M.
4) Déterminiser l'automate de la question 3).
5) Montrer que f+(M) est un langage rationnel.
II Deuxième partie (10 points)
Le but de cette question est la recherche des propriétés de f qui assurent l'injectivité de f+. On rappelle qu'un mot u est dit préfixe d'un mot w lorsqu'il existe un mot v tel que w = uv.
Une fonction f est dite sans préfixe si elle vérifie la propriété suivante
Si x et y sont deux lettres distinctes de A, alors f(x) n'est pas préfixe de f(y).
1) La fonction décrite dans la première partie de ce problème est elle sans préfixe ?
2) Montrer que si f est sans préfixe, alors f+ est injective.
3) Pour un mot u de A+, on note u~ le mot miroir de u, c'est à dire le mot u lu à l'envers :
(x1x2...xn)~=xn...x2x1.
Donner une définition inductive de la fonction ~ qui à un mot w lui associe son mot miroir w~.
4) Pour toute fonction f de E dans F+, on note f~ la fonction de E dans F+ définie parf~(x)=(f(x))~.
a) Montrer que pour tout m de E+, on a (f~)+(m~)=(f+(m))~.
b) En déduire que f+ est injective si si et seulement si (f~)+ l'est.
5) D'après ce qui précède, les fonctions f+ associées aux fonctions f suivantes ( de {0,1} dans {01}+) sont injectives. Expliquez pourquoi.
a) f(0)=01, f(1)=101
b) f(0)=01, f(1)=010