Vous êtes sur la page 1sur 37

Thorie des langages

Jolle Thollot
Transcrit par Julien Henry
Ce cours nest pas un polycopi ociel. Aussi, il nest pas certi sans erreurs. Pour toute remarque ou
correction, vous pouvez me contacter ladresse
julien.henry@ensimag.imag.fr
2008-2009
cole Nationale Suprieure dInformatique et de Mathmatiques Appliques, Grenoble
http://julien2331.free.fr
2/37
Table des matires
I Outils de base 5
1. Dnitions prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Oprations sur les langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
II Induction et Rcurrence 7
1. Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1-a. 1
er
principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1-b. 2
nd
principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2. Extension du 1
er
principe : Induction structurelle . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2-a. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2-b. Schma dinduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2-c. Induction structurelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2-d. Exemple de preuve par induction structurelle . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Induction bien fonde, ou noethrienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3-a. Ordre bien fond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3-b. Induction bien fonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3-c. Exemple de preuve par induction bien fonde . . . . . . . . . . . . . . . . . . . . . . . . 10
4. Fonctions dnies sur un schma dinduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
III Grammaires 13
1. Dnition dune grammaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Relation de drivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
IVLes Langages Rguliers 17
1. Expressions rgulires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2. Automates Finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3. quivalence des trois modles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3-a. Lien entre langage rgulier et automate ni . . . . . . . . . . . . . . . . . . . . . . . . . 19
3-b. Langage reconnu par un automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3-c. Dmonstrations sur les langages rguliers . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4. Automates dterministes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4-a. limination des -transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4-b. Equivalence entre automates et automates dterministes . . . . . . . . . . . . . . . . . . 26
5. Minimisation dun automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5-a. Automate minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5-b. Construction de (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6. Clture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7. Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8. Lien avec le cours darchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8-a. Automate de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8-b. Automate de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8-c. De Moore Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8-d. Minimisation dune machine de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8-e. Exemple dautomate appliqu limagerie . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3
http://julien2331.free.fr TABLE DES MATIRES
Dnitions prliminaires
Langage : ensemble dobjets lmentaires que lon peut combiner
pour obtenir des mots qui ont un sens.
Vocabulaire : ensemble dobjets lmentaires Lexicographie
Mot : suite dobjets lmentaires Syntaxe
Ces mots ont un certain sens, cest ce quon appelle la Smantique.
4/37
Chapitre I
Outils de base
1. Dnitions prliminaires
Vocabulaire : Ensemble ni de symboles (lettres, caractres). On le note V .
Exemple a,b,c,0,1,begin,end,. . .
Mots : ou aussi chanes, phrases. Un mot sur un vocabulaire V est une suite nie de lettres de V.
Exemple ababc, 1001.
Longueur dun mot : nombre de lettres du mot x, not [x[ . Le mot est le mot vide, de longueur 0 .
V

: ensemble des mots nis sur V


V
+
: ensemble des mots nis non vides sur V . On a alors V

= V
+

Concatnation : opration binaire mettant deux mots bout bout. On la note (ou rien). Cette opration
possde des proprits :
elle nest pas commutative.
elle est associative :
(xy)z = x(yz)
elle possde un lment neutre :
: x = x = x
elle est distributive pour loprateur [.[ :
[xy[ = [x[ +[y[
De plus, on a la proprit
z V

, zx = zy x = y
Puissance dun mot : La puissance se dnit naturellement par rcurrence
_
x
0
=
n N, x
n
= xx
n1
Facteurs dun mot : x V

est un facteur de y V

sil existe s, t V

tels que y = sxt.


Si s = , y = xt et x est un prxe de y.
Si t = , y = sx et x est un suxe de y.
Ordre sur les mots : Une relation dordre est une relation rexive, antisymtrique et transitive.
ordre prxe : <
pref
: x <
pref
y x prxe de y.
ordre suxe : <
suff
: x <
suff
y x suxe de y.
_
ordre partiel
ordre lexicographique : cest lordre du dictionnaire : ordre total
ordre produit : <
2
dni sur V
2
: (a, b) <
2
(a

, b

) a a

et b b

.
5
http://julien2331.free.fr CHAPITRE I. OUTILS DE BASE
Langage : Un langage sur un vocabulaire V est une partie de V

, cest dire un ensemble de mots.


On a donc
L T(V

), L V

.
Exemples Avec le vocabulaire V = a, b
L
1
= a, aba, bbaa, baab
L
2
= ab
n
a, n N
L
3
= w V

, [w[
a
est pair
2. Oprations sur les langages
Oprations ensemblistes : runion

, intersection

Concatnation :
L.L

= u.v/u L et v L

L. = .L = L : le neutre est
L. =
distributivit : (K L).P = K.P L.P
Puissance : On dnit la fonction puissance par rcurrence
_
L
0
=
L
n
= L.L
n1
, n N
Un mot de L
n
est la concatnation de n mots de L qui ne sont pas forcment tous gaux.
Exemple si L = a, b, c, alors L
3
= aaa, aab, aac, aba, abb, abc, . . .
toile de Kleene : Cest la runion innie de toutes les puissances dun langage L, soit
L

=
_
nN
L
n
6/37
Chapitre II
Induction et Rcurrence
1. Principes
1-a. 1
er
principe
Thorme 1:
Soit T(n) un prdicat dpendant de n. Si les deux conditions suivantes sont vries :
base : T(0) est vrai
Induction : n N, T(n) T(n + 1)
alors
n N, T(n)
Exemple Montrons la proprit n N, 8
n
1 0[7]
base : 8
0
1 0[7] : vrai
Induction : Soit n N, 8
n
1 0[7].
Alors k N, 8
n
1 = 7k. Do 8
n+1
1 = 8(8
n
1) + 7 = 8 7k + 7 = 7(8k + 1) 0[7].
Remarque Cette stratgie est dite constructive ou ascendante
1-b. 2
nd
principe
Thorme 2:
Soit T(n) un prdicat dpendant de n. Si les deux conditions suivantes sont vries :
base : T(0) est vrai
Induction : n N,
n

i=1
T(i) = vrai T(n + 1) vrai
Alors le prdicat T(n) est vrai n N
Remarque Cette stratgie est dite destructive ou descendante
Exemple Montrons que n N, T(n) : n admet une dcomposition en facteurs premiers.
base : 2 est premier : vrai.
Induction : Soit n > 2 tel que y < x, T(y).
1
er
cas : x est premier : cest ni !
2
eme
cas : x nest pas premier. Alors (u, v) N
2
, x = uv, u < x et v < x.
Par lhypothse dinduction, y et y

se dcomposent en facteurs premiers. Ainsi, x se dcompose en


facteurs premiers.
Attention : Ces deux principes sont quivalents pour N. Ce nest pas le cas en gnral.
7
http://julien2331.free.fr CHAPITRE II. INDUCTION ET RCURRENCE
2. Extension du 1
er
principe : Induction structurelle
2-a. Introduction
Le premier principe permet dtablir le principe de dmonstration par induction structurelle.
Exemple soit X
d
= 1, 10, 100, 1000, . . ..
1 X
d
Si x X
d
, x.0 X
d

On appelle U lunivers : lensemble de tous les lments possibles.
Dans lexemple ci-dessus, U = 0, 1

2-b. Schma dinduction


Dnition 1. Un schma dinduction est dni par la base et les rgles. Cest--dire :
une partie B de U : B U : la base, ventuellement innie
un ensemble 1 (les Rgles) doprations R :
R : U
k
U (en nombre ni)
Exemple On dnit lensemble X
d
:
X
d
:
_
B = 1
1 = x x.0
Lensemble X
d
qui est dni par ce schma dinduction vrie les trois points :
B X
d
application des rgles : R 1, x
1
, x
2
, . . . x
k
X
d
R(x
1
. . . x
k
) X
d
clause de fermeture : X
d
ne contient que des lments construits en partant de la base en appliquant un
nombre ni de rgles.
Exemple 1000 = R(R(R(1)))
2-c. Induction structurelle
Thorme 3:
Soit E dni par un schma dinduction (B, 1). Soit T(x) un prdicat dpendant de x E.
Si les deux conditions suivantes sont vries :
Base : x BT(x) est vrai
Induction : Si R : E
k
E 1, on a :
1 i k, T(x
i
)vrai T(R(x
1
. . . x
k
))
Alors, par le principe dinduction structurelle :
x E, T(x) est vrai
Remarque Cest une gnralisation du premier principe de rcurrence dans N. On a en fait :
N :
_
B = 0
1 = R : n n + 1
8/37
http://julien2331.free.fr 3.. INDUCTION BIEN FONDE, OU NOETHRIENNE
2-d. Exemple de preuve par induction structurelle
Dmonstration Soit le vocabulaire V = a, b. Soit E dni par le schma dinduction suivant
E :
_
B =
1 = R
1
, R
2

Avec
_
R
1
: (u, v) E
2
aubv
R
2
: (u, v) E
2
buav
Lide est de montrer que
E = w a, b

, [w[
a
= [w[
b

On va donc faire une preuve par induction structurelle pour dmontrer une inclusion. Montrons que les mots
engendrs par le schma ont bien autant de a que de b :
Base : : [[
a
= [[
b
= 0 : OK
Hypothse dinduction : Soient u,v deux mots engendrs par le schma, tels que [u[
a
= [u[
b
et [v[
a
= [v[
b
.
Alors R
1
(u, v) = aubv, et donc
[R
1
(u, v)[
a
= [R
1
(u, v)[
b
De plus, R
2
(u, v) = buav, do
[R
2
(u, v)[
a
= [R
2
(u, v)[
b
Par le principe dinduction structurelle, linclusion est dmontre :
E L
On voudrait montrer lautre inclusion. Pour cela, il faut introduire un autre type dinduction 2
3. Induction bien fonde, ou noethrienne
3-a. Ordre bien fond
Dnition 2. Soit E un ensemble et une relation dordre . Cette relation est un ordre bien fond sil
nexiste pas dans E de suite innie strictement dcroissante selon
Dnition 3. (Dnition quivalente)
est un ordre bien fond sur E Toute partie non vide de E admet au moins un lment minimal.
Exemple (Z, <) nest pas bien fond
T(V

), est bien fond.


Remarque Ce nest pas un ordre total
Proprit 1:
une condition susante pour quun ordre soit bien fond :
h : E N, (x, y) E
2
, x <
E
y h(x) <
N
h(y)
Dmonstration Soit F E non vide, et soit m = minh(x), x F. On note x
m
F tel que h(x
m
) = m.
Alors
x F, h(x
m
) h(x)
Donc x
m
est un minimal de F car si il existait z F tel que z x
m
, on aurait par dnition de h : h(z) h(x
m
),
ce qui est impossible. 2
9/37
http://julien2331.free.fr CHAPITRE II. INDUCTION ET RCURRENCE
3-b. Induction bien fonde
Thorme 4:
Soit (E, <) bien fond. Soit T(x) un prdicat dpendant de x. Si les deux conditions suivantes sont vries :
1. Base : Pour tout minimal de E, T(x) est vrai.
2. Induction :
Si x non minimal, y E, y < x, T(y) vrai T(x) est vrai
Alors
x E, T(x) est vrai.
Dmonstration Soit F = x E, T(x) vrai E. Soient R = E, F = x E, T(x) faux.
Par labsurde, supposons que R ,= . Comme E est bien fond, alors R admet un minimal not r. Par dnition
de R, T(r) est faux. Donc r nest pas un minimal de E, sinon la clause 1 sappliquerait.
Soit y < r quelconque. y / R , car sinon r ne serait pas minimal dans R. Ainsi on sait que y F. Do P(y)
est vrai, et par 2., P(r) est vrai.
Faux car r R. Ainsi, cela prouve que R = et que E = F. Do le rsultat :
x E, T(x) est vrai
On a donc le rsultat. 2
3-c. Exemple de preuve par induction bien fonde
Exemple Application au cas du langage L = w, [w[
a
= [w[
b
. On va enn montrer que L E.
Dmonstration Considrons la runion des L
n
= mots 2n lettres :
+
_
n=0
L
n
On veut montrer que si on prend un mot 2n lettres qui a autant de a que de b, alors on peut le construire
par le schma E dni prcdemment. On fait une preuve par induction bien fonde :
1. base : lment minimal : : [[
a
= [[
b
= 0. est engendr par E car cest la base du schma.
2. induction : Soit n N tel que lon ait :
i < n, L
i
est engendr par E
Montrons que L
n
est engendre par E.
Soit x L
n
. Supposons par exemple que x commence par la lettre a. Alors :
(u, v) L, [u[
a
= [u[
b
, [v[
a
= [v[
b
, x = aubv
De plus,
[x[ = 2n [u[, [v[ 2(n 1)
(i, j) N
2
, u L
i
, v L
j
Par lhypothse dinduction, u et v sont gnrs par E. Ainsi, en appliquant u, v x = aubv, on sait
que x est engendr par E. On a donc montr que :
x L, x est engendr par E
Exemple Le pgcd.
a N

, pgcd(a, a) = a
(a, b) N

2
, pgcd(a, b) =
_
pgcd(a, b a) si a < b
pgcd(a b, b) si a > b
Cette fonction est-elle bien dnie ? Sait-on le calculer pour toute valeur de N

?
10/37
http://julien2331.free.fr 4.. FONCTIONS DFINIES SUR UN SCHMA DINDUCTION
Dmonstration On va dj montrer que lon a une relation dordre bien fonde.
1. Ordre bien fond.
(a, b) <
app
_
(a +b, b)
(a, a +b)
Cet ordre est bien fond car h(a, b) = a +b satisfait :
(a, b) <
app
(a

, b

) h(a, b) < h(a

, b

)
On peut donc maintenant montrer que pgcd est bien dnie.
2. Base. lments minimaux = (a, a), a N et pgcd(a, a) est bien dni.
3. Induction. Soit un couple (a, b) non minimal. On suppose que (x, y) <
app
(a, b), pgcd(x, y) existe. Alors :
pgcd(a, b) =
_
pgcd(a, b a) si a < b et (a, b a) <
app
(a, b)
pgcd(a b, b) si a > b et (a b, b) <
app
(a, b)
donc pgcd(a, b) est dni. 2
Exemple Fonction de Ackerman : elle est dnie par rcurrence :
(m, n) N
2
,
_
_
_
A(0, n) = n + 1
A(m, 0) = A(m1, 1)
A(m, n) = A(m1, A(m, n 1))
On peut la plonger dans lordre lexicographique des couples :
(x, y) < (x

, y

) x < x

ou x = x

et y < y

4. Fonctions dnies sur un schma dinduction


Exemple Soit la fonction f : N N dnie par :
_
f(0) = 1
f(n + 1) = (n + 1)f(n)
Alors cette fonction peut tre dnie sur N par le schma dinduction suivant :
_
Base : 0
Rgles : n n + 1
Dnition 4. Soit E dnie sur un schma dinduction
_
Base : B E
Rgles : 1 : U
k
U
On peut dnir une fonction f :
_
Base : x B, f(x)
Rgles : 1, f(1(x
1
, x
2
, . . . , x
n
))
Exemple m : N N N
_
Base : m(a, 0) = 0
Rgles : m(a, n + 1) = m(a, n) +a
m(a, n) = na
11/37
http://julien2331.free.fr CHAPITRE II. INDUCTION ET RCURRENCE
Exemple m : N N N
_
_
_
Base : m(a, 0) = 0
Rgles :
m(a, 2n) = m(2a, n)
m(a, 2n + 1) = a +m(2a, n)
m(a, n) = na
Exemple m : V

N
_
m() = 0
a V, m(a.u) = 1 +m(a)
Longueur du mot
Exemple X
d
= 1, 10, 100, 1000, . . .. On a en fait :
X
d
:
_
B = 1
1 : x x.0
on pose l :
_
l(1) = 0
l(x.0) = 1 +l(x)
et p :
_
p(1) = 1
p(x.0) = 2p(x)
.
Alors on a la proprit suivante :
p(x) = 2
l(x)
.
Dmonstration On peut montrer cela par induction structurelle.
base : p(1) = 1 et 2
l(1)
= 2
0
= 1
induction : Soit x X
d
tel que p(x) = 2
l(x)
.
p(x.0) = 2p(x)
= 2.2
l(x)
= 2.2
l(x.0)1
= 2
l(x.0)
Exemple
V

:
_
Base : :
Induction : 1 : a V, y ay
On peut alors dnir sur V

lordre lexicographique : f(x, y) x < y :


_
Base : f(, x) est vrai
Induction : f(ay, x) est vrai (x = ax

et f(y, x) est vrai) ou (x = bx

et f(a, b) est vrai)


.
12/37
Chapitre III
Grammaires
1. Dnition dune grammaire
Exemple
X
d
:
_
o 1
o o0
On peut former des mots de cette faon :
o
1
1
o
2
o0
2
o00
1
100
Dnition 5. Une grammaire G =< V
T
, V
N
, o, 1 >
V
T
: Vocabulaire terminal (le V de dhabitude)
V
N
: Vocabulaire non terminal (symboles auxiliaires)
o V
N
: Axiome (Start)
1 : Rgles de rcriture
Exemple G =< a, b, o, o, o [ aobo [ boao > On a alors :
L(G) = m a, b

, [m[
a
= [m[
b

2. Relation de drivation
Dnition 6. On dit que x = y si et seulement sil existe une rge u v telle que
_
x = w
1
uw
2
y = w
1
vw
2
Exemple Avec A ab 1.
Si x = cAc et y = cabc, alors x = y.
Dnition 7. Drivation : Suite nie de mots qui drivent les uns des autres.
x
0
x
1
x
k
x
k
est driv partir de x
0
en k pas. On le note encore
x
0
=
k
x
k
On dnit classiquement =

et =
+
.
13
http://julien2331.free.fr CHAPITRE III. GRAMMAIRES
Exemple On peut donc crire pour X
d
:
o =

1000 et o =
4
1000
Thorme 5:
Le langage engendr par une grammaire G est :
L(G) = x V

T
, S

x
Exemple G =< a, b, o, o, o ao [ bo [ >
On voit clairement que L(G) = tous les mots composs de a et de b.
Exemple [ Langage des parenthses ]
On pose V
T
= a, b et V
N
= o. Le langage des parenthses peut tre dni par ces trois grammaires :
G
1
: o aob [ oo [
G
2
: o aobo [
G
3
: o oaob [
Exemple G

: o ao [ bo [ oa [ ob [ : Grammaire ambigue En eet, on peut obtenir un mme mot en


appliquant des rgles direntes :
o ao aao aa
o oa aoa aa
An contraire, G =< a, b, o, o, o ao [ bo [ > nest pas ambigue
Exemple Le langage des mots sur a, b qui ont un nombre pair de a peut tre dni ainsi :
_
o bo [ aT [
T ao [ bT
Linraire droite.
Exemple
_

_
o #a#
#a #B
Ba aaB
B# aa#
quelconque
#aaaa# #Baaa# #aaBaa#
14/37
h
t
t
p
:
/
/
j
u
l
i
e
n
2
3
3
1
.
f
r
e
e
.
f
r
2
.
.
R
E
L
A
T
I
O
N
D
E
D

R
I
V
A
T
I
O
N
Langage Grammaires Exemples x L(G) L(G
1
) = L(G
2
) Ambigu
Rguliers
Rationnels
Linaires droite
_
_
A uB
A u
A, B V
n
u V

T
Nombre pair de a
V

X
d
= 1, 10, 100 . . .
oui oui oui
Hors
Contexte
Hors contexte
A , A V
N
et (V
N
V
T
)

a
n
b
n
/n > 0
palindrmes

oui non non


Quelconques,
Rcursivement
numrables
Quelconques

(, ) (V
N
V
T
)

#a
2
n
#
a
n
b
n
c
n
/n 0
non non non
Non
rcursivement
numrable
Inexistantes
programmes Ada
qui calculent
le pgcd
non non non
1
5
/
3
7
http://julien2331.free.fr CHAPITRE III. GRAMMAIRES
16/37
Chapitre IV
Les Langages Rguliers
1. Expressions rgulires
Dnition 8. Soit V un vocabulaire. On dnit le schma dinduction E suivant :
Base : et E, et a V, a E
Rgles :
_
_
e
1
, e
2
e
1
+e
2
e
1
, e
2
e
1
.e
2
e e

Dnition 9. [Langage reprsent par une expression rgulire]


1. Base :
L() =
L() =
L(a) = a
2. Rgles :
L(e
1
+e
2
) = L(e
1
) L(e
2
)
L(e
1
.e
2
) = L(e
1
).L(e
2
)
L(e

) = L(e)

Exemple Si E = ((a

+b.c)

+) + , alors on a :
L(E) = (a

bc)


Exemple 10

= X
d

Exemple On peut comparer des expressions rgulires pour savoir si elles sont gales :
(a

(ab)

= (a + ab)

(a

b)

,= (a +b)

= V

car (a

b)

ne contient pas le mot a.


Exemple Sous Unix, la commande grep -E (t|mes|ass(e|es|ion|iez|ent)) toto.txt utilise en fait
lexpression rgulire suivante :
at + mes + ass.(e+es+ions+iez+ent)
Dautres commandes font aussi appels des expressions rgulires, comme sed ou encore perl.
Dans les langages C, C++, Ada, elles sont utilises dans la librairie RegExp.
17
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
2. Automates Finis
Dnition 10. Machine Abstraite Mmoire Finie
0 0
q
1
Formellement, on dnit une machine par / = Q, V, , i, F) :
Q : Ensemble ni dtats
V : Vocabulaire
: Ensemble des transitions T(QV Q)
i : tat initial i Q
F : tats naux F Q
Exemple X
d
, le retour . . .
i f
1
0
on peut facilement voir avec cet automate si un mot appartient ou non X
d
.
100 : i
1
f
0
f
0
f 100 X
d
101 : i
1
f
0
f
1
101 / X
d

Exemple Constantes binaires paires


i f
0
1
1 0
On a aussi une autre solution, mais avec un automate qui nest pas dterministe :
i f
0,1
0
18/37
http://julien2331.free.fr 3.. QUIVALENCE DES TROIS MODLES
On peut donner la table de transition de ce dernier automate :
0 1
i i, f i
f

Dnition 11. Langage reconnu par un automate


Le langage reconnu par un automate est lensemble des mots tel quil existe un chemin dans lautomate qui part
de ltat initial, qui aboutit un tat nal, et dont les transitions portent les lettres du mot. Formellement, le
mot = a
1
a
2
. . . a
n
L(/) si et seulement si
(q
0
, q
1
, . . . , q
n
),
_
_
_
q
0
= i
q
n
F
i 1..n, (q
i1
, a
i
, q
i
)
Remarque Il y a des modles quivalents, avec :
plusieurs tats initiaux
un seul tat nal
des mots comme transition.
Exemple a

i f i f

a
b b
b
a

Pour ce mme langage, on peut donner la grammaire associe :


_
o ao [ T
T bT [
ou
_
o oa [ T
T T b [
3. quivalence des trois modles
3-a. Lien entre langage rgulier et automate ni
Thorme 6:
Tout langage rgulier est reconnu par un automate ni.
Dmonstration On fait bien entendu une preuve par induction structurelle.
1. Base :
(a) :
(b) :

(c) a V :
a
19/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
2. Induction : Si on a e
1
et e
2
reconnus respectivement par les automates
/
1
= Q
1
, V
1
,
1
, i
1
, F
1
)
/
2
= Q
2
, V
2
,
2
, i
2
, F
2
)
(a) e
1
, e
2
sont reconnus e
1
.e
2
est reconnu par un automate ni.
i
1
i
2
/
1 /
2

On en dduit par lautomate ci-dessus que e


1
.e
2
est reconnu par lautomate :
/

= Q
1
Q
2
, V
1
V
2
,

, i
1
, F
2
)
avec

=
1

2
F
1
i
2

(b) e
1
, e
2
sont reconnus e
1
+e
2
est reconnu par un automate ni.
i
1
i
2
/
1
/
2
i

On en dduit par lautomate ci-dessus que e


1
+e
2
est reconnu par lautomate :
/
+
= Q
1
Q
2
i, V
1
V
2
,
+
, i, F
1
F
2
)
avec
+
=
1

2
(i, , i
1
), (i, , i
2
)
(c) e
1
est reconnu e

1
est reconnu par un automate ni.
i
1
/
1 i

f

2
Le langage rgulier e

1
est reconnu par lautomate :
/

= Q
1
i, f, V
1
,

, i, i, f)
avec

=
1
(q, , f)/q F
1
(q, , i
1
)/q F
1
(i, , i
1
)
20/37
http://julien2331.free.fr 3.. QUIVALENCE DES TROIS MODLES
3-b. Langage reconnu par un automate
Proprit 2:
Soit lautomate / dni par :
/ = Q, V , , i, F)
Q = q
1
, q
2
, . . . , q
n

i,j
= a V , (q
i
, a, q
j
)
On peut donner le systme dquation associe / :
_

_
x
i
= +
n

j=1

i,j
x
j
si q
i
F
x
i
=
n

j=1

i,j
x
j
sinon
x
i
est un langage. Cest le langage reconnu par / partant de ltat q
i
. Le systme a pour solution :
x
1
= L(/
1
)
x
2
= L(/
2
)
.
.
.
x
n
= L(/
n
)
avec
/
i
= Q, V , , q
i
, F)
Dmonstration Soit u = u
1
u
2
. . . u
n
V

. Alors :
u L(/
i
) il existe un chemin partant de q
i
, arrivant un tat nal et tiquet par u.
q
i f
u
1
u
2 . . .
u
n
Cest encore quivalent :
soit u et q
i
F
soit il existe un chemin de longueur strictement positive entre q
i
et un tat nal, cest dire :
u = av avec a
i,j
, v L(/
j
)
q
i f
v
2 . . .
v
n
q
j
a
v
1

_
L(/
i
) = +
n

j=1

i,j
L(/
j
) si q
i
F
x
i
=
n

j=1

i,j
L(/
j
) sinon
Ainsi, le langage reconnu par / est L(/
k
) avec q
k
= i 2
21/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
3-c. Dmonstrations sur les langages rguliers
Exemple
_
x
1
= 1.x
2
x
2
= + 0.x
2
On cherche obtenir x
2
partir de lquation x
2
= + 0.x
2
On va donc introduire le thorme suivant.
Thorme 7 (Lemme dArden):
Les quations de la forme x = x + ont une plus petite solution qui vaut :
x =

Dmonstration On montre que le langage x =

est la plus petite solution :


1.

est une solution.

+ = (

+)
= (
+
+)
=

2. Cest la plus petite au sens de linclusion. Soit L solution de x + = x.

=
_
n0

Montrons par rcurrence sur i que i,


i
L :
(a) Base :
0
= = et L car L = L +
(b) Hypothse dinduction :
i
L
(c) Induction :
i+1
=
i
L L + = L 2
Exemple Si on a lquation :
x
1
= (x
2
+a)x
1
+x
2
.x
4
Alors la solution pour x
1
est :
x
1
= (x
2
+a)

(x
2
.x
4
)
Thorme 8:
Expression rgulire Automates nis Grammaires linaires droite
Dmonstration On a dj vu lquivalence entre expression rgulire et automate ni. On constate galement
lquivalence avec les grammaires linaires droites, en considrant la grammaire suivante :
_

_
o
i

n

j=1

i,j
o
j
o
i

n

j=1

i,j
o
j
[ si q
i
F
22/37
http://julien2331.free.fr 3.. QUIVALENCE DES TROIS MODLES
Exemple
_
A u
1
B
A u
2
= x
A
= u
1
x
B
+u
2
Exemple Le langage a
n
b
n
, n 0 nest pas un langage rgulier.
Thorme 9 (Lemme de ltoile, Lemme de la pompe):
Soit L un langage rgulier. Alors il existe p N tel que tout mot z L, [z[ > p peut scrire z = uvw, tel que :
1. v ,=
2. [uv[ p
3. n N, uv
n
w L
Dmonstration L est rgulier donc est reconnaissable par un automate dtats nis, not L = L(A). Soit p
le nombre dtats de A. On suppose de plus que cet automate nest pas transitions.
Soit z L tel que z soit reconnu par A, et [z[ p. On peut noter z = a
1
a
2
. . . a
|z|
.
a
1
a
2 . . .
a
|z|
[z[ > p donc le chemin est de longueur suprieure p. Donc ce chemin passe au moins deux fois par le mme
tat. Soit r un de ces tats.
i
r f
w
1 . . .
w
t
u
1 . . .
u
p
v
1
. . .
. . .
v
q
On note :
u = u
1
. . . u
p
le mot entre i et r
v = v
1
. . . v
q
le mot entre r et r
w = w
1
. . . w
t
le mot entre r et ltat nal.
On a bien z = uvw. De plus, comme on peut faire autant de tour de boucle que lon veut :
n N, uv
n
w L
1. v ,= car il faut une boucle.
2. [uv[ p : on choisit le r le plus proche de ltat i. Autrement dit, on prend u et v les plus petits possibles.
Ainsi, le chemin qui reconnait uv ne passe jamais deux fois par le mme tat (sauf r la n).
Remarque Cest une condition susante : il y a des langages non rguliers qui satisfont aussi ce lemme.
Remarque Pour prouver quun langage nest pas rgulier, on utilise la contrapose du lemme :
p, z L, [z[ > p, tel que pour toute dcomposition z = uvw avec v ,= et [uv[ p. On trouve un n tel
que uv
n
w / L.
23/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
Exemple a
n
b
n
, n 0 nest pas rgulier. En eet :
Soit p quelconque. Prenons z = a
p+1
b
p+1
. On a donc [z[ > p. On analyse toutes les dcomposisions possibles.
z = uvw avec v ,= et [uv[ p. On a en fait un seul cas :
v = a
i
, 0 < i p + 1
Or pour n = 0, uv
n
w = uv
0
w = a
p+1i
b
p+1
/ L. Le lemme ne peut pas sappliquer : le langage nest donc pas
rgulier.
4. Automates dterministes
Dnition 12. Soit lautomate A = Q, V, , i, F) Alors lautomate A est dterministe si et seulement si il
na pas d transitions et :
q Q, a V, il y a au plus un p Q, (q, a, p)
Si on a en plus :
! p Q, (q, a, p)
Alors lautomate est complet.
Remarque On peut dire que est une fonction et crire (q, a) = p. On peut tendre :
_
(q, ) = q
a V, x V

, (q, ax) = ((q, a), x)


(q, x) = p il existe un chemin entre q et p tiquet par x. Le chemin est de longueur [x[, et donc :
L(A) = x V

, (i, x) F
Exemple Lautomate suivant, qui a pour langage X
d
, est complet et dterministe :
i

f
0
1
1
0
0, 1
4-a. limination des -transitions
Thorme 10:
Si un langage L sur V est reconnu par un automate ni, alors il est reconnu par un automate ni sans -
transitions.
Dmonstration Soit A = Q, V , , i, F) un automate quelconque. On construit lautomate B = Q, V, , i, G)
avec :
(p, a, q) r Q tel quun chemin de A tiquet va de p r et (r, a, q) .
G = F p Q, un chemin de A va de p un tat nal et est tiquet par
Prouvons que A et B sont quivalents.
24/37
http://julien2331.free.fr 4.. AUTOMATES DTERMINISTES
1. On va dj montrer la proprit :
Proprit 3:
P(x) : un chemin de A tiquet x entre p et q r Q, tel quil existe un chemin de B tiquet x de
p r et un chemin de A tiquet menant de r q.
Dmonstration On dmontre cette proprit par rcurrence sur [x[ :
base : [x[ = 0 : x = . Alors P(x) est vrai avec p = r.
Induction Si P(x) est vrai pour [x[ = n :
On considre le mot ax, a V . Il existe un chemin tiquet ax dans A entre p et q.
r Q, tel qu il y a dans A un chemin tiquet a de p r et un chemin tiquet x de r q.
r, s, t Q tels quun chemin de A tiquet va de p s et de t r et (s, a, t) , et un chemin
tiquet x va de r q.
p s t r q
a
x
1
x
2 . . .
x
n
par dnition de B : (t, r) Q
2
, (p, a, t) et un chemin dans A tiquet x entre r et q et un
chemin tiquet entre t et r.
t Q, (p, a, t) et un chemin dans A tiquet x entre t et q
p
t
q
x
1 . . .
x
n a
Par lhypothse de rcurrence, il existe u Q tel que :
p
t
q
a
u
x
1 . . .
x
n
P(ax). 2
2. Montrons que L(A) = L(B).
x L(A) un chemin dans A entre i et f F tiquet par x
par P(x) r Q tel quun chemin de B va de i r et un chemin tiquet
de A va de r f
Par dnition de G, il existe dans B un chemin de i r G
tiquet x
x L(B)
2
Exemple On considre le langage L(A) = 0

+ 1

de lautomate suivant :
i
q
1
q
2
q
3
q
4

0 1
0 1
En utilisant la mthode dcrite prcdemment, on peut construire lautomate B correspondant, sans -
transitions.
25/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
i
q
1
q
2
q
3
q
4
0
1
0
1
0 1
0 1
1
0
f(p) = q Q, (p, , q) (IV.1)
g(p, x) =
_
rf(p)
q Q, (r, a, q) (IV.2)

r g(p, x) (p, a, r)
4-b. Equivalence entre automates et automates dterministes
Thorme 11:
Tout langage reconnu par un automate non dterministe sans -transitions peut tre reconnu par un automate
dterministe.
Dmonstration Soit A = Q, V, , i, F) sans -transitions.
On construit lautomate B dni par : B = T(Q), V, , i, G) avec :
(P, a) =
_
pP
q Q, (p, a, q)
P T(Q)
G = P T(Q), P F ,=
1
2
3
1 2, 3
a
a
a
Exemple 0

+ 1

0 1
q
0
q
1
, q
4
q
1
, q
3
q
1
q
1
q
2
q
2
q
2
q
3
q
4
q
3
q
4
q
4

26/37
http://julien2331.free.fr 4.. AUTOMATES DTERMINISTES
q
1
q
1
, q
4
q
2
q
2
, q
3
q
4
0
1
1
0
0
1
0 1
1 0
0, 1
0 1
q
0
q
1
, q
4
q
2
, q
3

q
1
, q
4
q
1
, q
4
q
2

q
2
, q
3
q
4
q
2
, q
3

q
2
q
2
q
4
q
4


Suite de la preuve :
Montrons maintenant que L(A) = L(B) :
1. (P, x) =
_
pP
q Q, il y a un chemin tiquet x dans A qui va de p q
2.
x L(A) Il existe un chemin tiquet x dans A entre i et un tat nal de A
(i, x) F ,=
(i, x) G
x L(B)
Dmonstration Preuve de 1 On fait une rcurrence sur [x[ :
1. Base : x = . A est sans -transitions donc
P =
_
pP
q Q, chemin de trace entre p et q.
(P, ) = P car B est dterministe. 2
Ainsi, 1. = 2..
2. Induction : Supposons que 1. est vrai pour x V
+
. On montre que cest encore vrai pour xa, a V .
s
_
pP
q Q, il existe un chemin tiquet xa entre p et q
r P, il existe un chemin tiquet xa entre r et s
r P, t Q, x est un chemin entre r et t et un chemin tiquet a entre t et s
il existe un chemin tiquet x entre r et t
t
_
pP
q Q, il existe un chemin tiquet x entre p et q et (t, a, s)
Par hypothse, t (P, x) et (t, a, s)
Par dnition de , s ((P, x), a) = (P, xa)
Ainsi, on a dmontr que :
Automate quelconque Automate sans -transitions Automate dterministe. 2
27/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
5. Minimisation dun automate
5-a. Automate minimal
Exemple Soit lautomate :
p
q
t r f
s z
a
a
b c
b
a
On a alors t z et p q s.
Dnition 13. Soit A un automate dterministe. Deux tats p et q sont quivalents si et seulement si :
p q x V

, ((p, x) F (q, x) F)
On note [p] la classe dquivalence de p.
Proprit 4:
p q = (x V

, (p, x) (q, x))


Exemple Si on sait que p = s, alors (p, a) (s, a). Do :
t z
Thorme 12:
Soit A un automate dterministe. Lautomate minimal quivalent A est :
(A) = R, V, , [i], G)
R : Ensemble des classes dquivalence de sur Q
G : Ensemble des classes dquivalence des tats de F
p Q, a V, ([q], a) = [(p, a)]
Dmonstration Montrons que L(A) = L((A)).
x L(A) (i, x) F
[(i, x)] G
([i], x) G
x L((A))
(A) est minimal si A est initialement connect, cest dire si tous ses tats sont accessibles depuis ltat i. 2
28/37
http://julien2331.free.fr 5.. MINIMISATION DUN AUTOMATE
5-b. Construction de (A)
Suite dapproximations de .
k
, k 0
p
k
q x V

, [x[ k
((p, x) F (q, x) F)
Alors
p
k+1
q [p
k
q et a V, (p, a)
k
(q, a)]
Dmonstration On dmontre cette proprit :

k+1
q implique que :
1.
p
k
q
2.
(p, x) F (q, x) F pour [x[ k + 1
(p, ay) F (q, ay) F, x = ay, [y[ k
((p, a), y) F ((q, a), y) F
(p, a)
k
(q, a)

a V, (p, a)
k
(q, a)
((p, a), x) F ((q, a), x) F, [x[ k
(p, ax) F (q, ax) F, [ax[ k + 1
p
k+1
q 2
Exemple Soit lautomate :
1 2 3
4 5 6 7
8
b
a
a
a
b
a
b
a, b
b
a
a
b a
b
b

0
: 1, 2, 4, 5, 6, 7, 8 [ 3

1
: 1, 4, 8 [ 2, 5 [ 6, 7 [ 3

2
: 1, 4 [ 8 [ 2, 5 [ 6, 7 [ 3
29/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
Lautomate minimal quivalent peut tre dessin.
14
25
3
67
8
a, b
b
a
a
a
b
b
a, b

Exemple Intrt en Algorithmique


Si on considre lautomate :
i
q r

a
b
b
b
a
a
a, b
Grce cet automate, on peut dduire une criture algorithmique. Voici la transposition de lautomate en
criture algorithmique :
1. Algorithme classique :
tat := i
tant que mot pas fini faire
C := caractre suivant;
selon tat faire
cas i : si c =b alors
tat := q;
sinon exit;
cas q : si c =a alors
tat := r;
sinon exit;
cas r : si c=a alors
tat := q;
sinon exit;
fin selon;
fin tant que;
reconnu := (tat=q);
30/37
http://julien2331.free.fr 6.. CLTURE
2. algorithme rcursif :
reconnait_i :
si mot fini renvoyer faux ;
c := caractre suivant;
si c = b renvoyer reconnait_q;
sinon renvoyer faux ;
reconnait_q :
si mot fini renvoyer vrai ;
c := caractre courant;
si c := a alors renvoyer reconnait_r;
sinon renvoyer faux ;
reconnait_r :
si mot fini renvoyer faux ;
c := caractre courant;
si c = a renvoyer reconnait_q;
sinon renvoyer faux ;

6. Clture
Thorme 13:
Si e
1
et e
2
sont deux langages rguliers :
1. e = e
1
e
2
2. e = e
1
.e
2
3. e = e

1
4. e = e
1
e
2
sont des langages rguliers.
Dmonstration Cest immdiat par dnition des expressions rgulires. 2
Thorme 14:
Si e
1
et e
2
sont deux langages hors contexte :
1. e = e
1
e
2
2. e = e
1
.e
2
3. e = e

1
sont des langages hors contexte. Mais e = e
1
e
2
ne lest pas forcment.
Dmonstration En eet, on peut donner un contre exemple :
a
k
b
n
c
n

. .
Hors contexte
a
p
b
p
c
l

. .
Hors contexte
= a
n
b
n
c
n

. .
pas Hors contexte
31/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
7. Substitution
Dnition 14. Soient V et W deux vocabulaires. Une substitution associe chaque lettre de V un langage
sur W.
s : V T(W

)
a L
a
W

Exemple V = a, b, W = 0, 1
s(a) = 01, 10
s(b) = 000, 111
On tend s aux langages sur V :
s() =
s() = a
1
a
2
. . . a
n
= s(a
1
)s(a
2
) . . . (a
n
), a
i
V
s(L) =
_
L
s(), L V

s(ab) = s(a)s(b)
= 01, 10.000, 111
= 01000, 10000, 10111, 01111
s(b

) =
_
b

s()
= s
_
_
_
n0
b
n
_
_
= s() +s(b) +s(bb) + +s(b
n
) +. . .
= (000 + 111)

= 000, 111

Dnition 15. La substitution s est dite rgulire si et seulement si tous les s(a) sont rguliers.
Thorme 15:
Si s est rgulire et L est rgulier, alors :
s(L) est rgulier
Exemple Application du thorme :
L = a
i
b
j
c
k
/i +j = k 0
On se demande si L est rgulier. On peut procder de plusieurs faons :
1. On applique le lemme de ltoile :
z = a
p
b
p
c
2p
La seule dcomposition possible est u = a
i
car [uv[ p : On voit que uv
0
w / L. Ainsi, on peut dire que
ce langage nest pas rgulier.
2.
L b

..
Rgulier
= b
n
c
n
..
Hors contexte
/n 0
Si L tait rgulier, alors L b

le serait aussi, donc L nest pas rgulier.


3. s(a) = a, s(b) = a, s(c) = c rgulires.
s(L) = a
n
c
n
/n 0 Hors contexte L non rgulier
32/37
http://julien2331.free.fr 7.. SUBSTITUTION
Dmonstration Preuve du Thorme
On peut utiliser plusieurs mthodes :
1. En utilisant les automates :
b
c
d
a
L(A) = L
a, A
a
/L(A
a
) = s(a)
s(a) :
b
s(b) :
x
y
Existe-t-il A s/L(A
s
) = s(L) ?
A
s
: je remplace chaque transition
a
pap A
a
.
2. en utilisant lexpression rgulire :
L = e
s(a) = l
a
? e
s
= s(L)?
Ide de la dmonstration par induction :
s(L) =
_
L
s()
=

L
s()
=

s(a
i
)
=

e
i
qui est une expression rgulire
s() = s(a
1
)s(a
2
) . . . s(a
n
)
=

s(a
i
)
3. en utilisant les grammaires :
G/L(G) = L
a, G
a
/ L(G
a
) = s(a)
? G
s
/L(G
s
) = s(L)?
Soit G = V, V
N
, o, R) une grammaire qui engendre L.
Soit a V, G
a
= W, V
Na
, o
a
, R
a
) une grammaire qui engendre s(a).
On suppose de plus que tous V
Na
et V
N
sont disjoints, et que G et G
a
sont linaires droite.
_
_
_
X
X aY
x Y
33/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
On construit
G
s
= W, V
Ns
, o, R
s
)
V
Ns
= V
N

_
_
aV
V
Na
_
R
s
= A oaB/A aB R
A /A R
A B/A B R

_
aV
R
a
2
Exemple L = a

b.
_
o ao[bT
T
G
s
:
_
o oao[obT
T
s(a) = (x +y).y :
_
_
_
o
a
xT
a
[yT
a
T
a
y|
a
|
a

s(b) = xy

z :
_

_
o
b
xT
b
T
b
yT
b
[U
b
|
b
z1
b
1
b

On a bien G
s
qui engendre s(L), mais les grammaires de la sorte :
o oao
sont non linaires droite ! On va essayer de trouver un procd algorithmique pour les transformer en gram-
maires linaires droite. Soient :
o [o
a
o] [ [o
b
T ]
T
[o
a
o] x[T
a
o] [ y[T
a
o]
[T
a
o] y[|
a
o]
[|
a
o] o
[o
b
T ] x[T
b
T ]
[T
b
T ] y[T
b
T ] [ [|
b
T ]
[|
b
T ] z[|
b
T ]
[1
b
T ] T
Il reste nir la dmonstration . . .
34/37
http://julien2331.free.fr 8.. LIEN AVEC LE COURS DARCHITECTURE
8. Lien avec le cours darchitecture
8-a. Automate de Mealy
Dnition 16. Dfinition formelle
Un automate de Mealy est un automate de la forme :
Q, V, W, i, , s)
Avec :
Q : tats
V : alphabet dentre
W : alphabet de sortie
i : tat initial
: fonction de transition
s : fonction de sortie
Remarque Un automate de Mealy est dterministe
: QV Q
s : QV W
Dans les automates de Mealy, il ny a quune seule sortie par transition.
Exemple Soit lautomate de Mealy suivant :
a/1 c/0 c/1 b/0
b/0
a/1
a/1
b/0
c/0 b/0
c/1 a/1
s(abcc) = 1011
8-b. Automate de Moore
On dnit un automate de Moore par :
Q, V, W, i, , s)
Cest la mme chose que lautomate de Mealy sauf que :
s : Q W
35/37
http://julien2331.free.fr CHAPITRE IV. LES LANGAGES RGULIERS
Exemple On dessine un automate de Moore :
A/0
B/1
C/0
D/1
a c
b
a
b
c
b
a
c b
c a
Cet automate est une machine de Moore. Il ny a quune seule sortie par tat. Lautomate est complet et
dterministe et ne possde pas dtat nal. Une machine de Moore calcule une fonction :
s(abcc) = 1011
Exemple s(A) = 0.
On peut faire une extension aux mots :
s(q, ) =
s(q, a) = s((q, a)).s((q, a), )
q
p/s
1

8-c. De Moore Mealy


Les deux modles sont quivalents.
On part dune machine de Mealy Me et on veut construire une machine de Moore qui fait la mme chose :
Q

= Q
e
{(q,r)}
W
Machine de Mealy Me :
q p
a/b
Machine de Moore M

r W
(q, r)/x (p, b)/b
a

((q, r), a) = ((q, a), s(q, a))


s

((q, r)) = r
36/37
http://julien2331.free.fr 8.. LIEN AVEC LE COURS DARCHITECTURE
8-d. Minimisation dune machine de Mealy
Il faut trouver les tats q et p tels que q p pour les machines de Mealy.
x V

, on veut la mme rponse pour p et q :


s(q, x) = s(p, x)
1 3
0 2
x/a
x/c
y/a x/a
y/b
y/a
x/c y/b
xyyx = aabc
q
1

k+1
q
2

_
q
1

k
q
2
q
1
a/S
q

A
q

2
/ q
2
a/S
q

2
et q

1

k
q

2
q
1

0
0, 1, 2, 3
0 nest pas quivalent 2 car on na pas la mme sortie.
q
1

1
0, 31, 2

2
0, 31, 2
0, 3 1, 2
x/a
x/c
y/b
y/a
8-e. Exemple dautomate appliqu limagerie
SELECT EDIT
TRAITE
clic/select
esc / deselect
e/
e/
R/dessin_rectangle
C/dessin_cercle
M/move
D/delete
e/
37/37