Theorie Des Langages - Theoreme de Arden Exercice

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

Théorie des Langages – TD 5

AUTOMATES ET EXPRESSIONS RÉGULIÈRES

Exercice 1 - Soit Σ = {a, b}. En utilisant le théorème d’Arden, donnez sous forme d’expressions régulières les
langages L (M ) et L (M ′ ) reconnus respectivement par les automates suivants :

a
a a

0 1 0 1
a b
b a b a
b
b
2 3 2 3

M b M’

Exercice 2 - Soit Σ = {a, b}. Soit l’automate M suivant

a
a

b
0 1

1. Montrez, en utilisant le théorème d’Arden, que L (M ) = (a∗ ab)∗


2. Déterminisez M. Proposez une grammaire qui engendre L (M ).
Exercice 3 - Par la méthode d’élimination des états, donnez les expressions régulières équivalentes aux auto-
mates suivants :

1. Automate M1
a b

a a b
0 1 2 3

2. Automate M2

a a,b a,b

b a b a
0 1 2 3 4

a a

5 6
b

3. Automate M3 (à gauche) et automate M4 (à droite)

b a

a b
0 1 0 1
b
a,b a b b

a a
2 3 2 3

Exercice 4 - Construire sur l’alphabet Σ = {a, b} les automates qui reconnaissent les langages :
1. L = (aa + bb∗ a + abb∗ a)∗
2. L′ = (b(aa)∗ b)∗
3. L′′ = ((a + b)b∗ a)∗
4. L′′′ = (a∗ b)∗ a

Exercice 5 - Les langages suivants sont-ils réguliers ?


1. L1 = {02n |n ≥ 1}
2. L2 = {02 |n ≥ 1}
n

3. L3 = {0n 1n |n ≥ 1}
4. L4 = {x ∈ {0, 1}∗ |x n’a pas 3 zéros consécutifs}
Théorie des Langages – TD 5
AUTOMATES ET EXPRESSIONS RÉGULIÈRES

Exercice 1 - Soit Σ = {a, b}. En utilisant le théorème d’Arden, donnez sous forme
d’expressions régulières les langages L(M) et L(M’) reconnus respectivement par les
automates suivants :

a
a a

0 1 0 1

a b
b a b a
b
b
2 3 2 3

M b M’

Rappel sur les propriétés des expressions régulières


P1. r + s = s + r
P2. r +∅ = ∅ + r = r
P3. r + r = r
P4. (r + s) + t = r + (s + t) = r + s + t
P5. rε = εr = r
P6. r∅ = ∅r = ∅
P7. (rs)t = r(st) = rst
P8. r(s + t) = rs + rt
P9. r* = (r*)* = r*r* = (ε + r)* = r *(r + ε) = (r + ε)r* = ε + rr* =ε+ r*r
P10. (r + s)* = (r*s*)* = (r*s)*r* = (s*r )*s* = r*(sr*)*
P11. r(sr)* = (rs)*r
P12. (r*s)* = ε + (r + s)*s
P13. (rs*)* = ε + r (r + s)*
P14. (r + ε)*(r + ε) + s = sr*
P15. rr* = r*r = r+
Corrigé :
Le système d’équation des langages L(0), L(1), L(2) et L(3) associé à M

L0 = aL1+bL2 (e0)
L1 = aL0 +ε (e1)
L2 = bL3+aL0 (e2)
L3 = bL2 (e3)

- En utilisant e3, remplaçons L3 dans l’équation e2


L2= bL3+aL0
L2= b(bL2)+aL0
L2= bbL2+aL0
- Eliminons L2, en utilisant le théorème d’Arden
L2=(bb)*aL0 (e’2)
- En utilisant e1 et e’2, remplaçons L1 et L2 dans e0
L0=aL1+bL2
L0=a(aL0 +ε)+b(bb)*aL0
L0=(aa+b(bb)*a)L0+a
- Eliminons L0, en utilisant le théorème d’Arden
L0=(aa+b(bb)*a)*a
- L’expressions régulières reconnue par l’automate M est (aa+b(bb)*a)*a

