• Aucun résultat trouvé

Les langages.

N/A
N/A
Protected

Academic year: 2022

Partager "Les langages."

Copied!
34
0
0

Texte intégral

(1)

1

Les langages.

Dans tous les exercices,Ad´esigne un alphabet quelconque.

La concat´enation.

Exercice 1.

a) Lalongueur|u|deu∈ Apeut se d´efinir par r´ecurrence de la fac¸on suivante :

|ε|= 0 |ux|=|u|+ 1pour toutu∈ Aet toutx∈ A. V´erifier que|u . v|=|u|+|v|.

b) Lenombre d’occurrences dea∈ Adansu∈ A, not´e|u|a, peut se d´efinir par r´ecurrence de la fac¸on suivante :

|ε|a= 0 |ux|a=

|u|a+ 1 six=a

|u|a sinon pour toutu∈ Aet toutx∈ A. V´erifier que|u . v|a=|u|a+|v|a.

Exercice 2. Lemme de L´evy.

Montrer que si les motsu,v,αetβ ∈ Av´erifient :uv =αβet|u| ≥ |α|, alors il existeδ ∈ Atel que u=αδetβ=δv.

Exercice 3. Langages commutatifs.

On dit queL⊆ Aestcommutatif ssi pour toutu∈Let toutv∈Lon auv=vu. a) V´erifier que, pour toutw∈ A, toutL⊆west commutatif.

b) R´eciproquement, montrer que pour toutL⊆ Acommutatif, il existew∈ Atel queL⊆w. Indications.Consid´erer le langageL⊆ Ad´efini par :v∈Lssiuv=vupour toutu∈L.

Montrer alors que toutw∈L−εde la plus petite longueur possible r´epond `a la question.

Exercice 4. Relation de conjugaison.

On consid`ere la relation binaireCsurAd´efinie par : C(u, v)ssi il existeγ∈ Atel que=γv. On dira queuetvsontconjugu´es lorsqu’ils v´erifientC(u, v).

a) Montrer que :C(u, v)ssi il existeγ∈ Atel que=γvet|u| ≥ |γ|. b) Montrer que :C(u, v)ssi il existeγ∈ Aetδ∈ Atels queu=γδetv=δγ.

c) On consid`ere l’applicationConj : A → P(A)d´efinie par :v Conj(u)ssiC(u, v), qui `a tout u ∈ Aassocie l’ensemble de ses conjugu´es et son extension aux langagesConj : P(A) → P(A), d´efinie pour chaqueL⊆ A, par :v∈Conj(L)ssi il existeu∈Ltel quev∈Conj(u).

Calculer

1) Conj(abab),

2) Conj(xAy)etConj(xAyAz)pour des ´el´ementsx,yetzquelconques deA.

(2)

Op´erations simples sur les mots et les langages.

Exercice 5. Facteurs gauches.

L’ensemblef g(u)desfacteurs gauches d’un motu∈ A, se d´efinit par la r´ecurrence suivante : f g(ε) =ε f g(ux) =f g(u) +uxpour toutu∈ Aet toutx∈ A. a) V´erifier que cette d´efinition est bien la bonne, c’est–`a–dire que

v∈f g(u)ssi il existew∈ Atel queu=vw. b) V´erifier quef g(uv) =f g(u) +uf g(v)pour toutu∈ Aet toutv∈ A.

c) L’applicationf g:A→ P(A), qui `a tout mot associe l’ensemble de ses facteurs gauches, s’´etend aux langages en une application pr´eservant les sommesf g:P(A)→ P(A), d´efinie pour chaqueL⊆ A, par

v∈f g(L)ssi il existeu∈Ltel quev∈f g(u). V´erifier que pour toutL⊆ Aet toutM ⊆ Aon a

siM =∅:f g(LM) =f g(L) +Lf g(M) et f g(L) =ε+Lf g(L). Exercice 6. Facteurs droits.

En mettant la d´efinition de l’ensemblef g(u)des facteurs gauches du motu∈ Adevant un miroir on peut obtenir facilement une d´efinition de l’ensemblef d(u)de sesfacteurs droits, par une r´ecurrence bas´ee sur l’ajout des lettres `a gauche :

f d(ε) =ε f d(xu) =xu+f d(u)pour toutx∈ Aet toutu∈ A.

Si l’on s’obstine `a vouloir ajouter les lettres `a droite, on est conduit `a poser la d´efinition par r´ecurrence suivante :

f d(ε) =ε f d(ux) =ε+f d(u)xpour toutx∈ Aet toutu∈ A. a) V´erifier que cette d´efinition est bien la bonne, c’est–`a–dire que

v∈f d(u)ssi il existew∈ Atel queu=wv. b) V´erifier quef d(uv) =f d(v) +f d(u)vpour toutu∈ Aet toutv∈ A. c) Exprimerf d(LM)etf d(L)pourL,M ⊆ Aquelconques.

Exercice 7. Facteurs.

L’ensemblef act(u)desfacteurs du motu∈ Apeut se d´efinir par r´ecurrence de la fac¸on suivante, si l’on ajoute des lettres “`a droite et `a gauche” :

f act(ε) =ε f act(x) =ε+xpout toutx∈ A,

f act(xuy) =xuy+f act(xu) +f act(uy)pour toutxety∈ Aet toutu∈ A.

Si l’on s’obstine `a vouloir ajouter les lettres `a droite, on est conduit `a poser la d´efinition par r´ecurrence suivante :

