• Aucun résultat trouvé

1Constructiond’AFD TD1–Langages,AFDetAFN

N/A
N/A
Protected

Academic year: 2022

Partager "1Constructiond’AFD TD1–Langages,AFDetAFN"

Copied!
4
0
0

Texte intégral

(1)

Langages formels, calculabilité et complexité ENS Paris – A1S1 2019-2020

26 septembre 2019 NathanGrosshans

TD 1 – Langages, AFD et AFN

1 Construction d’AFD

Exercice 1.Pour chacun des langages suivants, donner un automate fini déterministe (AFD) le re- connaissant.

1. Les mots sur l’alphabet {a, b}contenant le facteur aab ou aaab.

2. Les mots sur l’alphabet {a, b}contenant un nombre pair de aet impair de b.

3. Les mots sur l’alphabet {a}de longueur multiple de3.

4. Pour chaqued∈Nles mots sur l’alphabet{a} de longueur multiple ded.

5. Les représentations binaires d’entiers pairs. Ici entier est entendu au sens positif et les nombres sont donnés dans l’ordre gros-boutiste (c’est-à-dire l’ordre normal de lecture des nombres : 1 puis 0puis 1 puis0 puis1 puis 0c’est le nombre binaire 101010 soit42 en décimal).

6. Pour chaqued∈N, les représentations binaires des entiers multiples ded.

7. Pour chaque(d, c)∈N2, les représentations binaires des entiers de la formec+k·dpourk∈N.

Solution 1.

1. On construit l’automate suivant :

start 1 2 3 4

a b

a b

a b

a, b

. 2. On construit l’automate suivant :

start 1 2

3 4

a

b

a a b b

a

b

.

3. On construit l’automate suivant : start 0

1 2

a a a

.

4. On distingue trois cas :

1

(2)

— d= 0 :

start 1 a 2

a

.

— d= 1 :

start 1

a

.

— d≥2 :

(Q,{a}, δ, q0,{q0})avec Q={q0, . . . , qd−1} etδ(qi, a) =q(i+1) modd pour tousi∈[[0, d−1]]

eta∈Σ.

5. On construit l’automate suivant :

start 1 0 2 3

1 0

1

0 1

. 6. On distingue trois cas :

— d= 0 :

start 1 0 2 3

1 0

1 0,1

.

— d= 1 :

start 1 0,1 2

0,1

.

— d≥2 :

(Q,{0,1}, δ, s,{q0}) avec Q={s, q0, . . . , qd−1}etδ:Q×Σ→Q telle que :

— δ(s, b) =qb pour tous b∈ {0,1};

— δ(qi, b) =q(2i+b) modd pour tousi∈[[0, d−1]]etb∈ {0,1}. 7. On distingue deux cas :

— d= 0 :

(Q,{0,1}, δ, s,{qc}) avec Q={s, q0, . . . , qc, qc+1} etδ:Q×Σ→Qtelle que :

— δ(s, b) =qb pour tout b∈ {0,1};

— δ(qi, b) =

(q2i+b si2i+b≤c

qc+1 sinon pour tousi∈[[0, d−1]]etb∈ {0,1}. 2

(3)

— d≥1 :

(Q,{0,1}, δ, s,{qc,c modd}) avec Q = {s} ∪ {qt,r | (t, r) ∈ {0, . . . , c} × {0, . . . , d−1}} et δ:Q×Σ→Q telle que :

— δ(s, b) =

(qb,b modd sic≥1

qc,b modd sinon pour toutb∈ {0,1};

— δ(qt,r, b) =

(q2t+b,(2r+b) modd si 2t+b≤c

qc,(2r+b) modd sinon pour tous(t, r)∈ {0, . . . , c} × {0, . . . , d−1}

etb∈ {0,1}.

2 Puzzles

Exercice 2.Pour tout alphabetΣ, donner l’ensemble des mots (x, y)∈(Σ)2 tels que xy=yx.

Solution 2.Il s’agit de l’ensemble de toutes les paires de mots(x, y)∈(Σ)2telles qu’il existeu∈Σ eti, j∈Ntels que x=ui ety=uj.

La démonstration se fait par récurrence sur |xy|, en observant que soitx =ε ou y=ε, soit, sans perte de généralité, |x| ≥ |y| et on peut montrer qu’alors x = yz avec z ∈ Σ, ce qui implique que zy =yz avec |zy|<|xy|.

Exercice 3.Expliciter la forme des langages rationnels unaires (c’est-à-dire, sur un alphabet à une lettre).

Solution 3.SiΣ = {a} est l’alphabet, ce sont les langages qui sont des unions finies, pourk∈Net p ∈ N>0 fixés, de langages de la forme {ai} pour i∈ N, i < k et{aj |j ∈ N, j ≥k∧j ≡r modp}

pour r∈[[0, p−1]].

3 Rationalité

Exercice 4.Étant donné un langage rationnelLsur un alphabetΣ, prouver que les langages suivants sont rationnels.

1. Init(L) ={u∈Σ | ∃v∈Σ, uv∈L}.

2. M in(L) ={w∈L|@u∈L, u préfixe propre dew}. 3. M ax(L) ={w∈L| ∀u∈Σ, wu∈L⇒u=ε}. 4. Cycle(L) ={uv ∈Σ |vu∈L}.

5. 12L={u∈Σ | ∃v∈Σ, uv∈L∧ |v|=|u|}. Solution 4.

1. Soit A = (Q,Σ, δ, q0, F) un AFD qui reconnaît L, soit F0 l’ensemble des états co-accessibles, c’est à dire les états q∈Q tels qu’il existe w∈Σ vérifiantδ(q, w)ˆ ∈F.

On a que l’AFD(Q,Σ, δ, q0, F0) reconnaît Init(L).

2. Soit A = (Q,Σ, δ, q0, F) un AFD qui reconnaît L. On supprime juste toutes les transitions sortant des états deF pour obtenir un AFN reconnaissantM in(L).

3. Soit A = (Q,Σ, δ, q0, F) un AFD qui reconnaît L. On limite les états finaux de A aux états finaux qui ne sont pas co-accessibles autrement que par le mot vide pour obtenir un AFD reconnaissant M ax(L).

4. Soit A= (Q,Σ, δ, q0, F) un AFD qui reconnaîtL.

On suppose queε∈/ Σet on définit Q0 ={q0} ∪Q×Q× {0,1}. On définitδ0:Q0×(Σ∪ {ε})→P(Q0) de la manière qui suit :

— pour tout a∈Σ,δ0(q0, a) =∅ etδ0(q0, ε) =∪q∈Q{(q, q,0)};

3

(4)

— pour tous a∈Σ,q, p∈Q,δ0((q, p,0), a) ={(δ(q, a), p,0)} et

δ0((q, p,0), ε) =

(∅ si q∈/ F (q0, p,1) sinon ;

— pour tous a∈Σ,q, p∈Q,δ0((q, p,1), a) ={(δ(q, a), p,1)} etδ0((q, p,1), ε) =∅. On a que l’AFN(Q0,Σ, δ0, q0,∪q∈Q{(q, q,1)}) reconnaît Cycle(L).

5. Soit A= (Q,Σ, δ, q0, F) un AFD qui reconnaîtL.

On suppose queε∈/ Σet on définit Q0 ={q0} ∪Q3.

On définitδ0:Q0×(Σ∪ {ε})→P(Q0) de la manière qui suit :

— pour tout a∈Σ,δ0(q0, a) =∅ etδ0(q0, ε) =∪q∈Q{(q0, q, q)};

— pour tous a∈Σ,(q, p, r)∈Q30((q, p, r), a) =S

b∈Σ{(δ(q, a), p, δ(r, b))} etδ0((q, p, r), ε) =

∅.

On a que l’AFN(Q0,Σ, δ0, q0,∪(q,r)∈Q×F{(q, q, r)})reconnaît 12L.

4 Caractérisations

Soit Σun alphabet.

Étant donné un AFD A = (Q,Σ, δ, q0, F), un état q ∈ Q est dit co-accessible si et seulement s’il existew∈Σ vérifiantδ(q, w)ˆ ∈F; il est appelépuitslorsqueδ(q, a) =q pour touta∈Σ. On dira de plus queq se trouve dans un circuit lorsqu’il existe w∈Σ+ tel queδ(q, w) =ˆ q.

Exercice 5.Donner une condition nécessaire et suffisante pour qu’un langage sur Σsoit reconnu par un AFD dont les états co-accessibles non puits ne se trouvent dans aucun circuit.

Solution 5.Il faut que le langage soit une union finie de langages de la forme {uv |v ∈Σ} ou {u}

pour u∈Σ.

Exercice 6.Donner une condition nécessaire et suffisante pour qu’un AFD sur Σ reconnaisse un langage fini ou cofini.

Solution 6.Il faut que l’AFD vérifie que ses états co-accessibles non puits ne se trouvent dans aucun circuit et que ses états puits accessibles soient tous soit finaux, soit non finaux.

4

Références

Documents relatifs

Ici entier est entendu au sens positif et les nombres sont donnés dans l’ordre gros-boutiste (c’est-à-dire l’ordre normal de lecture des nombres : 1 puis 0 puis 1 puis 0 puis 1 puis

Ici entier est entendu au sens positif et les nombres sont donnés dans l’ordre gros-boutiste (c’est à dire l’ordre normal de lecture des nombres, 1 puis 0 puis 1 puis 0 puis 1 puis

[r]

Certains élèves ont travaillé à partir de photographies des paysages de Van Gogh, imaginant Vincent avec son vélo, son chevalet et sa palette en train de peindre dans les

Quelle est la plus petite variation d’énergie pour une particule passant d’un niveau à un

Les deux nombres m et n ayant même longueur, on ne peut obtenir que des valeurs de k comprises entre 2 et 9 strictement.. Enfin, voici les solutions trouvées avec seulement k=4

Il confie à Puce une règle et un compas et lui demande de tracer des cercles et leurs centres à condition que chaque cercle soit circonscrit à un triangle dont les trois sommets

[r]