TD3 langages rationnels -...

3

Click here to load reader

Transcript of TD3 langages rationnels -...

Page 1: TD3 langages rationnels - pagesperso.lina.univ-nantes.frpagesperso.lina.univ-nantes.fr/~delahaye-b/lf2009/TD3_langages... · MIT 1 Mo dule Langages F o rmels TD 3 Exercice 3 Langages

Module Langages Formels

TD 3 : Langages Rationnels

Exer i e 1 Semi-linéarité1.1. Soit ϕ : Σ → Γ∗ un morphisme (i.e. ∀u, v ∈ Σ

∗, ϕ(uv) = ϕ(u)ϕ(v)). Montrer que, siL ∈ Rat(Σ), alors ϕ(L) ∈ Rat(Γ).

Un ensemble d’entiers est linéaire s’il est de la forme {c + ip, i ∈ N}. Un ensemble estsemi-linéaire s’il est réunion finie d’ensembles linéaires.1.2. Soit L ⊆ a∗ un langage rationnel, montrer que {i, ai ∈ L} est semi-linéaire.1.3. En déduire que pour tout langage L rationnel, l’ensemble λ(L) = {|w|,w ∈ L} estsemi-linéaire.Exer i e 2 Non équivalen e des Lemmes d'itérationDans cet exercice, nous allons considérer les trois versions du Lemme de l’étoile :

1. Si L est un langage reconnu par automate fini, alors

∃n ∈ N ∀u ∈ L, |u| ≥ n ∃v, t,w ∈ Σ∗ u = vtw, |t| > 0, ∀m ∈ N vtmw ∈ L

2. Si L est un langage reconnu par automate fini, alors

∃n ∈ N ∀ω = rus ∈ L, |u| ≥ n ∃v, t,w ∈ Σ∗ u = vtw, |t| > 0, ∀m ∈ N rvtmws ∈ L

3. Si L est un langage reconnu par automate fini, alors

∃n ∈ N ∀u = ru1u2 . . . uns ∈ L, |ui| ≥ 1 ∃1 ≤ i < j ≤ n ∀m ∈ N ru1 . . . ui−1(ui . . . uj)muj+1 . . . uns ∈ L2.1. Soit L = {ω ∈ {a, b}∗ | |ω|a = |ω|b}, montrer que L vérifie le Lemme 1 mais pas le

Lemme 2.2.2. Soit L′ = {(ab)n(cd)n | n ∈ N} ∪ Σ∗(aa + bb + cc + dd + ac + bd)Σ

∗, avec Σ ={a, b, c, d}. Montrer que L′ vérifie le Lemme 2 mais pas le Lemme 3.

1

Page 2: TD3 langages rationnels - pagesperso.lina.univ-nantes.frpagesperso.lina.univ-nantes.fr/~delahaye-b/lf2009/TD3_langages... · MIT 1 Mo dule Langages F o rmels TD 3 Exercice 3 Langages

MIT 1 Module Langages Formels TD 3Exer i e 3 Langages rationnels3.1. Soit L un langage rationnel sur un alphabet Σ. Montrer que les langages suivantssont rationnels.

1. CYCLE(L) = {x1x2, x1, x2 ∈ Σ∗ et x2x1 ∈ L}

2. INIT(L) = {x ∈ Σ∗, ∃y ∈ Σ

∗, xy ∈ L}

3. MAX(L) = {x ∈ L, ∀y 6= ǫ, xy 6∈ L}

4. MIN(L) = {x ∈ L, aucun préfixe propre de x n’est dans L}

5. L = {x, x ∈ L}

6. 12L = {x ∈ Σ

∗, ∃ y ∈ Σ∗ avec xy ∈ L et |y| = |x|}

7. SQRT(L) = {x ∈ Σ∗, ∃ y ∈ Σ

∗ avec xy ∈ L et |y| = |x|2}3.2. Montrer que pour un langage L rationnel le langage suivant n’est pas nécessairementrationnel.

BORD(L) = {w ∈ Σ∗, ∃x, y, z ∈ Σ

∗, |x| = |y| = |z|,w = xz et xyz ∈ L}Exer i e 4 Le barman aveugleOn dispose de 4 jetons, chacun ayant une face bleue et une face rouge. Un joueur (lebarman) a les yeux bandés. Son but est de retourner les 4 jetons sur la même couleur(dès que les 4 jetons sont retournés, la partie s’arrête et le barman a gagné). Pour cela, ilpeut retourner à chaque tour 1,2 ou 3 jetons. Un autre joueur perturbe le jeu en tournantle plateau sur lequel reposent les jetons d’un quart de tour, d’un demi-tour ou de troisquarts de tour entre chaque opération du barman. En utilisant une modélisation par desautomates, montrer que le barman a une stratégie gagnante, c’est-à-dire que quoi quefasse le tourneur de plateau, il a moyen de gagner.

Exer i e 5 La méthode de ThompsonOn décide d’ajouter aux automates non déterministes la possibilité d’utiliser des ε-transitions. ε est une étiquette de transition qui correspond au mot vide.

Par exemple, b ∈ L(A), avec A l’automate ci-dessous.

2

Page 3: TD3 langages rationnels - pagesperso.lina.univ-nantes.frpagesperso.lina.univ-nantes.fr/~delahaye-b/lf2009/TD3_langages... · MIT 1 Mo dule Langages F o rmels TD 3 Exercice 3 Langages

MIT 1 Module Langages Formels TD 32

3

a b

εb

10

b a

5.1. Proposer un algorithme de déterminisation des automates finis à ε-transitions et l’ap-pliquer sur l’exemple ci-dessus.5.2. Montrer que tout automate fini non déterministe est équivalent à un automate fininon déterministe ayant un unique état initial et un unique état final.5.3. Soient A et B deux automates finis. Construire des automates reconnaissant

1. L(A).L(B)

2. L(A) ∪ L(B)

3. L(A)∗

3