f act(ε) =ε f act(ux) =f act(u) +f d(u)xpout toutx∈ Aet toutu∈ A. a) V´erifier que cette d´efinition est bien la bonne, c’est–`a–dire que

v∈f act(u)ssi il existew∈ Aetw∈ Atels queu=wvw.

b) V´erifier quef act(uv) =f act(u) +f d(u)f g(v) +f act(v)pour toutu∈ Aet toutv∈ A. c) Exprimerf act(LM)etf act(L)pourL,M ⊆ Aquelconques.

Exercice 8. Facteurs stricts.

D´esignons parfl’une des applicationsf g,f detf actpr´ec´edentes.

a) Montrer que dans chaque cas on au∈f(u)pour toutu∈ A.

b) On d´efinit la version strictef sde chaquefpar :v∈f s(u)ssiv∈f(u)etv=u. Donner une d´efinition par r´ecurrence de chacune des applicationsf s.

c) Pour chaquef, exprimerf s(LM)etf s(L)pourL,M ⊆ Aquelconques.

M.M Institut Galil´ee 2000 Les langages.

(3)

Exercice 9.

Calculerf g(Li),. . .,f acts(Li)dans chacun des cas suivants : L1=ab={ambn|0≤met0≤n}

L2={ambm|0≤m}

L3={ambn |0≤m≤n}

L4={ambn |0≤m < n} L5={ambn |0≤n≤m} L6={ambn |0≤n < m}

o `uaetbsont des symboles distincts l’un de l’autre.

Exercice 10. Propri´et´es de l’it´eration.

a) Terminer la d´emonstration des propri´et´es 8) de l’it´eration, c’est–`a–dire, montrer que, quels que soient L⊆ AetM ⊆ A:

1) (L+M)(L+M) 2) (L+M)(LM) 3) (LM)⊆L(M L) 4) L(M L)(L+M)

b) Montrer que, quels que soientL⊆ AetM ⊆ A: 1) (LM)=ε+ (L+M)M

2) (LM)=ε+L(L+M) Exercice 11. M´elange de mots.

Cette op´eration consiste `a ins´erer de nouvelles occurrences de caract`eres `a un mot

a) M´elange de deux mots. Soitmel(u, v)l’ensemble des m´elanges deu ∈ Aetv ∈ Ad´efini par la (double) r´ecurrence suivante :

mel(u, ε) =u mel(ε, v) =v

mel(ux, vy) =mel(u, vy)x+mel(ux, v)y

1) Intuitivement,w∈mel(u, v)est un mot de longueur|u|+|v|obtenu en faisant “glisser” les caract`eres devdansu, en respectant leur ordre relatif. Pour s’en persuader, calculermel(abc, def).

2) V´erifier quemel(u, v) =mel(v, u).

b) M´elange de deux langages. L’applicationmel:A× A → P(A)se prolonge aux langages par : mel(L, M) =

(v,w)∈L×M

mel(v, w)

c’est–`a–dire :u∈mel(L, M)ssi il existev ∈Letw∈Mtels queu∈mel(v, w). Calculermel(a, b)etmel(ab, ab).

Exercice 12. Division `a gauche d’un langage par un autre.

Nous allons d´efinir une op´eration qui se pr´esente comme l’inverse de la concat´enation, mais qui ne tient ses promesses que dans des cas tr`es particuliers. La concat´enation n’´etant pas commutative, on doit envisager une division `a gauche et une division `a droite : nous n’envisagerons que la premi`ere (la seconde s’obtient en regardant la premi`ere dans un bon miroir).

Pour toutL⊆ Aet toutM ⊆ Aon d´efinitM−1L⊆ Apar

w∈M−1Lssi il existev∈M tel quevw∈L.

Quelle conditionMdoit–il satisfaire pour que l’on aitM(M−1L) =Lquel que soitL?

Consid´erons l’op´eration:A× A → P(A)d´efinie par la double r´ecurrence suivante : pour toutxet y∈ A, toutuetv∈ A

(4)

uε=u et u(vy) = (uv)y, εy= et (xu)y=u six=y,

sinon.

a) Montrer queuv=wssiu=vwpour toutu,vetw∈ A. En d´eduire queLM =M−1Lpour toutLetM ⊆ A. b) Montrer que pour toutL1,L2etL⊆ Aet touty∈ A:

(L1L2)y=

(L1y)L2+L2y siε∈L1

(L1y)L2 sinon et Ly= (Ly)L.

Ces ´egalit´es sont ´evidemment difficiles `a ´etendre au cas des mots et donc des langages!

Comme d’habitude, l’inversion d’une op´eration, mˆeme simple, est assez compliqu´ee (dans la section 6.2.2 du chapitre 2, on verra comment calculerM−1Ldans un cas particulier tr`es int´eressant).

Les substitutions.

Exercice 13.

Soienta,betctrois symboles distincts et soitL={ambmcm|0≤m}.

D´efinir pour chacun des langagesLici–dessous, une substitutionfv´erifiantf(L) =Li: L1={ambmam|0≤m}

L2={ambmc2m|0≤m}

L3={am|0≤m}

L4={b2ma3m|0≤m}

Exercice 14. Sous–mots.

L’effac¸age d’occurrences de caract`eres `a un mot est l’application de la substitutionsm : A → P(A) d´efinie parsm(x) =ε+xpour toutx∈ A. Pouru∈ A, toutv∈sm(u)est appel´e unsous–mot deu. 1) Calculersm(ababaa).

2) Montrer que :v∈sm(u)ssi il existew∈ Atel queu∈mel(v, w).

3) R´eciproquement, montrer queu∈sm(mel(u, v))pour toutu∈ Aet toutv∈ A. Exercice 15.

Soitf :A → P(B)une substitution.

a) Montrer quef(f g(u))⊆f g(f(u))pour toutu∈ A(la premi`ere apparition de l’application “facteur gauche”f gest relative aux mots surAalors que la seconde s’applique aux mots surB).

En utilisant une substitution telle quef(a) = f(b) = abo `uaetbsont des symboles distincts l’un de l’autre, montrer que l’inclusion inverse de la pr´ec´edente n’est pas n´ecessairement vraie.

b) Montrer que sifest alphab´etique, alors on af(f g(u)) =f g(f(u))pour toutu∈ A. c) Reprendre les questions pr´ec´edentes avec les op´erationsf d,. . .

Exercice 16. Application inverse d’une applicationf :A→ P(B).

