Répétitions d'automates et langages formels 2016-2017 Les exercices de cette liste proviennent des notes de cours Automates et Langages Formels de M. Rigo. Chapitre 1 : Mots et langages 1. Mots et langages. Exercice 1. On dénit manière suivante : si le miroir d'un mot w = ε, wR = v R σ . Montrer que w = ε; sinon, il existe σ ∈ Σ u, v, w ∈ Σ∗ , et R alors w R w ∈ Σ∗ , = ε; v ∈ Σ∗ tels que (wR )R = w Exercice 2. σ ∈ Σ et v ∈ Σ∗ cette dénition est équivalente à celle qui suit : et Démontrer que pour tous w, de la w = σv w = ε, alors par récurrence sur la longueur de sinon, il existe w = vσ et wR = σv R . tels que si Démontrer que pour tous (uv)R = v R uR . et u, v, w ∈ Σ∗ , on a uw = vw ⇒ u = v et wu = wv ⇒ u = v. Exercice 3. • • • si si si Soient |x| > |u|, |x| = |u|, |x| < |u|, Exercice 4. x, y, u, v alors il existe x=u alors et alors il existe w 6= ε tel y = v, w 6= ε tel v ∈ Σ∗ Soit Σ = {a, b} Σ x = uw et v = wy , que u = xw et y = wv . w, #(Pref(w)) = |w| + 1. #(Fac(w)). un alphabet. Caractériser les mots Soit L⊆Σ ∗ sont des palindromes ? alphabet que un alphabet. Quels sont les mots Σ = {a, b} w3 = v 2 ? Soit tel que Exercice 7. Exercice 8. xy = uv . tels que Il est clair que pour tout mot (inférieures et supérieures) exactes pour Exercice 5. Exercice 6. Σ des mots sur un alphabet w Quels sont les mots tels que w = wR R L=L un langage. Si w ∈ Σ∗ Démontrer que Quelles sont les bornes pour lesquels w ∈ Σ ∗ w2 = w3 ? pour lesquels il existe (i.e., les palindromes). , cela implique-t-il que tous les mots du langage Justier votre réponse et envisager également le cas particulier d'un unaire. Exercice 9. Soit le langage L ⊆ {a, b}∗ déni récursivement par les trois conditions : • ε ∈ L, • si u appartient à L, alors aaub appartient à L, • un mot appartient à L seulement s'il peut être obtenu à partir de la première règle et d'un nombre ni d'applications de la deuxième règle. Donner une dénition implicite du langage Exercice 10. Soient Σ un alphabet et L. L ⊆ Σ∗ le langage déni récursivement par les trois conditions : • ε ∈ L et pour tout σ ∈ Σ, σ ∈ L, • si w appartient à L, alors pour tout σ ∈ Σ, σwσ appartient à L, • un mot appartient à L seulement s'il peut être obtenu à partir de la première règle et d'un nombre ni d'applications de la deuxième règle. Quel est ce langage L Exercice 11. L ⊆ Σ∗ Soit ? un langage. Démontrer que ∗ ∗ (L ) = L∗ , A-t-on toujours LL∗ = L∗ L∗ L∗ = L∗ , L∗ L ∪ {ε} = L∗ = LL∗ ∪ {ε}. ? 1 2 Exercice 12. Soient L, M, N des langages sur un alphabet Σ. Montrer que L(M ∩N ) ⊆ LM ∩LN . Montrer qu'en général, l'autre inclusion est fausse. Exercice 13. L = {aa, bb} et M = {ε, b, ab}. LM et L tt M . ∗ Enumérer les mots de M de longueur au plus trois. ∗ Combien de mots de longueur 6 possède le langage L ? ∗ Combien de mots de longueur n ∈ N possède le langage L • • • • Soient Enumérer les mots de Exercice 14. Soient L et M ? deux langages nis. A-t-on toujours #L.#M = #(LM ) ? Justier votre réponse. Exercice 15. Soient des alphabets disjoints Σ Γ. et Pour m, n ∈ N, m t(m, n) := #(u tt v), on note n u∈Σ , v∈Γ . Montrer que et que t(m, n) = t(m, n − 1) + t(m − 1, n), m, n > 0 t(m, 0) = t(0, m) = 1. Utiliser cette formule pour en déduire la valeur de #(abba tt cd). Pour calculer t(m, n) au moyen de la formule donnée ci-dessus, combien d'étapes sont nécessaires ? Exercice 16. Σ = {a, b} un alphabet binaire. Un mot w ∈ Σ∗ est sans carré s'il ne contient ∗ la forme xx avec x un mot non vide. Enumérer tous les mots sans carré de Σ . Soit aucun facteur de (Que se passe-t-il dans le cas d'un alphabet contenant plus de deux lettres ?) Exercice 17. Soit Σ un alphabet. Un mot w∈Σ i w=u, est primitif si l'équation u ∈ Σ∗ i ≥ 2. On appelle racine primitive de w, le plus petit mot i ≥ 1. Démontrer qu'un mot est primitif si et seulement si il est n'est satisfaite pour aucun exposant u ∈ Σ∗ tel que w = ui , pour un égal à sa propre racine primitive. Exercice 18. v = yx. Deux mots u et v sur Σ sont conjugués s'il existe Enumérer tous les conjugués du mot Σ∗ . une relation d'équivalence sur abbaa. Démontrer que si x, y ∈ Σ∗ tels que u = xy et Montrer que la relation être conjugué est w est primitif, alors ses conjugués le sont aussi. Exercice 19. Soit l'alphabet {→, ←, ↑, ↓} où chaque èche représente un déplacement d'une unité dans le plan muni d'un repère orthonormé. Caractériser l'ensemble des mots correspondant à un déplacement du point de coordonnées (0, 0) au point de coordonnées (1, 1). Même question, mais cette fois, on se restreint au déplacements dans le premier quadrant (on ne peut se trouver en un point dont une des coordonnées serait strictement négative). 2. Expressions régulières. Exercice 20. Donner une expression régulière du langage formé des mots de longueur au moins 2 sur {a, b} pour lesquels tous les a éventuellement présents précèdent les b (éventuellement présents). Exercice 21. Même question que la précédente, mais cette fois, le mot vide appartient au langage. Exercice 22. Donner une expression régulière du langage formé des mots sur {a, b} qui ne contiennent pas le facteur Exercice 23. ba. Donner une expression régulière du langage formé des mots sur nent simultanément le facteur aa et le facteur Exercice 24. Donner une expression régulière du langage formé des mots sur nent le facteur aa ou le facteur bb, {a, b} qui contien- {a, b} qui contien- bb. mais pas ces deux facteurs simultanément. 3 Exercice 25. {a, b} aaa). Donner une expression régulière du langage formé des mots sur nent exactement deux fois le facteur Exercice 26. aa. (Suggestion : attention au facteur Donner une expression régulière du langage formé des mots sur contiennent pas deux a Donner une expression régulière du langage formé des mots sur nent le facteur aa par a, Donner une expression régulière du langage formé des mots sur b a divisible par trois {a, b} qui contien- {a, b, c} qui débutent cc. {a, b, c} qui conti- 3. Donner une expression régulière du langage formé des mots sur impaire et qui contiennent le facteur Exercice 31. et se terminent par Donner une expression régulière du langage formé des mots sur ennent un nombre de Exercice 30. qui ne exactement une fois. contiennent exactement deux Exercice 29. {a, b, c} consécutifs. Exercice 27. Exercice 28. qui contien- {a, b} de longueur bb. Donner une expression régulière du langage formé des mots sur {a, b} ayant au plus a. Exercice 32. Donner une expression régulière du langage formé des mots sur ennent un nombre impair d'occurences du facteur Exercice 33. {a, b, c} qui conti- ab. Donner une expression régulière du langage formé des représentations en base 3 des nombres pairs. Exercice 34. Donner une expression régulière du langage formé des représentations en base des nombres multiples de Exercice 35. Soit 10 5. Σ un alphabet. Dans les expressions régulières données ci-dessous, on s'autorise ϕ+ (avec ϕ ∈ RΣ ) qui est telle que L(ϕ+ ) = (L(ϕ))+ = ∪i>0 (L(ϕ))i . à utiliser l'expression Démontrer que • • • • • (ba)+ (a∗ b∗ + a∗ ) = (ba)∗ b a+ (b∗ + e), b+ (a∗ b∗ + e)b = b(b∗ a∗ + e)b+ , (a + b)∗ = (a + b)∗ b∗ , (a + b)∗ = (a∗ + ba∗ )∗ , (a + b)∗ = (b∗ (a + e)b∗ )∗ . Exercice 36. Soit Σ = {a, b}. Vérier que (ab) = (aΣ∗ ∩ Σ∗ b) \ (Σ∗ aaΣ∗ + Σ∗ bbΣ∗ ). + 3. Langages réguliers sur un alphabet unaire. Exercice 37. Exprimer |L(ϕ)| comme une union nie de progressions arithmétiques lorsque • • • • ϕ = (ab)∗ + bbb, ϕ = (a(ba∗ ) + a∗ )∗ , ϕ = (ab)(ac(a + b))∗ , ϕ = ab(bbc)∗ . Exercice 38. Construire une expression régulière ϕ telle que • |L(ϕ)| = 5 + N.3, • |L(ϕ)| = N.7 ∪ (4 + N.5). Exercice 39. Le langage {an +2n+1 | n ∈ N} est-il régulier ? Justier. Exercice 40. Le langage {a2n+1 | n ∈ N} est-il régulier ? Justier. Exercice 41. Le langage {an | n ∈ P} où P désigne l'ensemble des 3 nombres premiers est-il régulier ? Justier. Remarque 1. Le résultat obtenu à l'exercice précédent n'est en rien incompatible avec le célèbre théorème de Dirichlet qui stipule que si la progression arithmétique a + N.b a et b sont premiers entre eux (i.e., pgcd(a, b) contient une innité de nombres premiers. = 1), alors 4 Chapitre 2 : Automates Exercice 1. Modéliser au moyen d'un automate ni déterministe le problème du chou, de la chèvre et du loup. Un berger doit faire traverser une rivière au moyen d'une barque à un chou, une chèvre et un loup. La barque étant petite pour les transporter tous, à chaque trajet sur la rivière, il ne peut emporter qu'un seul des trois protagonistes. On ne peut laisser la chèvre et le chou (resp. le loup et la chèvre) seuls sur une rive. Comment doit faire le berger pour faire traverser les trois protagonistes sous les contraintes indiquées. Avec la modélisation choisie, quel est le langage des déplacements acceptables ? Exercice 2. Soit l'AFD A = (Q, 1, F, Σ, δ) où Q = {1, 2, 3}, Σ = {a, b}, F = {3} et où la fonction de transition est donnée par δ 1 2 3 Tracer le diagramme d'états de • • • • A. a b 1 2 . 3 2 3 1 Donner l'exécution de A sur les mots abba, bbbabb, bababa, bbbaa. Quel est le langage accepté par Exercice 3. A Soient les langages (en donner une expression régulière) ? a∗ b∗ et {c}. faire, on construira au préalable un AFD sur acceptant le langage longueur Que vaut n dans Si on note ρL {a, b} acceptant le langage la fonction qui à n ∈ N a b Pour ce et un AFD sur {c} associe le nombre de mots de ? Même ρL : N → N : n 7→ #(L ∩ Σn ). question pour ρa∗ b∗ tt {c} (n). Soient les deux AFD représentés à la gure 1. Construire un AFD acceptant le b b a a b a a b a Figure 1. Deux automates nis déterministes. shue des langages acceptés par ces deux automates. Exercice 5. a∗ b∗ tt {c}. ∗ ∗ L, ρa∗ b∗ (n) Exercice 4. {c}. Construire un AFD acceptant Soit l'AFND représenté à la gure 2. a b a 1 2 a a b 3 Figure 2. Un AFND. b 5 • • Enumérer les éléments de la relation de transition Quelles sont toutes les exécutions possibles du mot ∆ de l'automate. aaabb dans cet automate (en démarrant de l'unique état initial). • • • Le mot aaabb est-il accepté ? Rendre cet automate déterministe au moyen de la construction par sous-ensembles d'états. Donner une expression régulière du langage accepté par l'automate. Exercice 6. Rendre déterministe l'automate repris à la gure 3. (Prendre garde aux ε ,a 1 b b 2 b a ε 4 ε-transitions.) a 3 b Figure 3. Un AFND à rendre déterministe. Exercice 7. Remplacer l'automate représenté à la gure 4 par un automate équivalent possédant un unique état initial et un unique état nal. b b a a a a a b Figure 4. Un AFND. Exercice 8. Construire un AFND acceptant (ab)∗ + a∗ . Si l'automate obtenu n'est pas déterministe, le rendre déterministe. Exercice 9 (Cet exercice pourra être passé en première lecture, et repris après avoir vu la notion ∗ n−1 d'automate minimal). Montrer que pour tout n ≥ 1, le langage (a + b) b(a + b) peut être reconnu par un AFND à 2n n+1 états, mais que tout AFD acceptant ce langage possède au moins états. Exercice 10. Construire un AFND acceptant (abc)∗ a∗ . Si l'automate obtenu n'est pas déterministe, le rendre déterministe. Exercice 11. En utilisant l'exercice précédent, construire un AFD acceptant le langage ((abc)∗ a∗ )R . 6 Exercice 12. Construire un AFND acceptant (ba + bb)∗ + (ab + aa)∗ . Si l'automate obtenu n'est pas déterministe, le rendre déterministe. Exercice 13. Construire un AFND acceptant (ab+ a)+ . Si l'automate obtenu n'est pas déterministe, le rendre déterministe. Exercice 14. facteur Construire un AFD acceptant exactement les mots sur {a, b} qui contiennent le Construire un AFD acceptant exactement les mots sur {a, b} pour lesquels tout abba. Exercice 15. facteur de longueur Exercice 16. Soit 4 contient au moins un L ⊂ {a, b, c}∗ a. un langage dont aucun mot ne commence par est un langage accepté par un AFD si et seulement si Exercice 17. • • • • • {w {w {w {w {w Σ = {a, b}. Construire : |w| ≡ 0 (mod 3)}, : |w|a ≡ 0 (mod 3)}, : |w| ≡ 1 (mod 3)}, : |w| 6≡ 0 (mod 3)}, : |w|a ≤ 4}, Soit ∈ Σ∗ ∈ Σ∗ ∈ Σ∗ ∈ Σ∗ ∈ Σ∗ Exercice 18. a. Montrer que L est aussi accepté par un AFD. un AFD acceptant le langage suivant Construire un AFD acceptant le langage {ai bj | i ≡ j Dénition. a∗ L Soit p ≥ 2, tout entier n= ` X n≥1 ci pi , (mod 2)}. se décompose de manière unique comme avec ci ∈ {0, . . . , p − 1} et p` 6= 0. i=0 Le mot c` · · · c0 ∈ {0, . . . , p − 1}∗ est la représentation en base p de l'entier n. Par convention, zéro est représenté par le mot vide. Cette manière de procéder fournit une bijection entre N et le langage Lp = {ε} ∪ {1, . . . , p − 1}{0, . . . , p − 1}∗ . Exercice 19. Exercice 20. Soient k, m ≥ 2. Démontrer que {k n (mod m) | n ∈ N} est ultimement périodique. Construire un AFD acceptant exactement les représentations binaires des nombres pairs. (On suppose que 0 est représenté par le mot vide et pour des raisons de simplication, on autorise les zéros de tête dans les représentations, i.e., de 5.) 000101 est par exemple une représentation Si besoin est, on permet de considérer les représentations miroir. Exercice 21. Même question avec les représentations binaires des multiples de 4, 5, 6 ou 7. Exercice 22. Donner la table de transition d'un automate ni déterministe reconnaissant écritures décimales des multiples de Remarque 2. 6 les (ou leur miroir, si vous jugez la construction plus simple). Ces trois derniers exercices montrent que tout critère de divisibilité peut toujours être reconnu par un automate ni et ce, quelle que soit la base choisie pour les représentations des entiers. Exercice 23. Soit Σ = {0, 1}. Si u ∈ Σ∗ , alors on note π2 (u) l'entier représenté par u en base 2. Par exemple, On considère l'alphabet couples (u, v) π2 (1101) = 13, π2 (001010) = 10. Γ = Σ × Σ. Construire un automate sur Γ de mots de même longueur tels que π2 (v) = 2π2 (u). qui reconnaît le langage des 7 Pour obtenir des mots de même longueur, on s'autorise toujours à placer des zéros de tête dans les représentations. Par exemple, 0 1 1 0 0 1 1 0 0 0 appartient au langage accepté. Comme dans les exercices précédents, par souci de simplication, on pourra dans un premier temps considérer les représentations miroir. Exercice 24. Dans le même contexte que l'exercice précédent, on note Γ automate sur qui reconnaît les triplets (u, v, w) Γ = Σ3 . Construire un de mots de même longueur tels que π2 (u) + π2 (v) = π2 (w). Par exemple, 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 appartient au langage accepté. Comme dans les exercices précédents, par souci de simplication, on pourra dans un premier temps considérer les représentations miroir. Exercice 25. Même question qu'à l'exercice 23, mais cette fois, on impose π2 (v) = 3π2 (u). Exercice 26. par 4 Montrer que le langage des représentations binaires des nombres entiers divisibles est régulier, en donnant une expression régulière. Montrer que le langage des représentations binaires des nombres entiers divisibles par 3 est régulier, en fournissant un automate ni déterministe acceptant ce langage (ou son miroir, au choix). Déduire des deux premiers points que le langage des représentations binaires des nombres entiers divisibles par 12 est régulier ? Justier votre réponse. 8 Chapitre 3 : Langages réguliers et automates 1. Langages réguliers. Exercice 1. Soit le langage L = {ab2 a3 b4 · · · a2n−1 b2n | n ∈ N}. Ce langage est-il régulier ? Justier. Exercice 2. Exercice 3. Exercice 4. Exercice 5. Exercice 6. Le langage {an bn | n ∈ N} Le langage {an b2n | n ∈ N} Le langage {w ∈ {a, b}∗ : |w|a < |w|b } n {a2 | n ∈ N} Le langage Soit le morphisme est-il régulier ? est-il régulier ? est-il régulier ? f : {a, b}∗ → {a, b} f (a) = b Le langage L = {wf (w) | w ∈ {a, b} } Exercice 7. A ∗ Soit A est-il régulier ? tel que f (b) = a. et est-il régulier ? un AFD possédant k états, k ≥ 1. Démontrer que si le langage accepté par ne contient aucun mot de longueur strictement inférieure à k, alors le langage accepté par A est vide. Exercice 8. A Soit A un AFD possédant est ni, alors tout mot accepté Exercice 9. Soit Σ w k k ≥ 1. |w| < k . états, est tel que un alphabet de taille au moins Démontrer que si le langage accepté par 2. Le langage des palindromes sur Σ est-il régulier ? Que se passe-t-il dans le cas particulier d'un alphabet unaire ? Exercice 10. Exercice 11. Le langage {an bm an+m | m, n ∈ N} Le langage formé des mots sur est-il régulier ? {a, b} qui contiennent deux fois plus de a que de b, i.e., L = {w ∈ {a, b}∗ : |w|a = 2|w|b }, est-il régulier ? Que vaut Exercice 12. le morphisme ψ(L) ? Soient les alphabets h:Σ→Γ Σ = {a, b, c} h(a) = h(b) = e Si h(L) ⊂ Γ∗ et Γ = {e, f } et un langage L sur Σ. On donne tel que et h(c) = f. est un langage régulier, peut-on en déduire que 2. Langage accepté par un automate. Exercice 13. Déterminer une expression régulière L est lui-même régulier, justier ? du langage accepté par l'automate repris en gure 5. Exercice 14. Même question que l'exercice précédent pour l'AFD représenté à la gure 6. les mots acceptés sont considérés comme des représentations en base propriétés arithmétiques de l'ensemble d'entiers accepté. 2 Si d'entiers, en déduire les 9 b b a a a b a,b Figure 5. Expression régulière du langage accepté. 0 1 0 0 1 0 1 1 0,1 Figure 6. Expression régulière du langage accepté. Fantome 10 Chapitre 4 : Automate minimal Exercice 1. L'automate de la gure 7 est-il accessible et réduit? Autrement dit, s'agit-il d'un automate minimal ? Même question avec l'automate de la gure 8. b Pour ces deux automates, a,b a 1 a 2 3 b a a 4 5 b b Figure 7. Un AFD. a,b b 5 a 2 4 a a b b 1 b 3 a b a a 7 6 b Figure 8. Un autre AFD. donner une expression régulière du langage accepté. Exercice 2. Donner (en utilisant une méthode au choix) l'automate minimal des langages suiv- ants: • • • • • • • a∗ ba(bb)∗ , (a + b)∗ aba(a + b)∗ , (ab + ba)∗ , le langage formé des mots contenant le facteur le langage formé des mots contenant le facteur ou et bb, bb, (aab)∗ (ba)∗ , le langage formé des mots de Exercice 3. Soit ∗ L = (ab + bab) (aab)∗ (ba)∗ En déduire l'automate minimal de Exercice 4. ∼L zx 6∼L zy . Montrer que x ∼L y et qui sont de longueur paire. . Quels sont les diérents ensembles de la forme w−1 .L, tel que aa aa w ∈ {a, b}∗ ? L. n'est en général pas une congruence à gauche, i.e., il existe z ∈ Σ∗ 11 Exercice 5. Soit L = {ab, aab, aba, ba, bb, aaa}. w−1 .L, En déduire l'automate minimal de Exercice 6. Soit L = (a + b) abaaba. w Exercice 7. Soit L, w ∈ {a, b}∗ ? L. ∗ En déduire l'automate minimal de Quels sont les diérents ensembles de la forme Quels sont les diérents ensembles de la forme −1 w ∈ {a, b}∗ ? .L, L. {a, b} le langage sur des mots contenant exactement deux a. Quels sont les diérents ensembles de la forme w−1 .L, En déduire l'automate minimal de Exercice 8. L. Soit l'automate déterministe a w ∈ {a, b}∗ ? A représenté à la gure 9. Rechercher l'automate a,b a b b a b a a b b a a b b a b Figure 9. Un autre AFD dont on cherche le minimal. minimal du langage accepté par A. On procédera par deux méthodes : la recherche des états équivalents et la procédure µ(µ(A)). Exercice 9. Soit le langage L = {an bm | n, m ∈ N : n ≤ m}. Caractériser les états de l'automate minimal de Exercice 10. • A Soit l'automate ni déterministe équivalents pour la relation Exercice 11. L et donner la table de transition de cet automate. ∼A . représenté à la gure 10. Rechercher les états En déduire l'automate minimal du langage accepté par Σ = {a, b, c}. ∗ ∗ ∗ du langage L = a b c A. On considère l'alphabet Donner l'automate minimal (dans votre réponse, justier en quoi l'automate que vous proposez est minimal). • les diérents ensembles de la forme • Σ∗ pour la relation .L, w ∈ Σ∗ ? Quelles sont les classes d'équivalence de La clôture commutative de L w −1 de Nerode donnée par com(L) = {w ∈ Σ∗ | ∃v ∈ L, ∀σ ∈ Σ : |w|σ = |v|σ } est-elle un langage régulier ? Justier. ∼L et quels sont 12 a a,b a b a b a b b Figure 10. Recherche des états équivalents. Fantome 13 Chapitre 5 : Quelques compléments sur les langages réguliers 1. Transduction. Exercice 1. Supposons que les positions des lettres d'un mot soient comptées de gauche à droite. Ainsi, w = w1 · · · wn , wi ∈ Σ pour un mot w de longueur n. Construire un transducteur T qui transforme chaque a se trouvant en position de la forme 3i (resp. 3i + 1, 3i + 2) en abc (resp. bac, aac) et chaque b se trouvant en position de la forme 3i (resp. 3i + 1, 3i + 2) en bca (resp. bac, bcb), i ∈ N. Donner une expression régulière du langage T (a∗ b∗ ). 2. Problèmes de dénombrement. Exercice 2. Soit L ⊂ Σ∗ un langage. appartenant à L. Si $ ρL (n), le nombre Σ, vérier que On dénote par #[({$} tt L) ∩ (Σ ∪ {$})n ] = n ρL (n − 1), Utiliser ce résultat pour construire un langage régulier ρM (n) = n pour tout n ≥ 1. Exercice 3. • • • • Même question avec cette fois, On considère le langage L Quel est l'automate minimal de n M tel que 2 ρN (n) = n3 pour tout {a, b} formé des mots sur L ∀n ≥ 1. n ≥ 2. ayant un nombre impair de b. ? Donner la matrice d'adjacence de cet automate. En déduire une relation de récurrence linéaire pour On considère le langage ne contenant pas le facteur ρL (n). ρL (n). Trouver une formule close pour Exercice 4. • • de mots de longueur est une lettre n'appartenant pas à L {a, b, c} formé des mots sur ne commençant pas par c et ac. Quel est l'automate minimal de L ? Soit la série génératrice F (X) = X ρL (n) X n . n≥0 Montrer que 1−X . X 2 − 3X + 1 ρL (n). F (X) = • En déduire une formule close pour Exercice 5. • • • • L = a∗ b∗ . de L ? On considère le langage Quel est l'automate minimal Donner la matrice d'adjacence de cet automate. En déduire une relation de récurrence linéaire pour Montrer que la série génératrice de ρL (n) F (X) = • ρL (n). est de la forme 1 (1 − X)2 En développant en série de puissances, en conclure que Exercice 6. On considère l'alphabet ne contenant pas le facteur aa. ({1, 2, 3}, 1, {1, 2}, Σ, δ) Σ = {a, b, c} ρL (n) = n + 1. et le langage régulier sur Σ formé des mots Ce langage est accepté par l'automate ni déterministe où la fonction de transition δ 1 2 3 a b 2 1 3 1 3 3 δ : {1, 2, 3} × Σ → {1, 2, 3} c 1 1 3. A = est donnée par 14 • Donner une relation de récurrence linéaire pour la suite nombre de mots de longueur • n dans ρL (n) = #(L ∩ Σn ) comptant le L. Par une méthode au choix, en déduire une formule close pour ρL (n). 3. Monoïde syntaxique et langages sans étoile. Exercice 7. Soit L un langage. Démontrer que L est une union de classes d'équivalence pour la congruence syntaxique Exercice 8. monoïde ≡L . L = a∗ b∗ . Donner un représentant syntaxique de L. On choisira, si possible, un Soit de chacune des classes d'équivalence du représentant de longueur minimale dans chaque classe. Construire la table de multiplication de ce monoïde. Le monoïde syntaxique est-il apériodique? Exercice 9. pair de a. Même question avec le langage L formé des mots sur {a, b} comprenant un nombre S'agit-il d'un langage sans étoile ? Exercice 10. Même question avec le langage L formé des mots acceptés par l'automate dessiné à la gure 11 b 1 a,b a a 2 3 b a a 4 5 b b Figure 11. Un AFD dont on recherche le monoïde syntaxique du langage associé. Exercice 11. sivement de positif de 3. b Même question avec le langage L {a, b} qui sont formés exclua qui est multiple strictement formé des mots sur en nombre impair ou qui comprennent un nombre de Montrer que le monoïde syntaxique se décompose en deux sous-groupes cycliques dont on donnera à chaque fois un générateur. Exercice 12. On considère le langage accepté par l'automate de la gure 12. Après avoir vérié b a b a a b b a a b a b Figure 12. Un AFD dont on recherche le monoïde syntaxique. que cet automate est minimal, montrer que le monoïde syntaxique de ce langage est isomorphe à S3 (le groupe des permutations de {1, 2, 3}). 15 Exercice 13. Pour les automates repérésentés à la gure 13, vérier qu'ils sont minimaux. Cal- culer la table de multiplication du monoïde syntaxique et déterminer dans chaque cas s'il s'agit d'un langage sans étoile. a 1 a 2 a 3 a 4 a 5 6 a a 7 b a,b 2 1 a Figure 13. Deux AFD. Exercice 14. Pour le langage accepté par l'automate de la gure 14, démontrer que b b 3 1 2 a a a b 4 a,b Figure 14. Un AFD. aba ≡ a, bab ≡ b, b3 ≡ a3 , a4 ≡ a3 , a3 b ≡ a3 , a2 ba ≡ a2 , ab3 ≡ a3 , ba3 ≡ a3 , ba2 b ≡ ab2 a, b2 ab ≡ b2 , a2 b2 a ≡ a2 b, a2 b3 ≡ a3 , ab2 a2 ≡ ba2 , ab2 ab ≡ ab2 et En déduire que a3 3 est un zéro et b2 a3 ≡ a3 , b2 a2 b ≡ b2 a. que ces 16 relations peuvent 3 2 2 se simplifer en 2 2 a ≡ b , aba ≡ a, bab ≡ b, ba b ≡ ab a, a b a ≡ a2 b, ab2 a2 ≡ ba2 pour décrire complètement le monoïde syntaxique. Ainsi, ces 6 relations donnent une représenta- tion bien plus succinte que la table de multiplication du monoïde. Dénition. Un AFD A est sans permutation s'il n'existe aucun mot non triviale d'un sous ensemble d'états de d'états où ν {q1 , . . . , qr } w réalisant une permutation i.e., s'il n'existe pas de mot w et de sous-ensemble tels que est une permutation de Exercice 15. A, q1 .w = qν1 , . . . , qr .w = qνr {1, . . . , r} distincte de l'identité. Démontrer qu'un langage régulier est sans étoile si et seulement si son automate minimal est sans permutation. 16 Chapitre 6 : Introduction aux langages algébriques Exercice 1. Déterminer une grammaire hors contexte générant les langages L = {wwR | w ∈ {a, b}∗ } et M = {wcwR | w ∈ {a, b}∗ }. Exercice 2. Décrire une grammaire hors contexte générant les langages {an bn cm | n, m ∈ N}, {an bm cm | n, m ∈ N} et {an bm | m > n ≥ 0}. Exercice 3. Exercice 4. Le langage {ai bj ck | i 6= j ou i 6= k} est-il algébrique ? Justier votre réponse. Le langage L = {w ∈ {a, b, c}∗ : |w|a = |w|b = |w|c } est-il algébrique ? Justier. Remarquer qu'il s'agit, en particulier, de la clôture commutative du langage {an bn cn | n ∈ N}. Exercice 5. Dans le plan muni d'un repère orthonormé, on symbolise un déplacement d'une unité D (resp. G, H , B ). Ainsi, {D, G, H, B}. Caractériser le langage vers la droite (resp. la gauche, le haut, le bas) par la lettre une suite de déplacements est représentée par un mot sur des mots qui correspondent à un déplacement de deux unités vers la droite. Ce langage est-il algébrique ? Justier. Exercice 6. Soit le morphisme f tel que f (a) = b et f (b) = a. Le langage L = {wf (w) | w ∈ {a, b}∗ } est-il algébrique ? Exercice 7. Le langage formé des mots comprenant deux fois plus de a que de b est-il algébrique ? Même question avec le langage L = {w ∈ {a, b}∗ : |w|a = 2|w|b + 3}. Exercice 8. Le langage des palindromes est-il algébrique ? Justier. Même question en consid- érant uniquement les palindromes de longueur paire. Exercice 9. Donnez la description d'un automate à pile déterministe acceptant le langage {wcwR | w ∈ {a, b}∗ }. Exercice 10. {a, b}. Décrire un automate à pile acceptant le langage formé des palindromes sur l'alphabet Même question en considérant uniquement les palindromes de longueur paire. Exercice 11. Quels sont les langages acceptés respectivement par les automates à pile de la gure 15 ? Exercice 12. Décrire un automate à pile acceptant le langage lesquels il existe un préxe contenant (strictement) plus de ∃u, v ∈ {a, b}∗ : w = uv Par exemple, baa, abba Exercice 13. et abbaaa appartiennent à Montrer que si l'automate à pile L et b L formé des mots sur que de a, {a, b} |u|b > |u|a . mais aab et ababab A = (Q, Σ, Π, δ, q0 , F ) n'y appartiennent pas. est élémentaire alors les langages sont réguliers. pour i.e., Gp,q = {x ∈ Π∗ | ∃m ∈ Σ∗ : [p, m, x] `∗ [q, ε, ε]}, p, q ∈ Q −1 (Suggestion : exprimer t .Gp,q à l'aide des diérents langages Gr,s , t ∈ Π∗ .) 17 a, ε /AAA a, ε /AAA b, A/ε b, A/ε b, A/ε a, ε /AAA b, A/ε b, A/ε Figure 15. Automates à pile. Exercice 14. Utiliser le lemme de la pompe pour montrer que les langages suivants ne sont pas algébriques 2 • {ak | k ∈ N} • {ai bj ci dj | i, j ≥ 0} • L'ensemble des préxes de longueur nie du mot inni abaabaaab · · · ban ban+1 b · · · Exercice 15. Les langages suivants sont-ils algébriques ? L = {ai b2i cj | i, j ≥ 0}, M = {aj bi c2i | i, j ≥ 0} et L ∩ M. Exercice 16. Montrer que Soit le langage ∗ {a, b} \ L est L = {ww | w ∈ {a, b}∗ }. algébrique mais que L ne l'est pas. Exercice 17. Fournir une grammaire hors contexte générant le langage L = {ai bj cj d2i | i, j ∈ N}. Exercice 18. Fournir une grammaire hors contexte générant le langage formé des mots sur {a, b, c} qui commencent par Exercice 19. des a, se terminent par bac et qui comprennent un nombre pair de c. Mettre sous forme essentiellement monotone la grammaire suivante (élimination ε-productions) S A B C Si la grammaire obtenue contient des → → → → ACA aAa | B | C bB | b cC | ε. 1-productions, les éliminer elles aussi pour obtenir une grammaire équivalente. Exercice 20. des Mettre sous forme essentiellement monotone la grammaire suivante (élimination ε-productions) S A B C → → → → ABC aA | ε bB | ε cC | ε. Quel est le langage généré par cette grammaire ? Exercice 21. Mettre sous forme normale de Chomsky, la grammaire suivante S → A → B → aABA | aBB bA | b cB | c. 18 Exercice 22. Mettre sous forme normale de Chomsky, la grammaire suivante S A B C Exercice 23. → → → → A | ABa | AbA Aa | ε Bb | BC CB | CA | bB . Fournir une grammaire non restrictive de type ∗ {ww | w ∈ {a, b} }. Même question avec le langage {w3 | w ∈ {a, b}∗ }. 0 générant le langage