Le système d’équation des langages L(0), L(1), L(2) et L(3) associé à M’

L0=aL0+aL1+bL2+ε (e0)
L1=bL0 (e1)
L2=bL3 (e2)
L3=aL0 (e3)

- Remplaçons L3 dans (e2), en utilisant (e3)


L2=bL3
L2=b(aL0)
L2=baL0 (e’2)
- Remplaçons L1 et L2 dans (e0), en utilisant (e1) et (e’2)
L0=aL0+aL1+bL2+ε
L0=aL0+abL0+bbaL0+ε
L0=(a+ab+bba)L0+ε (e’0)
- Eliminons L0 de l’équation (e’0), en utilisant le théorème d’Arden
L0=(a+ab+bba)*ε
- L’expressions régulières reconnue par l’automate M’ est : (a+ab+bba)*
Exercice 2 - Soit Σ = {a, b}. Soit l’automate M suivant

a
a

b
0 1

1. Montrez, en utilisant le théorème d’Arden, que L(M) = (a*ab)*


2. Déterminisez M. Proposez une grammaire qui engendre L(M).

Corrigé :

1. Le système d’équation des langages L(0), L(1) et L(2) associé à M

L0=aL1+aL2+ε (e0)
L1=bL0 (e1)
L2=aL2+aL1 (e2)

- Eliminons L2 de l’équation (e2), en utilisant le théorème d’Arden

L2= a*aL1

- Remplaçons L1 dans (e’2), en utilisant (e1)

L2= a*abL0 (e’2)

- Remplaçons L1 et L2 dans (e0), en utilisant (e1) et (e’2)

L0=aL1+aL2+ε

L0=abL0+aa*abL0 +ε

L0=(ab+aa*ab)L0+ε

L0=(ab+aa*ab)L0+ε ( aa*=a+ en appliquant P15)

L0=(ε+ a+)abL0+ε (car ε+ a+= a*)

L0=(a*ab)*ε (car ε+ a+= a*)

L0=(a*ab)*

L0= (a+b) * (en appliquant P15)


2. Déterminisons M

A partir de l’équation (e0) on obtient

L0=a(L1+L2)+ε

En utilisant les équations (e1) et (e2), on obtient

L1+L2= bL0+ a(L1+L2 )

Le système d’équation des langages de l’automate M déterminisé est comme suit :

L0=a(L1+L2)+ε

L1+L2= a(L1+L2) +bL0

L’automate M déterminisé peut être construit comme suit :

b
0 12
a

Une grammaire qui engendre le langage L(M) peut être déduite à partir du système
d’équation ci-dessus : ( en appliquant la partie cours sur la transformation d'un
automate fini en une grammaire linéaire à droite –voir page 47 du chapitre 3
« Automates finis »).

En prenant S=L0 et A=L1+L2, on obtient les règles de production suivantes :

S→aA/ε

A→aA/bS
Exercice 3 - Par la méthode d’élimination des états, donnez les expressions régulières
équivalentes aux automates suivants :

1. Automate M1
a b

a a b
0 1 2 3

2. Automate M2

a a, b a, b

b a b a
0 1 2 3 4

a a

5 6
b

3. Automate M3 (à gauche) et automate M4 (à droite)


b a

a b
0 1 0 1
b
a,b a b b

a a
2 3 2 3

Corrigé :

1. Pour obtenir l’expression régulière de l’automate M1 par la méthode d'élimination


d'état, on suivra l’algorithme du cours décrit dans le chapitre 4 – page 19 -

L’automate M1
a b

a a b
0 1 2 3

- On ajoute à M1 deux nouveaux états que l’on note ω et α et des ε-transitions comme
ceci :
a b
b
ε a a ε
α 0 1 2 3 ω

- On élimine la transition 2 comme ceci :


a b
ε a ab ε
α 0 1 3 ω

- On élimine la transition 0 comme ceci

b
εa*a ab ε
α 1 3 ω

εa*a=a*a (par la propriété P5)

