Liste d`exercices

publicité
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
Téléchargement