• 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

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]

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

[r]