L’application inverse defestf−1:B→ P(A)d´efinie pour toutu∈ Aetv∈ Bpar u∈f−1(v)ssiv∈f(u).

Remarque. Cette d´efinition est int´eressante maisf−1 n’a pas de propri´et´e simple! En particulier, elle s’applique `a une substitution (en consid´erant son extension aux mots) : mais, en g´en´eral, l’application inverse d’une substitution n’est pas une substitution, mˆeme dans des cas tr`es sp´eciaux (voir l’exercice suivant).

a) Montrer que, si l’on consid`ere l’extension def−1aux langages, on a : u∈f−1(M)ssif(u)∩M =∅ pour toutu∈ Aet toutM ⊆ B.

M.M Institut Galil´ee 2000 Les langages.

(5)

b) Comment cette propri´et´e s’exprime–t–elle pour un homomorphismef :A → B?

c) Application au calcul du m´elange de deux langages (cf. exercice 11). SoitAl’alphabet obtenu en donnant le nouveau nomx`a chaquex∈ A(c’est–`a–dire :x∈Assix∈ A), et soitB=A+A.

On consid`ere les trois substitutionsf, g, h:B →ε+Ad´efinies par :

f(x) =f(x) =x g(x) =x,g(x) =ε h(x) =ε,h(x) =x quel que soitx∈ A.

Montrer que pour toutL⊆ Aet toutM ⊆ Aon a :

mel(L, M) =f(g−1(L)∩h−1(M)) Exercice 17. Application inverse d’une substitution alphab´etique.

Soitf :A →ε+Bune substitution alphab´etique (cf. section 6.2) : on se propose d’´etudier son application inversef−1:B→ P(A). Pour cela, on consid`ere :

Z ⊆ Ad´efini par :x∈Zssif(x) =ε,

Xy⊆ Ad´efini, pour chaquey∈ B, par :x∈Xyssif(x) =y.

a) Montrer quef−1(ε) =Zet que, pour toutv∈ Bet touty∈ Bon af−1(vy) =f−1(v)XyZ. b) En d´eduire que, pour toutL⊆ Bet toutM ⊆ Bon a :

f−1(LM) =f−1(L)f−1(M) et f−1(L) =Z+f−1(L). On pourra illustrer cet exercice par l’exemple desm(exercice 14).

Exercice 18.

On d´esigne parBl’alphabetA × Adont les caract`eres sont les couples de caract`eres de l’alphabetA: il sera commode de repr´esenter le couple(x, y)∈ Bpar[xy].

a) Soittc:A→ P(A)(“transposition des couples”) l’application d´efinie par : – tc(ε) =ε,

– pour toutu∈ Ade longueur paire, toutxet touty∈ A

tc(ux) = tc(uxy) =tc(u)yx. Calculertc(u)pouru=abababetu=ababa.

Trouver deux substitutionsf, g:B → Atelles quetc(u) =g(f−1(u))pour toutu∈ A. b) Soitusd:A→ P(A)(“un sur deux”) l’application d´efinie par :

usd(ε) =ε,

– pour toutu∈ Ade longueur paire, toutxet touty∈ A

usd(ux) =∅ usd(uxy) =usd(u)x. Calculerusd(u)pouru=abababetu=ababa.

Trouver deux substitutionsf, g:B → Atelles queusd(u) =g(f−1(u))pour toutu∈ A. Matrices et syst`emes d’´equations lin´eaires en langages.

Exercice 19. Matrices de langages.

La notation matricielle habituelle n’est vraiment “parlante” que pour les petites dimensions : on prendra des exemples de dimensions2ou3pour illustrer les d´efinitions qui suivent.

Une matrice de langages surAest la donn´ee d’un quadruplet(Q, R,A, A)o `uQetRsont deux alphabets,

Aest un alphabet,

A:QR→ P(A)est une application.

L’applicationA:QR→ P(A)servira par la suite `a d´esigner la matrice qu’elle d´efinit.

Le couple(Q, R)est appel´ele format de la matriceA.

L’alphabet Q sert `a indexer les “lignes”, R `a indexer les “colonnes” et, le langage qui se trouve `a l’intersection de la ligneq∈Qet de la colonner∈RestA(qr).

Cette convention fix´ee, on peut d´efinir la somme et le produit de matrices “comme d’habitude”.

(6)

La somme de deux matrices d’un mˆeme formatA:QR→ P(A)etA:QR→ P(A)est la matrice A+A:QR→ P(A)d´efinie par :

(A+A)(qr) =A(qr) +A(qr)pour toutq∈Qet toutr∈R.

On peut d´efinir de fac¸on analogue la somme g´en´eralis´ee d’une famille de matrices d’un mˆeme format.

L’´el´ement neutre pour la somme de matrices de format(Q, R)est d´efini par l’application qui envoie tout qr∈QRsur.

Le produit de deux matrices de formats compatiblesA :QR → P(A)etB : RS → P(A)est la matriceAB:QS→ P(A)d´efinie par :

(AB)(qs) =

r∈R

A(qr)B(rs)pour toutq∈Qet touts∈S. (On aura reconnu le produit “lignes par colonnes”.)

L’´el´ement neutre de format (Q, Q) (une matrice carr´ee) pour le produit de matrices est d´efini par l’applicationεQ:Q2→ P(A)telle que

εQ(qr) =

ε siq=r,

sinon.

La relation d’inclusion entre deux matrices d’un mˆeme format comme ci–dessus est d´efinie par : A⊆AssiA(qr)⊆A(qr)pour toutq∈Qetr∈R.

Question.Transposer les propri´et´es de la somme et de la concat´enation des langages au cas des matrices et v´erifier les propri´et´es ainsi obtenues.

Exercice 20. G´en´erateurs lin´eaires (cf. section 7.2.1).

La propri´et´e principale exprime que la donn´ee d’un GLA : Q+ → P(A) ´equivaut `a celle d’une applicationA:Q2→ P(A), c’est–`a–dire, d’une matrice carr´ee!

On supposera fix´e un GL d´efini parA:Q2→ P(A)pour toute la suite de l’exercice.

a) V´erifier queA(LqM) =A(Lq)A(qM), pour toutL⊆Q, toutM ⊆Qet toutq∈Q.

b) En d´eduire queA(qLq) = A((qL)q) = A(q(Lq))et en particulier queA(qq) = A(qq) = A(qq).

c) Pour tout entier natureli, on d´efinitAi :Q2→ P(A)par la r´ecurrence : A0=εQetAi+1=AiA,

c’est–`a–dire, pour toutqr∈Q2:

A0(qr) =εQ(qr) =ε siq=r

sinon et Ai+1(qr) =

s∈Q

Ai(qs)A(sr) Enfin, on d´efinitA:Q2→ P(A)en posantA=

0≤i

Ai, c’est–`a–direA(qr) =

0≤i

Ai(qr). 1) SoientL⊆ AetM ⊆ A.

CalculerGlorsqueQ=q+rest constitu´e de deux symboles distincts et A(qq) =L,A(qr) =M,A(rq) =∅etA(rr) =ε. Revenons maintenant au cas g´en´eral.

2) Montrer queAi+1(qr) =A(qQir)pour toutqr∈Q2et tout entier natureli, 3) en d´eduire que pour toutqr∈Q2:A(qr) =A(Chem(q, r)) =

ε+A(qQq) sir=q, A(qQr) sinon.

4) V´erifier la transposition aux g´en´erateurs lin´eaires des propri´et´es de l’it´eration.

M.M Institut Galil´ee 2000 Les langages.

(7)

Exercice 21. Syst`emes d’´equations lin´eaires en langages.

La d´efinition des matrices et des GL conduisent `a modifier la pr´esentation des syst`emes lin´eaires. On remplace la notation indicielle, qui est souvent utilis´ee, par une notation “fonctionnelle” : chacun de nous est du reste bien habitu´e `a ´ecrireu(i), ou plutˆotu[i], au lieu deui. Nous n´egligerons l’´eventuelle valeur num´erique de ces “indices”, d´ej`a maltrait´es, pour consid´erer ceux–ci comme de quelconques symboles, c’est–`a–dire comme les ´el´ements d’un alphabet, avec lesquels nous aurons plaisir `a faire des chemins, puis des ensembles de chemins!

Voici :

Un syst`eme d’´equations lin´eaires se pr´esente sous la forme

(E) X(q) =

r∈Q

A(qr)X(r) +A(q) pour toutq∈Q o `u chaqueA(qr)et chaqueA(q)est un langage sur un alphabetA.

Une solution du syst`eme(E)se pr´esente sous la forme d’une substitutionL:Q→ P(A)v´erifiant L(q) =

r∈Q

A(qr)L(r) +A(q) pour toutq∈Q.

a) Pour v´erifier l’affirmation du d´ebut de la section 4.2, on est conduit `a repr´esenterA sous la forme d’une matrice colonne : on introduit pour cela un nouveau symbole∈Qet on consid`ereAcomme une applicationA :Q→ P(A), o `uA(q)n’est qu’une nouvelle fac¸on d’´ecrireA(q).

En appliquant des r´esultats des deux exercices pr´ec´edents, montrer que la matrice colonneL = AA v´erifie l’´egalit´eL = AL+A et que toute matrice colonneM v´erifiantM = AM +Aest telle que L⊆M.

On se propose maintenant de d´emontrer les principes (r´esolution partielle et substitution) sur lesquels est bas´ee la r´esolution effective des syst`emes d’´equations dans la section 4.2. Pour ce faire, il est commode de regrouperAetAen un seul GL (cf. section 7.2.1) qui, pour simplifier, sera encore d´esign´e parA. Ceci se fait de la fac¸on suivante, qui poursuit l’id´ee dea) :

Soit∈Qun nouveau symbole, alors, on ´etend la d´efinition deAen celle d’un GL A: (Q+)2→ P(A)

en posant :

A(q) =A(q)pour toutq∈Q, – A(q) =∅pour toutq∈Q+. On dira quece GL est associ´e au syst`eme(E).

On suppose qu’un syst`eme(E)comme ci–dessus est fix´e et queAest le GL qui lui est associ´e.

Remarque.Tous les chemins qui nous int´eressent m`enent `a!

Ceci a pour cons´equence pratique que, pour une fois, il est indispensable de construire les mots et les chemins “`a l’envers”, c’est–`a–dire par adjonction d’´el´ements `a gauche : les d´efinitions et les raisonnements par r´ecurrence doivent donc tous suivre ce principe.

b) Montrer queA((Q+)) =A(Q).

On d´efinit une substitutionGen:Q→ P(A)par :

Gen(q) =A(qQ) pour toutq∈Q.

c) Montrer queGenest la plus petite solution de(E).

d) Montrer que toute solutionM :Q→ P(A)du syst`eme(E)satisfait les ´egalit´es suivantes, pour tout entier naturelk:

(8)

M(q) =

r∈Q

A(qQkr)M(r) +

0≤i≤k

A(qQi) quel que soitq∈Q.

En d´eduire la propri´et´e d’unicit´e : si, pour toutqr Q2on aε A(qr), alors(E)admet une solution unique. (La m´ethode utilis´ee dans la section 4.1 sera un guide pr´ecieux.)

e) Op´eration de substitution.

Soients∈Qett∈Qtels ques=tet soit(F)le syst`eme obtenu `a partir de(E)en remplac¸ant, dans le second membre de l’´equation deX(t), l’occurrence deX(s)par le second membre de son ´equation.

Montrer que la plus petite solution de(F)est ´egale `a la plus petite solution de(E).

Indications.SoitB : (Q+)2 → P(A)le GL associ´e `a(F). On mettra en ´evidence une application f : (Q+)2→ P((Q+))telle que :

B(qr) =A(f(qr))

pour toutqr (Q+)2, que l’on ´etendra en une transformation de chemins ne modifiant pas leurs extrˆemit´es (cf. section 7.2.2), puis on v´erifiera que

A(f(Γ)) =B(Γ)pour tout ensemble de cheminsΓ(Q+)+,f(qQ) =qQpour toutq∈Q.

f ) Op´eration de r´esolution partielle.

Soits ∈Qet soit(F)le syst`eme obtenu `a partir de(E)en remplac¸ant l’´equation enX(s)de ce dernier (´ecrivons–laX(s) =AX(s) +Ben abr´eg´e) par sa r´esolvante partielle (qui s’´ecrit alorsX(s) =AB).

Montrer que la plus petite solution de(F)est ´egale `a la plus petite solution de(E). Syst`emes d’´equations alg´ebriques en langages.

Exercice 22.

D´ecrire une construction par r´ecurrence de la plus petite solutionsdu syst`eme ci–dessous, en utilisant la d´ecomposition desdonn´ee `a la section 6.6

Le syst`eme, qui s’´ecrit avec les alphabets : – A= [ + ] ++∨+→+¬+

n≥0

pn (2 parenth`eses, 4 “symboles” et une infinit´e d´enombrable de lettresp0, . . . , pn, . . .),

Vn’a qu’un seul ´el´ementX, comporte une seule ´equationX=l(X)o `u

l(X) = [X∧X] + [X∨X] + [X →X] +¬X+

n≥0

pn. Exercice 23.

SoientAun alphabet etl:A → P(A)une substitution.

Trouver la plus petite substitutions:A → P(A)qui v´erifie l’´egalit´es=id+sl.

Indication.On s’inspirera de la m´ethode de la section 6.6, en remarquant qu’ici,Am`ene un double jeu.

Exercice 24. Syst`emes d’´equations lin´eaires en langages.

Adapter la m´ethode de r´esolution d’un syst`eme d’´equations alg´ebriques en langages au cas particulier d’un syst`eme lin´eaire (cf. sections 4, 6 et exercice 21).

M.M Institut Galil´ee 2000 Les langages.

(9)

2

Les langages r´ eguliers et

les automates finis.

Ad´esigne un alphabet fini.

Exercice 1.

SoitA={a, b}un alphabet `a deux lettres.

a) Donner une expression r´eguli`ere de chacun des langages surAsuivants :

ensemble des mots se terminant paraa;

ensemble des mots comportant le facteuraaa;

ensemble des mots commenc¸ant parabet se terminant parbb;

ensemble des mots ayant un nombre pair d’occurrences dea;

ensemble des mots ne comportant pas le facteuraa.

ensemble des mots ne comportant pas le facteuraaa.

b) Montrer que(a+bba2)b(ε+a)est une expression r´eguli`ere de l’ensemble des mots ne comportant pas le facteurbab(εest une abr´eviation pour).

Exercice 2. Conjugaison (cf. exercice 1.4.b).

Montrer queConj(L)est r´egulier pour tout langage r´egulierL.

Indication. SoitA = (Q,A,, q0, F)un AFDC et soitL =L(A). Pour chaqueq Qon consid`ere les deux AFDC suivants :

B(q) = (Q,A,, q0, q) (la seule sortie estq)

C(q) = (Q,A,, q, F) (l’entr´ee estq)

et on pose M(q) =L(B(q)) et N(q) =L(C(q)). Montrer que l’on aL=

q∈Q

M(q)N(q) et Conj(L) =

q∈Q

N(q)M(q). Exercice 3.

SoitA=aun alphabet `a un seul symbole.

Pour chaquei∈ {0,1,2}on d´efinitLi⊆apar : u∈Lissi|u|mod3 =i pour toutu∈a.

Trouver un ensemble d’´etatsQ, un ´etat initialq0 Q, une application : Q× A → Qet, pour chaque i∈ {0,1,2}un ensembleFi⊆Qde sorties, de telle fac¸on que l’AFDCAi= (Q,A,, q0, Fi)reconnaisse le langageLi.

(10)

Exercice 4.

Soitaun symbole.

Montrer que pour tout langage r´egulierL⊆a, il existe deux langagesfinisAetBet un motγ∈atels queL=A+(R´eciproquement, un langage de cette forme est r´egulier!).

Indication.Trouver la forme g´en´erale des AFDC sur un alphabet `a une seule lettre : le th´eor`eme de Kleene fera le reste.

Exercice 5. Lemme d’it´eration pour les langages r´eguliers.

a) D´emontrerle lemme d’it´eration suivant :

siL⊆ Aest un langage r´egulier alors il existe un entierN >0tel que pour toutu∈Lv´erifiant|u| ≥N, on peut trouver trois motsu1,vetu2surAtels que l’on ait les propri´et´es

1) u=u1vu2, 2) |v|>0et|v| ≤N,

3) pour tout entierk,u1vku2∈L.

Indication. Consid´erer les “longs” chemins que l’on peut parcourir dans un AFDC reconnaissantL. b) En d´eduire que les langages suivants ne sont pas r´eguliers :

L={ambm|m≥0}

L={am2 |m≥0}

c) On consid`ere les langagesL= (a+b)ba(a+b)etM ={ambm|m≥0}.

Montrer que le langageL+M v´erifie la conclusion du lemme d’it´eration ci–dessus mais qu’il n’est pas r´egulier.

Exercice 6. (cf. exercices 1.5, 1.6 et 1.7) Soitfl’une des applicationsf g,f d,f act.

a) Montrer que f transforme un langage r´egulier en un langage r´egulier, sans utiliser aucun AF.

b) Construire un AF reconnaissantf(L) `a partir d’un AFDC recon- naissantL. Appliquer cette construction `a l’AFDC ci–contre.

0 1

2 3

a

b

b a, b a

a b

Exercice 7.

D´eterminer l’AF et l’ε–AF suivants :

2

1 0

3 a, b

a, b a

a, b a, b

a a, b

a a, b

a

0

1

2 3

4 5

ε

a, b

ε b ε

ε

ε

a

a

a, b a

b

M.M Institut Galil´ee 2000 Langages r´eguliers et AF.

(11)

Exercice 8.

Construire des AFDC qui reconnaissent respectivement chacun des langages d´ecrits dans l’exercice 1.a).

Indication.On pourra commencer par construire unε–AF reconnaissant “visiblement” ledit langage ou son compl´ementaire.

Exercice 9.

SoitA=a+bun alphabet `a deux symboles.

a) Reprendre l’exercice 3 ci–dessus, mais cette fois pour lesLi⊆ Ad´efinis par :u∈Lissi|u|amod3 = ipour toutu∈ A.

b) Construire un AFDC surAqui reconnaˆıt l’ensemble des motsu∈ Ane comportant pas le facteur babet tels que|u|amod3 = 2.

Exercice 10.

a) SoitAun AFDC sur un alphabetAet posonsL=L(A).

Construire unε–AF qui reconnaˆıt l’ensemble des mots surAdont aucun facteur n’est un ´el´ement deL. b) Appliquer a) pour construire un AFDC reconnaissant l’ensemble des mots sur{a, b}ne comportant pas le facteurbab, puis utiliser cet AFDC pour red´emontrer le r´esultat de l’exercice 1.b) ci–dessus.

Exercice 11. Image par une substitution.

Soitf :A → P(B)une substitution telle quef(x)est r´egulier pour toutx∈ A. a) Montrer quef(L)est r´egulier pour toutL⊆ Ar´egulier, sans utiliser aucun AF.

b) SoitAun AFDC reconnaissantLet soit, pour chaquex ∈ A,A(x)un AFDC reconnaisantf(x): construire unε–AF reconnaissantf(L).

Appliquer cette construction `a la substitutionsm(cf. exercice 1.14) Exercice 12. Image inverse par une substitution.

Soitf :A → P(B)une substitution et soitf−1:B→ P(A)son application inverse (cf. exercice 1.15), soit enfinB= (Q,B,

B, q0, F)un AFDC : on consid`ere alors l’ε–AFA= (Q,A,

A, q0, F)dont l’action est d´efinie parq

Ax=q

Bf(x)(cf. section 6.2.2).

a) Montrer que siM =L(B)alorsL(A) =f−1(M).

b) Etudier le cas o `uf(x)est un langage r´egulier pour toutx∈ A.

c) Montrer, sans utiliser aucun AF, que l’image inverse d’un langage r´egulier par une subtitution al- phab´etique est un langage r´egulier (cf. exercice 1.16).

Exercice 13.

Appliquer les deux exercices pr´ec´edents pour montrer que chacune des applications applicationstcetusd de l’exercice 1.18 transforme un langage r´egulier en un langage r´egulier.

Exercice 14.

Pour toutL⊆ Aon d´efinitR(L)⊆ Apar

u∈R(L)ssi il existev∈ Atel que|v|=|u|etuv∈L pour toutu∈ A.

Le but de cet exercice est de montrer queR(L)est r´egulier pour tout langage r´egulierL. a) Appliquer directement la d´efinition pr´ec´edente pour calculerR(ε+aba).

b) SoitA= (Q,A,, q0, F)un AFDC, on consid`ere l’AFRqui est la partie accessible (on a aussi int´erˆet

`a ne conserver que les ´etats productifs) de l’AF(Q×Q,A,, I, G)d´efini de la fac¸on suivante :

– (s, t)(q, r)xssiqx=sett∈rA−1 (action)

I={(q0, r)|r∈F} (ensemble des entr´ees)

G={(q, q)|q∈Q} (ensemble des sorties)

(12)

Appliquer cette construction `a un AFDC reconnaissant le langageε+aba. Montrer que pour toutu∈ A, on a :

(s, t)(q, r)ussiqu=set il existev∈ Atel que|v|=|u|ettv=r quels que soientq,r,sett∈Q.

En d´eduire que siL=L(A)alorsL(R) =R(L).

Utiliser ce r´esultat pour v´erifier le calcul pr´ec´edent deR(ε+aba). Exercice 15. M´elange de langages (cf. exercice 1.11).

SoientA= (QA,A,

A, q0A, FA)etB= (QB,A,

B, q0B, FB)deux AFD.

On d´efinit l’AFC= (Q,A,, q0, F)`a une seule entr´ee de la fac¸on suivante : – Etats.Q=QA×QB,

– Action. (q, r)x= (q

Ax, r) + (q, r

Bx)pour toutq∈QAet toutr∈QB, – Entr´ee. q0= (q0A, qB0),

– Sorties. F =FA×FB.

a) Montrer que siL=L(A)etM =L(B)alorsL(C) =mel(L, M). b) Applications.

– V´erifier les calculs de la questionb)de l’exercice 1.11 en utilisant la constrution pr´ec´edente.

– Construire un AF qui reconnaˆıt l’ensemble des motsu∈(a+b)tels que(|u|a− |u|b)mod3 = 1 (cf. exercice 9.a).

Exercice 16. Langages locaux.

Un langageMsur un alphabetBest dit local ssi il existeX ⊆ B,Y ⊆ BetZ ⊆ B2tels que M−ε= (XB∩ BY)− BZB.

Pour d´ecider si un motu ∈ Bappartient `a un langage local, il suffit de tester les facteurs deudont la longueur est au plus2, aussi les appelle–t–on souventlangages2–reconnaissables.

Un langage local est ´evidemment r´egulier.

L’objet de cet exercice est de donner une r´eciproque `a cette propri´et´e :

tout langage r´egulier est l’image d’un langage local par une substitution strictement alphab´etique.

SoitLun langage r´egulier ne contenant pasεet soitA= (Q,A,, q0, F)un AFDC reconnaissantL. On consid`ere un alphabetBdont les symboles sont des ´el´ements deQ× A ×Q:

B={[q, x, r]|qx=r}. On consid`ere alors les langagesX ⊆ B,Y ⊆ BetZ ⊆ B2d´efinis par :

[q, x, r]∈Xssiq=q0, [q, x, r]∈Y ssir∈F, [q, x, r][s, y, t]∈Zssir=s,

et la substitutionf :B → Ad´efinie parf([q, x, r]) =x. a) Montrer queL=f((XB∩ BY)− BZB).

b) Appliquer la construction pr´ec´edente `aL=b2(a+b)a. Exercice 17.

Minimiser les AFDC suivants :

M.M Institut Galil´ee 2000 Langages r´eguliers et AF.

(13)

0 1

2

3 4

a a

b b

a, b a b

b

a 0 1

2 3

4

5

6 a

b a

a

b b

b

a

b b

a b a

a

Exercice 18. AF sp´eciaux (AFS).

Un AFS surAest un couple(A,Eps)o `u :

A= (Q,A,, I, f)est un AF `a une seule sortie, v´erifiant les conditions suivantes : 1) f ∈I,

2) fx=pour toutx∈ A,

3) pour toutq∈Q−f, il existe un uniquex∈ Atel queqx=∅;Eps⊆ε(on a doncEps=ouEps=ε).

Le langageL(A,Eps)⊆ Areconnu par un AFS(A,Eps)est d´efini par : L(A,Eps) =L(A) +Eps

Remarques.

Le fait queAa une seule sortie n’est pas tr`es important et ne sert qu’`a simplifier la construction4) ci–dessous.

La condition 1) implique ´evidemment queε∈ L(A):Epssert `a pallier cet ´eventuel d´efaut.

La condition 2) signifie que l’on ne peut que sortir lorsqu’on est parvenu enf.

La condition 3) implique que la table deAest tr`es lacunaire : la ligne defest vide et la ligne de chaque q=fcomporte une seule case non vide, ce qui est un avantage ´evident lorsqu’il s’agit de calculer un AFDC

´equivalent. On peut aussi profiter de cette condition pour simplifier les repr´esentations deA(comment?).

L’objet de l’exercice est de v´erifier que tout langage r´egulier est reconnaissable par un AFS.

a) Adapter l’algorithme de d´etermination des AF au cas des AFS (Epsdoit intervenir!) et appliquer l’algorithme ainsi trouv´e `a des exemples simples d’AFS.

b) Les constructions suivantes permettent de construire un AFS reconnaissant un langage r´egulierL A: v´erifier qu’elles sont correctes.

1) L=est reconnu par l’AFS((f,A,,∅, f),∅)`a un seul ´etat.

2) Pour toutx∈ A,L=xest reconnu par l’AFS((q0+f,A,, q0, f),∅)`a deux ´etats, o `uq0x=f. Pour la suite, on consid`ere deux AFS((Q1,A,

1, I1, f1),Eps1)et((Q2,A,

2, I2, f2),Eps2), tels queQ1 Q2=, et on appelleL1etL2les langages qu’ils reconnaissent respectivement.

3) L=L1+L2est reconnu par l’AFS construit de la fac¸on suivante : – Q= (Q1−f1) + (Q2−f2) +fo `uf ∈Q1+Q2est un nouvel ´etat,

(14)

I=I1+I2,

fest le nouvel ´etat introduit ci–dessus,

– pour chaquei∈ {1,2}, siq∈Qietx∈ Asont tels quefi∈q

ix alorsqx= (q

ix−fi) +f sinonqx=q

ix, (f1etf2ont ´et´e identifi´ees enf), – Eps=Eps1+Eps2.

4) L=L1L2est reconnu par l’AFS construit de la fac¸on suivante: – Q= (Q1−f1) +Q2,

I=I1+Eps1I2, – f =f2,

– soientq∈Qetx∈ A, alors : 1) pourq∈Q1:qx=

(q

1x−f1) +I2+fEps2 sif1∈q

1x, q

1x sinon,

2) pourq∈Q2:qx=q

2x,

(f1s’est multipli´ee pour s’indentifier respectivement `a chacun des ´el´ements deI2), – Eps=Eps1Eps2.

5) L=L1est reconnu par l’AFS construit de la fac¸on suivante : – Q=Q1,

I=I1, – f =f1,

– soientq∈Q1etx∈ A, alorsqx= q

1x+I1 sif1∈q

1x, q

1x sinon,

(les ant´ec´edents de la sortie sont branch´es sur les entr´ees), – Eps=ε.

c) Appliquer la m´ethode pr´ec´edente pour calculer un AFS, puis un AFDC sur{a, b}, reconnaissant le langageb+ (a+b)aa.

Exercice 19. AF g´en´eralis´es (AFG).

Voici une m´ethode “g´eom´etrique”, pour construire unε–AF reconnaissant un langage r´egulier : elle est as- sez intuitive mais n´ecessite la consid´eration d’un type tr`es g´en´eral d’automates finis, dont nous d´ecrirons seulement les graphes de transition.

Le graphe de transition d’un AFGAsur l’alphabetAest la donn´ee des ´el´ements suivants :

Un graphe de transition proprement dit, constitu´e de nœuds et d’arˆetes ´etiquet´es : – un nœud q pour chaque ´el´ementqd’un ensemble finiQ,

– un ensemble fini d’arˆetes q L r

o `uq∈Q,r∈QetL⊆ A (il est inutile de faire figurer les arˆetes vides q r

),

un ensemble d’entr´eesI⊆Q,

un ensemble de sortiesF ⊆Q.

Le langage reconnu par un tel AFG se d´efinit en adaptant la notion habituelle de d´erivation : Une transition (q, vu) 1 (r, u)est d´efinie pour toutv ∈Ltel que q L r

soit une arˆete du graphe deA.Une d´erivation est un enchaˆınement de transitions.

Dans cette construction, tous les ensembles sont trait´es comme des alphabets.

M.M Institut Galil´ee 2000 Langages r´eguliers et AF.

(15)

Le langageL(A)⊆ Areconnu par un AFGAest d´efini par :

u∈ L(A)ssi il existes∈Ietr∈Ftels que(s, u) (r, ε). Deux AFG sont ´equivalents s’ils reconnaissent le mˆeme langage.

a) V´erifier que l’application de chacune des op´erations suivantes (o `uqetrsont des ´etats qui peuvent ˆetre

´egaux) transforme un AFG en un AFG ´equivalent.

q L+M r

devient q L r

M (deux arˆetes parall`eles)

q LM r

devient q L s M r

(sest un nouvel ´etat)

q L r

devient q ε s L ε r

(sest un nouvel ´etat) (Cette derni`ere transformation ne s’applique utilement que lorsqueL=∅!)

b) En d´eduire une construction d’unε–AF reconnaissant un langage r´egulier d´efini par une expression r´eguli`ere.

Exercice 20. Syst`eme d’´equations associ´e `a unε–AF. (cf. exercices 1.20 et 1.21)

On associe `a toutε–AFA = (Q,A, δ, I, F)le GLA : (Q+)2 → P(A)(o `u Qest un nouveau symbole) qui est d´efini par :

A(qr) ={x∈ε+A |r∈δ(q, x)}pour toutqr∈Q2, A(q) =

ε pour toutq∈F

pour toutq∈Q−F, A(q) =∅pour toutq∈Q+.

a) V´erifier que le GL ainsi d´efini est bien celui qui est associ´e au syst`eme d’´equations correspondant `a l’ε–AFA(cf. section 5.5 et exercice 1.21).

b) Pour v´erifier les affirmations de la section 5.5 au sujet du calcul du langage reconnu par unε–AF : 1) montrer que quels que soientq∈Q,r∈Qetu∈ Aon a

(q, u) (r, ε)ssiu∈A(Chem(q, r)), 2) en d´eduire queL(A) =A(IQ).

Remarque. Apr`es l’exercice 1.21, ceci signifie que le langage engendr´e par unε–AF se calcule, comme pour les AFDC, en utilisant la plus petite solution du syst`eme qui lui est associ´e : on doit, bien entendu, tenir compte du fait qu’unε–AF peut avoir plusieurs entr´ees.

(16)

M.M Institut Galil´ee 2000 Langages r´eguliers et AF.

(17)

3

Les grammaires et

les langages alg´ ebriques.

Lorsqu’aucune autre pr´ecision n’est donn´ee,Gd´esigne une grammaire(V,A, R). Exercice 1.

Montrer que les langages suivants sont alg´ebriques (aet bsont distincts,Aest un alphabet fini quel- conque) :

L1 ={ambm|m≥0}

L2 ={ambn|0≤m < n}

L3 ={ambnan|m≥0, n0}

L4 ={uc˜u|u∈ A}

L5 ={uv|u∈(a+b), v∈(a+b),|u|=|v|, v= ˜u}

Exercice 2.

Montrer que siL⊆ Aest alg´ebrique alorsL={u∈ A|u˜∈L}l’est aussi.

Exercice 3. Deux fois plus deaque debdans le mˆeme mot.

SoitG= (S, a+b, R)la grammaire pour laquelleRest d´efini par la r`egle globale S−→ε+SaSaSbS+SaSbSaS+SbSaSaS.

Le but de cet exercice est de montrer queL(G, S)est l’ensembleLdesu∈ Av´erifiant|u|a= 2|u|b. a) Montrer queL(G, S)⊆Len effectuant une induction sur la longueur des d´erivations.

b) Montrer que siu∈L−εalorsua un facteurxyz ∈Lde longueur3. Indication.

Toutu∈L−ε, sans aucun facteurxyz∈Lde longueur3, devrait satisfaire les propri´et´es suivantes : – |u| = 3;

une comporte aucun facteuraa, d’o `u plus g´en´eralement que|u|a ≤ |u|b+ 1; ce qui est difficilement conciliable avec le fait queu∈L−ε!

c) Pour toutu∈ Aon d´efinitu∈(A+S), de la fac¸on suivante : – ε=ε,

x=xpour toutx∈ A,

ux=uSxpour toutu∈ A−ε, et pour toutx∈ A.

uest donc obtenu en intercallantSentre les lettres deu, par exempleu=aSaSbpouru=aab. V´erifier queuv=uSvlorsqueu=εetv=ε.

d) Montrer les deux propri´et´es suivantes : – u=⇒upour toutu∈ A.

S=⇒SuSpour toutu∈L−ε(utiliserb) pour faire une induction).

e) En d´eduire queL⊆ L(G, S).

Références

Documents relatifs

ENS Cachan - Premi` ere Ann´ ee SAPHIRE SAPH111 - Milieux Continus. Sch´ ema d’int´ egration du champ de

u~expected varia tion in estimates for- everese male weight... remlloi

Donner en utilisant avec pr´ ecision l’algorithme de triangulation du cours un syst` eme triangul´ e ayant les mˆ emes solutions que E. Trianguler ce syst` eme d’´ equations`.

Etapes de transformation d’une ER ` a un analyseur Logiciels de g´ en´ eration automatique d’analyseurs. G´en´eration automatique

Comme les pˆ ates sont plong´ ees dans l’eau quand celle-ci est en ´ ebullition, elles sont plong´ ees dans un fluide ` a plus basse temp´ erature et devront donc y rester

Le syst` eme associ´ e (celui dont D est la matrice augment´ ee), et donc le syst` eme initial (qui lui est ´ equivalent) sont des syst` emes d’´ equations incompatibles.. Il suffit

Soit donc une machine de Turing M , et on cr´ ee de la mˆ eme mani` ere que pr´ ec´ edemment un syst` eme de r´ e´ ecriture associ´ e R.. Cependant, tous les termes du nouveau

Notons qu’` a ce jour, on ne connaˆıt pas de nombres de Fermat premiers en dehors des