• Aucun résultat trouvé

2 Non équivalence des lemmes de pompage

N/A
N/A
Protected

Academic year: 2022

Partager "2 Non équivalence des lemmes de pompage"

Copied!
5
0
0

Texte intégral

(1)

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

10 octobre 2019 NathanGrosshans

TD 3 – Rationalité, minimisation et monoïdes

1 Rationalité

Exercice 1.Les langages suivants sont-ils rationnels ? Justifier.

1. {anbn|n∈N}.

2. {ambn|n≡m (modd)}pour un d∈N>0 donné.

3. {ap |ppremier}.

4. {aP(n) |n∈N} pour P un polynôme à coefficients dans N.

5. {w∈ {a, b, c} |(|w|a= 0)⇒(|w|b = 0)}. 6. {w∈ {a, b}| |w|a<|w|b}.

7. {w∈ {a, b}|7 divise |w|a,3 divise |w|b}. 8. {w∈ {(,)}|w est bien parenthésé}. Solution 1.

1. Non, car d’après le lemme de pompage pourm suffisamment grand, on aurait que ambm dans le langage se décomposerait commeambm=uvwavecv6=ε,|uv| ≤m etuvkwdans le langage pour tout k. On aurait doncv=adavec d >0, ce qui impliquerait queuw=am−dbm est dans le langage.

2. Oui, c’est le langageL Pd−1

r=0ar(ad)br(bd) .

3. Non, car d’après le lemme de pompage pour p suffisamment grand, on aurait que ap dans le langage se décomposerait comme ap =uvw avec v 6=ε et uvxw dans le langage pour tout x. On aurait doncv =ad avec d >0, ce qui impliquerait que uvp+1w=ap−d+(p+1)d=ap(d+1) est dans le langage, sachant que p(d+ 1)n’est pas premier.

4. SiP est un polynôme de degré0, de la formeP(X) =c0, alors le langage est rationnel, puisqu’il s’agit de L(ac0).

SiP est un polynôme de degré1, de la formeP(X) =c1X+c0, alors le langage est également rationnel, puisqu’il s’agit deL((ac1)ac0).

Si P est un polynôme de degré k ≥ 2, de la forme P(X) = ckXk+· · ·+c1X1 +c0, alors le langage n’est pas rationnel. Sinon, d’après le lemme de pompage pour n suffisamment grand, on aurait queaP(n)dans le langage se décomposerait commeaP(n) =uvwavec v6=ε,|uv| ≤n etuvkwdans le langage pour toutk. On aurait doncv=adavec0< d≤n, ce qui impliquerait queuv2w=aP(n)+d est dans le langage, sachant queP(n+ 1)−P(n)> n≥d.

5. Oui, c’est le langageL(c+ (b+c)a(a+b+c)).

6. Non, car d’après le lemme de pompage pour nsuffisamment grand, on aurait queanbn+1 dans le langage se décomposerait commeanbn+1 avec v6=ε,|uv| ≤netuvkw dans le langage pour tout k. On aurait donc v =ad avec d >0, ce qui impliquerait que uv2w=an+dbn+1 est dans le langage, sachant que n+d≥n+ 1.

7. Oui, c’est le langageL b((ab)7)

∩ L a((ba)3).

8. Non, car d’après le lemme de pompage pour n suffisamment grand, on aurait que (n)n dans le langage se décomposerait comme(n)n=uvw avec v 6=ε, |uv| ≤n et uvkw dans le langage pour tout k. On aurait donc v= (d avec d >0, ce qui impliquerait que uw = (n−d)n est dans le langage, sachant que n−d < n.

(2)

2 Non équivalence des lemmes de pompage

Soit les trois versions qui suivent du lemme de pompage.

1. Soit Lun langage rationnel sur un alphabet Σ. Alors

∃n∈N>0,∀u∈L:|u| ≥n⇒ ∃v, t, w∈Σ u=vtw |t|>0 ∀m∈N vtmw∈L . 2. Soit Lun langage rationnel sur un alphabet Σ. Alors

∃n∈N>0,∀rus∈L:|u| ≥n⇒ ∃v, t, w∈Σ u=vtw |t|>0 ∀m∈N rvtmws∈L. 3. Soit Lun langage rationnel sur un alphabet Σ. Alors

∃n∈N>0,∀ru1· · ·uns∈L:

(∀i,|ui| ≥1)⇒ ∃1≤i < j ≤n ∀m∈N ru1· · ·ui(ui+1· · ·uj)muj+1· · ·uns∈L . Exercice 2.Montrer que L={w∈ {a, b} | |w|a=|w|b} vérifie le lemme 1 mais pas le lemme 2.

Solution 2.Pour tout mot u ∈ L tel que |u| ≥ 1, on peut nécessairement décomposer u comme u=vtw avec t∈ {ab, ba}, qui est une décomposition vérifiant que vtmw∈L pour toutm∈N. Donc L vérifie le lemme 1.

Supposons maintenant que L vérifie le lemme 2 pour un certain n ∈ N>0. On aurait donc que rus = anbn ∈ L pour r = an, u = bn et s = ε vérifierait que u se décomposerait comme u = vtw avec |t| > 0 et vtkw ∈ L pour tout k. On aurait donc t = bd avec d > 0, ce qui impliquerait que anbn−d=rvws∈L, sachant que n−d < n. DoncL ne vérifie pas le lemme 2.

Exercice 3.Montrer que L={(ab)n(cd)n|n∈N} ∪ L(Σ(aa+bb+cc+dd+ac+bd)Σ) vérifie le lemme 2 mais pas le lemme 3.

Solution 3.Pour tout mot rus∈Ltel que |u| ≥3, deux cas peuvent survenir.

Si rus ∈ L(Σ(aa+bb+cc+dd+ac+bd)Σ), alors il existe x ∈ L(aa+bb+cc+dd+ac+bd) apparaissant en tant que facteur dans rus : puisque |u| ≥3, on peut toujours décomposer u comme u =vtw avec t contenant une seule lettre de manière à ce que, pour tout m∈ N,rvtmws contienne toujoursx comme facteur et, par voie de conséquence, appartienne àL.

Si rus = (ab)n(cd)n pour un certain n ∈ N>0, alors, puisque |u| ≥ 3, on peut nécessairement décomposer u comme u = vtw avec t contenant une seule lettre, |v| ≥ 1 et |w| ≥ 1. Ceci est une décomposition vérifiant que vtmw ∈ L pour tout m ∈ N, puisque comme |rv| ≥ 1 et |ws| ≥ 1, si m= 0, alors rvws contient nécessairement aa, bb,ac,bd,cc ou dd comme facteur, et sim ≥2, alors rvtmws contient nécessairementaa,bb,cc ou ddcomme facteur.

Donc L vérifie le lemme 2.

Supposons maintenant que L vérifie le lemme 3 pour un certain n ∈ N>0. On aurait donc que ru1· · ·uns = (ab)n(cd)n pour r = (ab)n, u1 = · · · = un = cd et s = ε vérifierait qu’il existe 1 ≤ i < j ≤ n tels que ru1· · ·ui(ui+1· · ·uj)muj+1· · ·uns ∈ L. On aurait donc que (ab)n(cd)n−j+i = ru1· · ·uiuj+1· · ·uns∈L, sachant quen−j+i < n.

Donc L ne vérifie pas le lemme 3.

3 Quotients, théorème de Myhill-Nerode

Soit Σun alphabet. Étant donné un langageL surΣ etu∈Σ on définit :

— lequotient à gauche deLparu, notéu−1L, comme étant le langage surΣtel queu−1L={w∈ Σ|uw∈L};

— le quotient à droite deL paru, notéLu−1, comme étant le langage sur Σtel que Lu−1 ={w∈ Σ|wu∈L}.

(3)

Exercice 4.Montrer qu’un langageLsur un alphabetΣest rationnel si et seulement s’il a un nombre fini de quotients à gauche, c’est-à-dire que {u−1L|u∈Σ} est fini.

Solution 4.Soit un langage rationnelLsur un alphabetΣ. Il existe donc un AFDA= (Q,Σ, δ, q0, F) tel queL(A) =L. Étant donnéu∈Σ, on a que

u−1L={w∈Σ |uw∈L}={w∈Σ |δ(qˆ 0, uw)∈F}={w∈Σ |ˆδ(ˆδ(q0, u), w)∈F} . On peut donc associer tout quotient gauche u−1L pour u ∈ Σ à un état qu ∈ Q tel que pour tout w ∈Σ, w ∈u−1L ⇔ ˆδ(qu, w) ∈F. Par conséquent, si qu = qv pour u, v ∈Σ, on a nécessairement que u−1L=v−1L, ce qui implique que le nombre de quotients à gauche deL est fini par finitude de Q. Soit maintenant un langage L sur un alphabet Σ ayant un nombre fini de quotients à gauche.

Observons que pour tous u, v ∈ Σ, si u−1L = v−1L, alors (ua)−1L = (va)−1L pour tout a ∈ Σ, puisque, pour chaquew∈Σ,

w∈(ua)−1L⇔uaw∈L⇔(aw)∈u−1L⇔(aw)∈v−1L⇔vaw∈L⇔w∈(va)−1L . Construisons l’AFD AL= ({u−1L|u∈Σ},Σ, δL, L,{u−1L|u∈Σ, ε∈u−1L}) oùδL:{u−1L|u∈ Σ} ×Σ→ {u−1L|u∈Σ} est telle que pour toutu∈Σ et a∈Σ,δL(u−1L, a) = (ua)−1L (qui est bien définie en vertu de l’observation que nous venons de faire). On peut montrer, par récurrence sur la longueur dew, queδˆL(L, w) =w−1Lpour tout w∈Σ, ce qui implique que quel que soitw∈Σ,

δˆL(L, w)∈ {u−1L|u∈Σ, ε∈u−1L} ⇔ε∈w−1L⇔w∈L . Par conséquent,L(A) =L, et doncL est rationnel.

Exercice 5.Montrer que pour tout langage rationnelLsur un alphabetΣ, tout AFD le reconnaissant contient au moins

{u−1L|u∈Σ}

états, que ce minorant est atteint et que tous les AFD avec ce nombre minimal d’états sont équivalents à « renommage » des états près (ce qui nous autorise à parler de « l’automate minimal de L»).

Solution 5.Soit Lun langage rationnel sur un alphabet Σ.

Pour tout AFD A = (Q,Σ, δ, q0, F) émondé (c’est-à-dire, dont chacun des états est accessible depuis l’état initial) reconnaissant L, on peut définir la fonction fA:Q→ {u−1L |u ∈Σ} telle que fA(q) = {w ∈Σ |δ(q, w)ˆ ∈F}, qui est égal, pour tout u ∈Σ tel que δ(qˆ 0, u) = q, à u−1L={w∈ Σ |δ(q, w)ˆ ∈F}. Quel que soit q∈Q, il existe au moins un telu∈Σ, puisqueA est émondé, donc fA est bien définie. En outre, par construction, on a que u−1L = fA(ˆδ(q0, u)) pour tout u ∈ Σ, ce qui montre quefA est surjective. On en conclut donc, par finitude de Q, que

{u−1L|u∈Σ} ≤ |Q|. Notons que, bien évidemment, cette inégalité est aussi vraie pour tout AFD non émondé reconnaissant L. L’AFD AL= ({u−1L|u∈Σ},Σ, δL, L,{u−1L|u∈Σ, ε∈u−1L}) donné par la construction de l’exercice précédent nous permet de montrer que ce minorant est atteint.

Soit maintenant un AFD A = (Q,Σ, δ, q0, F) avec le nombre minimal d’états

{u−1L|u∈Σ} . Sachant qu’il est nécessairement émondé, on a que la fonction fA:Q→ {u−1L|u∈Σ} définie plus haut est donc bijective, en plus de vérifier que :

— fA(q0) =L;

— fA(δ(q, a)) =δL(fA(q), a) pour touta∈Σ;

— fA(F) ={u−1L|u∈Σ, ε∈u−1L}.

A est donc équivalent àALà « renommage » des états près (donné par la fonction fA).

4 Algorithme de Brzozowski

Soit Σun alphabet.

Étant donné un mot w∈ Σ, on définit le mot renversé de w, notéwR, comme étant wR =ε si w=εetwR=an· · ·a1 siw=a1· · ·an pour n∈N>0.

(4)

Étant donné un langageLsurΣ, lerenversé deL, notéLR, est simplement le langageLR ={wR| w∈L}.

Pour tout AFD A= (Q,Σ, δ, q0, F), on définit l’AFN AR = (Q,Σ, δR, F,{q0}) où δR:Q×Σ → P(Q) est telle que δR(q, a) = {p ∈ Q | δ(p, a) = q} pour tous q ∈ Q et a ∈ Σ. (Précisons que, dans cette section, nous autoriserons les AFN à avoir un ensemble non vide d’états initiaux au lieu d’uniquement un seul et que nous les interdirons d’avoir des ε-transitions).

On dira enfin qu’un AFD estémondé lorsque chacun de ses états est accessible depuis l’état initial.

Exercice 6.Soit Lun langage surΣetAun AFD émondé le reconnaissant. Montrer que ARest un AFN reconnaissantLR.

Solution 6.Posons A= (Q,Σ, δ, q0, F).

Il est direct de voir que pour tous n ∈ N>0, p0, p1, . . . , pn ∈ Q et a1, . . . , an ∈ Σ, on a que δ(pi−1, ai) =pi pour tousi∈[[1, n]] si et seulement si pi−1 ∈δR(pi, ai) pour tousi∈[[1, n]].

Par conséquent, pour tousq, p∈Qetw∈Σ, on a queδ(q, w) =ˆ psi et seulement siq∈δˆR(p, wR).

Cela permet de conclure queAR reconnaît LR.

Pour tout AFN B = (Q,Σ, δ, S, F), on notera BD l’AFD obtenu de B par la construction par sous-ensembles, c’est-à-dire la version émondée de l’AFD(P(Q),Σ, δ0, S,{P ⊆Q|P ∩F 6=∅}), où δ0 est telle queδ0(P, a) =S

q∈Pδ(q, a)pour tous P ⊆Q eta∈Σ.

Exercice 7.Soit L un langage sur Σ et A = (Q,Σ, δ, q0, F) un AFD émondé le reconnaissant.

Considérons l’AFD (AR)D = (Q0,Σ, δ0, q00, F0), qui reconnaît LR. Montrer que pour tous u, v ∈ Σ, Lu−1 =Lv−1 implique que δˆ0(q00, uR) = ˆδ0(q00, vR).

Solution 7.Posons AR= (Q,Σ, δR, F,{q0}). On a alors que q00 =F.

Soit u, v∈ Σ tels queLu−1 = Lv−1. Puisque δˆ0(q00, uR) et δˆ0(q00, vR) sont des sous-ensembles de Q, on va montrer que tout élément dans l’un est aussi dans l’autre et vice versa.

Soit donc q ∈ δˆ0(q00, uR). Puisque q00 = F, cela veut donc dire qu’il existe p ∈ F tel que q ∈ δˆR(p, uR). Par ce qui a été montré dans l’exercice précédent, il s’ensuit queδ(q, u) =ˆ p. Or, A étant émondé, il existe nécessairementw∈Σ tel queδ(qˆ 0, w) =q, qui vérifie donc queδ(qˆ 0, wu) =p∈F. Cela implique que wu∈L, autrement dit que w ∈Lu−1. Mais puisque Lu−1 = Lv−1, on a wv ∈ L et il doit donc exister p0 ∈F tel quep0 = ˆδ(q0, wv) = ˆδ(ˆδ(q0, w), v) = ˆδ(q, v). Par ce qui a été montré dans l’exercice précédent, il s’ensuit que q ∈ δˆR(p0, vR), et on peut donc conclure queq ∈δˆ0(q0, vR), puisque p0 ∈F =q00.

On montre de manière symétrique que tout q dans δˆ0(q00, vR) appartient aussi àδˆ0(q00, uR).

Exercice 8.En déduire que pour tout langage L sur Σ et AFD émondé A le reconnaissant, (AR)D est l’automate minimal reconnaissant LR.

Solution 8.Posons A= (Q,Σ, δ, q0, F) et(AR)D = (Q0,Σ, δ0, q00, F0).

Soit u, v∈Σ tels queu−1LR=v−1LR. On observe que pour toutw∈Σ, on a

wuR∈L⇔uwR ∈LR⇔wR∈u−1LR ⇔wR∈v−1LR⇔vwR∈LR⇔wvR∈L,

d’où il s’ensuit que L(uR)−1 = L(vR)−1. Par ce qui a été démontré dans l’exercice précédent, cela implique donc queδˆ0(q00, u) = ˆδ0(q00, v).

Il s’ensuit que |Q| ≤

{u−1LR|u∈Σ}

, et que donc, par le résultat de la section précédente, l’AFD(AR)D est minimal.

Exercice 9.Proposer un algorithme de minimisation se basant sur le résultat précédent et en discuter la complexité.

Solution 9.Étant donné un AFD A, il suffit de calculer(((AR)D)R)D.

Considérons pour tout n∈N>0 le langageLn=L (a+b)n−1a(a+b) : bien que l’AFD minimal de Ln ait n+ 1états, on sait que l’AFD minimal de LRn =L (a+b)a(a+b)n−1

a 2n états. Il peut donc falloir un temps exponentiel en le nombre d’états de l’AFD donné en entrée à cet algorithme pour effectuer la minimisation.

(5)

5 Reconnaissance par monoïdes

Unmonoïdeest la donnée(M, ?)d’un ensembleM et d’une loi de composition interne?:M×M → M tels que

— ? est associative :∀x, y, z∈M,(x ? y)? z =x ?(y ? z);

— ? a un élément neutre :∃e∈M,∀m∈M, e ? m=m ? e=m.

Il est classique de montrer que cet élément neutre est unique, et on le notera donc1(M,?).

SiΣest un alphabet, l’ensemble de tous les motsΣ muni de la concaténation·forme un monoïde (Σ,·) dont l’élément neutre est le mot vide, appelé le monoïde libre engendré parΣ.

Étant donné deux monoïdes (M, ?) et(N,⊥), un morphisme de(M, ?) dans(N,⊥) est une appli- cationϕ:M →N telle que :

— ∀m1, m2 ∈M, ϕ(m1)⊥ϕ(m2) =ϕ(m1? m2);

— ϕ(1(M,?)) = 1(N,⊥).

Si Σest un alphabet, on dira qu’un monoïde(M, ?)reconnaît un langage Lsur Σsi et seulement s’il existe un morphisme ϕ: Σ → M de (Σ,·) dans (M, ?) tel que L = ϕ−1(P) pour un certain P ⊆M.

Exercice 10. Montrer que si un langage est reconnu par un monoïde fini, alors il est rationnel.

Solution 10. SoitLun langage sur un alphabetΣet(M, ?)un monoïde fini le reconnaissant. Il existe donc un morphisme ϕ: Σ →M de(Σ,·) dans (M, ?) tel queϕ−1(P) =L pour un certain P ⊆M.

Construisons l’AFD A = (M,Σ, δ,1(M,?), P) où δ:M ×Σ → M est tel que δ(m, a) = m ? ϕ(a) pour tousm∈M eta∈Σ. On peut montrer que pour toutw∈Σ,δ(1ˆ (M,?), w) =ϕ(w), et que donc, pour toutw∈Σ,

w∈ L(A)⇔δ(1ˆ (M,?), w)∈P ⇔ϕ(w)∈P ⇔w∈ϕ−1(P) =L. Par conséquent,A reconnaîtL, et on en conclut donc queL est rationnel.

Exercice 11. Montrer que si un langage est rationnel, alors il est reconnu par un monoïde fini.

Solution 11. SoitLun langage rationnel sur un alphabetΣ. Il existe donc un AFDA= (Q,Σ, δ, q0, F) reconnaissant L.

Considérons le monoïde fini (QQ,◦), où ◦ dénote la composition des fonctions de Q dans Q (en les appliquant cela dit de la gauche vers la droite). Comme (Σ,·) est précisément le monoïde libre engendré par Σ, on peut définir un morphisme ϕ: Σ → QQ comme étant l’unique morphisme de (Σ,·)dans(QQ,◦)tel que, pour touta∈Σ,ϕ(a) =fa oùfa:Q→Qvérifie quefa(q) =δ(q, a) pour tout q ∈Q. Posons également P ={f ∈QQ | f(q0) ∈ F}. On peut montrer que pour tout w ∈Σ, ϕ(w) =f oùf:Q→Q vérifie quef(q) = ˆδ(q, w) pour toutq ∈Qet que donc, pour tout w∈Σ,

w∈L⇔δ(qˆ 0, w)∈F ⇔(ϕ(w))(q0)∈F ⇔ϕ(w)∈P ⇔w∈ϕ−1(P) . On en conclut donc que le monoïde fini (QQ,◦) reconnaît L.

Exercice 12. Montrer, en utilisant ce résultat, que le langage {w ∈ {a, b} | |w|a =|w|b} n’est pas rationnel. Donner un monoïde permettant de le reconnaître.

Solution 12. PosonsL={w∈ {a, b}| |w|a=|w|b}.

Soit (M, ?)un monoïde reconnaissant L. Il existe donc un morphismeϕ: Σ→M de (Σ,·) dans (M, ?)tel que ϕ−1(P) =Lpour un certain P ⊆M.

Pour tousn, m∈N, n6=m, on a queanbn∈Ltandis queambn∈/L, ce qui implique queϕ(anbn)∈ P tandis queϕ(ambn) /∈ P, et donc, par voie de conséquence, que nécessairement ϕ(an) 6=ϕ(am). Il s’ensuit que l’ensemble {ϕ(an) |n ∈N} ⊆ M est infini, et que donc le monoïde (M, ?) ne peut être fini.

Par ce qui a été montré plus haut, L n’est donc pas rationnel.

Un monoïde le reconnaissant est (Z,+), en utilisant l’unique morphisme ϕ: {a, b} → Z de ({a, b},·)dans (Z,+) tel queϕ(a) = 1etϕ(b) =−1, qui vérifie queL=ϕ−1({0}).

Références

Documents relatifs

Donc, dans l'enseignement universel, la principale mission du maître est de faire naître et d'entretenir constamment cette volonté dans les élèves ; car l'attention

[r]

Il existe une conjecture (dite de Syracuse) qui dit que quelque soit l'entier choisi au départ, on nit toujours par trouver 1 au bout d'un certain nombre d'étapes.. En admettant que

Soit OABC un tétraèdre, et A', B' et C' trois points appartenant respectivement aux arêtes [OA], [OB] et [OC]. Soit G le barycentre du triangle ABC, et G' celui du triangle

[r]

[r]

Sur le nombre de normales réelles que l’on peut mener d’un point donné à un ellipsoïde.. Nouvelles annales de mathématiques 2 e série, tome 11

D'un point donné, on peut mener à l'ellipsoïde un nombre de normales réelles égales à six, quatre ou deux, suivant que le point se trouve à l'intérieur des surfaces Fj et F 2&gt;