- On élimine la transition 3 comme ceci:

a*a b*abε
α 1 ω

b*abε=b*ab (P5)
- On élimine la transition 1 comme ceci:

a*ab*ab
α ω

a*ab*ab=a+ b* ab (P15)
- L’expression régulière de l’automate M1 est : a+ b* ab

L’automate M2
a a,b a,b

b a b a
0 1 2 3 4

a a

5 6
b
- On Ajoute à M2 deux nouveaux états que l’on note ω et α et des ε-transitions
comme ceci :

a a,b a,b

ε b a b a ε
α 0 1 2 3 4 ω

a a

5 6
b

- On remplace les transitions en rouge par une seule comme ceci :

a a,b a,b

ε b a b a ε
α 0 1 2 3 4 ω

aba

- L’expression régulière de M2 est comme ceci : (aba+a)*b(a+b)*aba(a+b)*

Même chose pour les automates M3 et M4


Exercice 4 - Construire sur l’alphabet Σ = {a, b} les automates qui reconnaissent les
langages :
1. L = (aa + bb*a + abb*a)*
2. L’= (b(aa)*b)*
3. L’’= ((a + b)b*a)*
4. L’’’ = (a*b)*a

Corrigé :
1. L = (aa + bb*a + abb*a)*

L= (aa + bb*a + abb*a)*ε (En utilisant le théorème d’Arden, on obtient :


L=(aa + bb*a + abb*a)L+ε)
L= aaL+bb*aL+abb*aL+ε

L=aL1+bL2+aL3+ε (En posant L1=aL, L2=b*aL et L3=bb*aL)

L2=b*aL (En utilisant théorème d’Arden, on obtient : L2=bL2+aL)


L3=bb*aL
L3=b*baL ( En utilisant le théorème d’Arden on obtient : L3=bL3+baL)

L3=bL3+baL
L3=bL3+bL4 (En posant L4=aL)

En rassemblant les équations linéaires, on obtient le système d’équation du langage


L comme suit :

L=aL1+bL2+aL3+ε
L1=aL
L2=bL2+aL
L3=bL3+bL4
L4=aL

b
1
a
a a
3
0

a b b

2 a 4
b

2. L= (b(aa)*b)*
L= (b(aa)*b)*ε (p5) (e)
En appliquant le théorème d’Arden sur l’équation e, on obtient :
L= b(aa)*bL+ε ) (e’ )

L=bL1+ε (En posant L1=(aa)*bL dans l’équation (e’ )

L1=(aa)*bL (e1)
En appliquant le théorème d’Arden sur l’équation (e1), on obtient :
L1=(aa)L1+bL (e’1)
L1=aL2+bL (En posant L2=aL1 dans l’équation (e’1)

En rassemblant les équations linéaires, on obtient le système d’équation du langage


L comme suit :

L=bL1+ε
L1=aL2+bL
L2=aL1

b
0 1
b
a
b
2
Exercice 5 - Les langages suivants sont-ils réguliers?

1.

2.

3.

4.

Corrigé :

Rappel sur les expressions régulières et les langages représentés par des expressions
régulières – page 7, 8 et 9

1. Pour n=1, w=00

Pour n=2, w=00.00 etc.

L1 = 00(00)*. C’est donc un langage régulier.

Rappel sur le théorème de pompage – page 30

2. Supposons que L2 soit régulier. Soit n ≥ 1. Alors, le théorème de pompage nous dit
que, comme , on peut écrire z = uvw avec |v| ≤ n tel que z’ = uv2w
ϵ L2. Or |z0| = |uv2w| ≤ 2n + n. Mais 2n + n < 2n+1 donc on ne peut pas avoir z’ϵ L 2.
C’est une contradiction, donc L2 n’est pas régulier.

3. Supposons que L3 soit régulier. Soit n≥1. On applique le théorème de pompage


avec z=0n1n. Donc z=uvw et z’=uv2w doit être dans L3. Donc v a autant de 0 que de
1;

4. L5 est régulier car reconnu par l’automate :


1

0 0
0 1 2
1

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy