Vous êtes sur la page 1sur 30

Ces notes sont inspires du support o

iel du ours : Mthodes mathmatiques pour l'informatique , de


Ja ques Vlu, hez Dunod.
Rappels et notations

On suppose onnue les notions d'ensembles, de fon tions, de relations, d'entiers naturels. On note l'ensemble
vide. Les lments d'un ensemble X sont souvent appels les points de X .

Ensembles d'entiers. On note N l'ensemble des entiers naturels. Soient p et q deux entiers tels que q p.
On note [p, q]N ou plus simplement [p, q] l'ensemble des entiers ompris au sens large entre p et q :
[p, q] = {n N, p n q}.

On onvient que si q < p alors [p, q] est vide. Cette onvention est ompatible ave le fait que l'ensemble
[1, n] ontient exa tement n entiers pour tout entier n, en parti ulier pour n = 0.

Fon tion vide. On onvient que pour tout ensemble X il y a exa tement une fon tion de l'ensemble vide
dans X , appele la fon tion vide.
Tuples, ouples, produit artsien. Soit X un ensemble et n un entier. Un n-uple d'lments de X
est une suite de n points de X , 'est dire une fon tion de l'ensemble [1, n] dans X . Conformment
l'usage en matire de suites, si x est un n-uple, on note xi (au lieu de x(i)) l'image de l'entier i et on rit
x = (x1 , . . . , xn ). Un n-uple est don omme un ensemble n lments sauf que les lments sont numrots
et peuvent apparatre plusieurs fois. On note X n l'ensemble des n-uples d'lments de X . Un ouple est un
2-uple.
Dans le as o n = 0 il y a exa tement un 0-uple, le uple vide, qui est la fon tion vide de [1, 0] dans X . Par
onsquent X 0 est un singleton.
Soient X et Y deux ensembles. Le produit artsien de X et Y not X Y est l'ensemble des ouples
d'lments de X Y dont le premier lment appartient X et le se ond Y :
X Y = {(x, y) (X Y )2 tel que x X, y Y }.

Dans le as o X = Y on a X X = X 2 . Plus gnralement X n = X X .

Ensemble des parties. Soit X un ensemble. Une partie

P de X est un sous-ensemble de X , 'est dire


un ensemble dont tous les lments sont lments de X ; on rit alors P X . On note P (X) l'ensemble des
parties de X :
P (X) = {P, P X}.

Ensemble des fon tions. Dans es notes, les termes fon tion et appli ation sont synonymes. Soient X
et Y deux ensembles. On note Y X l'ensemble des fon tions de X dans Y .
Remarque

On a vu que un n-uple de points de X est une fon tion de [1, n] dans X , don que X n est l'ensemble des
fon tions de [1, n] dans X . Ave la notation que l'on vient d'introduire on a don X n = X [1,n] .

Cardinal d'un ensemble ni. Soit

X est un ensemble ni. On note |X| le ardinal de X , 'est dire


le nombre d'lments de X . Voi i un ertain nombre de rsultats onnus sur les ardinaux : soient X et Y
deux ensembles nis et n un entier ;


 Y X = |Y ||X| ;
 |X Y | = |X| . |Y | ;

 |X n | = |X|n ;
 |P (X)| = 2|X| .
Ces quations sont vraies, y ompris quand X et/ou Y sont vides, gr e notre onvention sur la fon tion
vide (en adoptant toutefois la onvention arithmtique que pour tout entier n on a n0 = 1).
Remarque

La premire quation justie la notation Y X pour l'ensemble des fon tions de X dans Y .
ause de la dernire quation on trouve souvent la notation 2X pour l'ensemble des parties de X . On
verra plus loin que ette quation se justie par le fait qu'une partie de X est ompltement dtermine
par sa fon tion ara tristique qui est une fon tion de X dans {0, 1}, un ensemble deux lments.

Oprations n-aire. tant donne une opration binaire asso iative, par exemple l'addition, on dnit en
gnral une notation P
pour la version n-aire de l'opration ; par exemple la version n-aire de l'addition est
dnote par le signe . Dans le as o n = 0 la onvention est toujours de prendre l'lment neutre de
l'opration : par exemple si n = 0 alors
n
X
i=1
n
[

n
Y

xi = 0,

i=1
n
\

xi = ,

xi = 1,
xi = X.

i=1

i=1

Dans le as de l'interse tion on suppose que elle- i est dnie sur P (X) o X est un ensemble x.

Chapitre 1

Cal ul boolen
1.1

Treillis

Ensembles ordonns, borne suprieure et infrieure, treillis. Soit X un ensemble ordonn et x, y


deux lments de X . On dit que z est la borne suprieure de x et y si :
 z majore x et y , 'est dire z x et z y ;
 z est le plus petit majorant de x et y , 'est dire : pour tout u, si u x et u y alors u z .
On a de mme la dnition de la borne infrieure de x et y en remplaant par .
1.1 Dnition (Treillis, treillis distributif)

Si toute paire d'lments de X admet une borne infrieure et une borne suprieure on dit que X est un
treillis.
Si de plus la borne suprieure distribue sur la borne infrieure et r iproquement, 'est dire si l'on a :
x (y z) = (x y) (x z)
x (y z) = (x y) (x z)

alors le treillis est dit distributif.


Exemple.

L'ensemble N des entiers naturels ordonn par la relation  divise  (p divise n si il existe q tel que
n = pq ) est un treillis : la borne infrieure est le pg d et la borne suprieure est le pp m ; le plus grand
lment est 0 et le plus petit est 1. Est-il distributif ?
Si X est une ensemble, l'ensemble des parties de X ordonn par in lusion est un treillis distributif :
la borne suprieure est la runion et la borne infrieure est l'interse tion. Le plus grand lment est X
lui-mme, et le plus petit est l'ensemble vide.
L'ensemble des parties nies de X est galement un treillis distributif, mais il n'a pas de plus grand
lment.
L'ensemble (d'ensembles d'entiers) {, {1}, {2}, {3}, {1, 2, 3}} est un treillis pour l'in lusion mais il n'est
pas distributif.

1.2 Proposition

Soit X un treillis. On a alors :


 la borne suprieure (ou infrieure) de x et y est unique ; on la notera dsormais x y (ou x y ) ;
 la borne suprieure et la borne infrieure sont des oprations ommutatives et asso iatives : x y =
y x et (x y) z = x (y z) ;

 si X a un plus grand lment, alors elui- i est unique ; on le notera ou 1 selon le ontexte. S'il existe,
le plus grand lment est neutre pour la borne infrieure (x = x pour tout x) et absorbant pour la
borne suprieure (x = pour tout x).
De mme si X a un plus petit lment (not ou 0), elui- i est neutre pour la borne suprieure et
absorbant pour la borne infrieure.

Groupes, anneaux. Un groupe ommutatif ou ablien est un ensemble G muni d'une opration + om-

mutative, asso iative, admettant un lment neutre dans G not 0 et telle que tout lment x de G a un
oppos x. L'lment neutre s'il existe est unique, de mme pour l'oppos.
Un anneau ommutatif est un ensemble A muni d'une opration d'addition + telle que A est un groupe
ommutatif pour + et d'une opration de multipli ation asso iative, ommutative et distributive sur + :
x(y + z) = xy + xz.

Si la multipli ation admet un lment neutre, not 1, l'anneau est dit unitaire.
1.2

Algbre de Boole

1.3 Dnition (algbre de Boole)

Soit B un treillis distributif ave plus grand et plus petit lment. Supposons que tout lment x de B a un

omplmentaire y vriant :

xy =
xy =

On dit alors que B est une algbre de Boole ou un treillis de Boole.


Exemple.

L'ensemble N ordonn par  divise  n'est pas une algbre de Boole.


L'ensemble ordonn {0, 1} est une algbre de Boole.
Soit X un ensemble. On a dj vu que l'ensemble des parties de X est un treillis distributif, 'est galement
une algbre de Boole en dnissant le omplmentaire omme on l'imagine.
Par ontre l'ensemble des parties nies de X n'est pas une algbre de Boole. En revan he l'ensemble des
parties nies ou onies de X est une algbre de Boole (une partie onie de X est une partie de X dont
le omplmentaire est ni).
Si B est une algbre de Boole alors le omplmentaire de tout lment x de B est unique. On le notera xc .

1.4 Proposition (Loi de de Morgan)

Pour tout x et y dans l'algbre de Boole B on a :


(xc )c = x
(x y)c = xc y c
(x y)c = xc y c

1.5 Dnition (Anneau de Boole)

Soit A un anneau ommutatif unitaire. On dit que A est un anneau de Boole si tous ses lments sont
idempotents pour la multipli ation, 'est dire si :
xx = x

pour tout x dans A.

Exemple.

L'ensemble {0, 1} en dnissant l'addition par : 0 + 0 = 1 + 1 = 0 et 1 + 0 = 0 + 1 = 1, et la multipli ation


de la manire naturelle est un anneau de Boole. Cet anneau est aussi onnu sous le nom de Z/2Z et 'est
le seul anneau de Boole qui soit galement un orps.
L'ensemble des parties de X en prenant la diren e symtrique pour l'addition et l'interse tion pour la
multipli ation.
Par ontre l'ensemble des entiers naturels ave l'addition et la multipli ation usuelles n'est pas un anneau
de Boole : sauf 0 et 1, au un entier n'est idempotent.

Soit A un anneau de Boole.

1.6 Proposition

Pour tout x dans A, l'oppos de x est x, 'est dire x + x = 0. Par onsquent on a x(1 + x) = 0 pour tout
x.

Preuve. On montre que x + x = 0 en al ulant (1 + x)2 . Par idempoten e on a (1 + x)2 = 1 + x mais en dveloppant
(puisque la multipli ation distribue sur l'addition) on a (1 + x)2 = 1 + x + x + x2 = 1 + x + x + x, don
1 + x = 1 + x + x + x et en ajoutant l'oppos de 1 + x de haque t on obtient 0 = x + x.

On dnit une relation x y sur A par :


x y ssi x = xy.

1.7 Thorme

La relation ainsi dnie est une relation d'ordre. Muni de ette relation, l'anneau de Boole A est une
algbre de Boole.

Preuve. On dnit x y = x + y + xy et x y = xy . On peut alors vrier que x y est bien la borne suprieure de x
et y , que x y est bien la borne infrieure et que A est distributif. Le omplmentaire est donn par xc = 1 + x.

1.8 Proposition

Dans un anneau de Boole A, on a pour tous x et y


x 1 + y ssi xy = 0.

Soit maintenant B une algbre de Boole. On dnit deux oprations d'addition et de multipli ation sur B :
x + y = (x y) (x y)c
xy = x y
Remarque

En jouant ave les lois de de Morgan et la distributivit, on voit que l'on a :


x + y = (x y) (xc y c )
= (x y c ) (y xc )

1.9 Thorme

Muni de es oprations l'algbre de Boole B est un anneau de Boole.

Une algbre de Boole peut don indiremment tre vue omme un treillis de Boole ou un anneau de Boole.

Isomorphismes. On va nir ette se tion ave un petit thorme trs utile. Un isomorphisme entre deux
ensembles ordonns X et Y est une paire d'appli ations : X 7 Y et : Y 7 X , inverse l'une de l'autre
et preservant l'ordre, 'est dire telles que :
(x) Y (x ) ssi x X x
(y) X (y ) ssi y Y y

1.10 Thorme

Soit A une algbre de Boole et X un ensemble ordonn. S'il existe un isomorphisme d'ordre entre X et A,
alors X est galement une algbre de Boole.
1.3

Thorme de Stone

1.11 Thorme (Stone ni)

Soit B une algbre de Boole nie. Il existe un ensemble ni X tel que B est isomorphe P (X), l'ensemble
des parties de X .

Avant de prouver le thorme on va tablir quelques lemmes.

1.12 Lemme

Soit B une algbre de Boole et b0 B ; on note B0 l'ensemble des minorants de b0 dans B . Alors B0 est une
algbre de Boole dont le plus petit lment est , le plus grand est b0 et dans laquelle le omplmentaire
d'un lment b est bc b0 .

Preuve. Par dnition on a

B0 = {b B tel que b b0 }.

Comme B0 est un sous-ensemble de B , B0 est ordonn ; son plus grand lment est b0 et le plus petit est .
Soient b et b deux lments de B0 . On vrie trs fa ilement que b b est la borne infrieure dans B0 de b et
b . De plus omme b b0 et b b0 on a b b b0 ; on en dduit que b b est la borne suprieure dans B0 de
b et b . L'ensemble B0 est don un treillis.
Comme B est distributif et omme les bornes infrieure et suprieure dans B0 sont elles de B , on voit que B0
est galement distributif.
Finalement si b B0 montrons que b = bc b0 est son omplmentaire dans B0 :
 tout d'abord il est lair que b b0 don b B0 ;
 on a b b = b (bc b0 ) = b0 = ;
 de mme b b = b (bc b0 ) = (b bc ) (b b0 ) = b0 ar b b0 . Comme est le plus grand lment
de B , on a b0 = b0 , don b b = b0 qui est le plus grand lment de B0 .
B0 est don un treillis distributif, muni d'un plus petit et d'un plus grand lment et omplment : 'est une
algbre de Boole.

1.13 Lemme

Soit B une algbre de Boole nie deux lments au moins. Alors B est atomique, 'est dire que B ontient
au moins un lment a qui est un su esseur de ; un tel lment est appel un atome.

Preuve. Par dnition un atome de B est don un lment a B tel que :


 a 6= ;
 pour tout x B , si x a alors x = ou x = a.
On montre par r urren e sur le nombre d'lments de B que B est atomique.
Si B n'a que deux lments, alors un seul d'entre eux est dirent de : il s'agit de . Dans e as parti ulier
il est lair que est un atome (pourquoi ?).
Supposons maintenant que B a stri tement plus que deux lments et soit b0 un lment dirent de et
dirent de . Notons B0 l'ensemble des minorants de b0 . D'aprs le thorme pr dent, B0 est une algbre
de Boole.

Comme b0 6= , 6 B0 don B0 a stri tement moins d'lments que B et on peut lui appliquer l'hypothse de
r urren e : il y a don un atome a0 dans B0 . Reste voir que 'est aussi un atome dans B . Soit don x B
tel que x a0 . Comme a0 B0 on a a0 b0 , don x b0 et don x B0 . Mais omme a0 est un atome
dans B0 e i entraine que x = ou x = a0 . Don x est bien un atome dans B galement.
Remarque

L'algbre de Boole P (X) des parties d'un ensemble X est atomique (mme si X est inni) ; ses atomes
sont les singletons.
Si b est un lment d'une algbre de Boole nie B , on note b l'ensemble des atomes de B qui minorent b :
b = {a B tel que a est un atome et a b}

1.14 Lemme

Soit B une algbre de Boole nie et soient b et b deux lments B . On a b b ssi b b .

Preuve. Si b b alors tout minorant de b est aussi un minorant de b don en parti ulier b b .
R iproquement supposons que b b . Soit b0 = b bc ; on va montrer que b0 = . Si b0 6= alors onsidrons
B0 l'algbre de Boole des minorants de b0 ; elle- i est nie et ontient au moins deux lments, don elle
ontient un atome a0 . Comme a0 b0 , on a en parti ulier a0 b, 'est dire a0 b. Mais b b et omme a0
est un atome de B0 don de B (pourquoi ?), on a a0 b , 'est dire a0 b . Mais a0 b0 entraine galement
que a0 bc . Don on a a0 b = a0 bc = a0 don a0 = (a0 b ) (a0 bc ) = , e qui est impossible ar a0
est un atome.
Don b0 = , 'est dire b bc = d'o l'on dduit b b ( omment ?).

Montrons enn le thorme de Stone.


Preuve. Puisque B est nie on sait qu'elle a des atomes. Notons A l'ensemble des atomes de B ; A est don ni. On
onsidre la fon tion :
:B
7 P (A)
b b

Soit b et b tels que b = b . Le lemme i-dessous nous assure alors que b = b ; la fon tion est don inje tive.
Soit = {a1 , . . . , ak } une partie de A et onsidrons l'lment b = a1 . . . ak (on rappelle que dans le as
parti ulier o k = 0, 'est dire si est la partie vide, par dnition b = ). On va montrer que b = d'o
l'on dduit que la fon tion est surje tive.
Soit a un atome de B et supposons que a b ; on a don a b = a. Mais a b = (a a1 ) . . . (a ak ). Si a
est dirent de haque ai alors on a a ai = pour haque i, dont a b = . . . = . D'autre part si
a est gal l'un des ai alors on a a b = . . . ai . . . = ai , don a b. Autrement dit on vient de
montrer que a b ssi a est gal l'un des ai ; e qui revient exa tement dire que b = .
Enn le lemme nous assure que la fon tion est un morphisme d'ordre ; il s'agit don bien d'un isomorphisme
et le thorme est dmontr.

1.15 Corollaire

Si B est une algbre de Boole nie alors le nombre d'lments de B est 2n o n est le nombre de d'atomes
de B .
1.4

Fon tions boolennes

partir de maintenant on note B l'algbre de Boole {0, 1}. Les lments de B sont appels des bits.
Soit n un entier positif ; on rappelle que B n est l'ensemble des n-uplets de bits. Par exemple B 2 est l'ensemble
des ouples de bits, soit :
B 2 = {(0, 0), (0, 1), (1, 0), (1, 1)}.

L'ensemble B n. Comme on va beau oup utiliser les n-uplets de bits, on allge la notation en supprimant

les parenthses et les virgules. Par exemple le ouple (0, 1) s' rit dire tement 01, le triplet (1, 0, 1) s' rit 101,
et . Un n-uplet de 0 et de 1 s'appelle aussi un mot de longueur n sur l'alphabet {0, 1}. Ave ette notation
B 2 s' rit :
B 2 = {00, 01, 10, 11}.

On rappelle que B n a exa tement 2n lments1 . On va onvenir une fois pour toute d'une numration de
B n , 'est dire d'une manire de numroter haque lment de B n en ommenant par 0 :
Numro

n-uplet
0 . . . 000
0 . . . 001
0 . . . 010
0 . . . 011

0
1
2
3

..
.

..
.

2n 2 1 . . . 110
2n 1 1 . . . 111

Autrement dit l'lment numro k de B n est l' riture en base 2 de k sur n hires. Ou r iproquement, le
numro du n-uplet (b1 , . . . , bn ) est :
n1
X

bnk 2k =

k=0

n
X

bk 2nk .

k=1

Ainsi le numro du n-uplet (0, . . . , 0) est 0, elui de (1, . . . , 1) est


tableau i-dessus.

Pn1
k=0

2k = 2n 1, omme indiqu sur le

Remarque

Il existe bien d'autres manires d'numrer Bn . I i on a hoisit de lire les n-uplets omme des entiers
en base 2 o le bit de poids faible est droite. On pourrait hoisir le bit de poids faible gau he ; par
exemple pour n = 3 le triplet de numro 0 serait 000, elui de numro 1 serait 100 (au lieu de 001),
elui de numro 2 serait 010, elui de numro 3 serait 110 (au lieu de 011), et . Dans e as le n-uplet
(b1 , . . . , bn ) aurait pour numro :
n1
X

bk+1 2k =

n
X

bk 2k1 .

k=1

k=0

On pourrait galement hoisir de grouper les n-uplets par nombre de 1 : par exemple pour n = 3 :
Nombre de 1 = 0

Nombre de 1 = 1

Nombre de 1 = 2

Nombre de 1 = 3

1
2
3

4
5
6

000

100
010
001

110
101
011

111

L'in onvnient de ette dernire mthode est de ne pas fournir de formule simple permettant de retrouver
le numro d'un n-uplet.
Il existe en ore bien d'autres numrations de Bn ; par exemple les odes de Gray numrent les n-uplets
de manire e que un seul bit hange entre deux n-uplets ons utif (exo : trouver un ode de Gray
pour n = 3).
1 En

parti ulier B0 a un lment : le mot vide que l'on note souvent , 'est dire le seul 0-uplet : ().

Fon tions boolennes. Une fon tion boolenne d'arit

n est une fon tion de B n dans B . On note Fn


l'ensemble des fon tions boolennes d'arit n.
n
Comme il y a 2n n1 -uplets de bits, l'ensemble Fn ontient 22 fon tions boolennes d'arit n. Par exemple
F1 ontient 4 = 22 lments f1 , f2 , f3 , f4 dnies par :
b
0
1

f1 (b)
0
0

f2 (b) f3 (b) f4 (b)


0
1
1
1
0
1

De mme F2 ontient 16 = 22 fon tions boolennes d'arit 2, et .


2

1.16 Thorme

L'ensemble Fn des fon tions boolennes d'arit n ordonn par :


f g ssi pour tout (b1 , . . . , bn ) dans B n , f (b1 , . . . , bn ) g(b1 , . . . , bn )

forme une algbre de Boole. Les oprations d'algbre (et d'anneau) de Boole sont donnes par :
(f g)(b1 , . . . , bn ) = f (b1 , . . . , bn ) g(b1 , . . . , bn )
(f g)(b1 , . . . , bn ) = f (b1 , . . . , bn ) g(b1 , . . . , bn )
(f + g)(b1 , . . . , bn ) = f (b1 , . . . , bn ) + g(b1 , . . . , bn )
f c (b1 , . . . , bn ) = (f (b1 , . . . , bn ))c

et le plus petit lment de Fn est la fon tion identiquement nulle, le plus grand lment est la fon tion
onstante 1.

La preuve est une simple vri ation des direntes proprits d'algbre de Boole. En fait on a un thorme
un peu plus gnral :

1.17 Thorme

Si X est un ensemble non vide alors l'ensemble FX des fon tions de X dans B ordonn par
f g ssi pour tout x X , f (x) g(x)

est une algbre de Boole.

Pour voir ela on montre le lemme :

1.18 Lemme

FX est isomorphe P (X), l'ensemble des parties de X . Plus pr isment les appli ations : FX 7 P (X)
dnie par :
x (f ) ssi f (x) = 1

et : P (X) 7 FX dnie par :

(A)(x) = 1 ssi x A

sont r iproques l'une de l'autre et prservent l'ordre :


f g ssi (f ) (g)
A B ssi (A) (B)

tant donne une partie A de X , l'appli ation (A) : X 7 B est appele la fon tion ara tristique de A.

Tables de vrit. Il existe plusieurs mthodes pour d rire ompltement une fon tion boolenne. La

premire est de donner sa table de vrit, 'est dire la liste des valeurs de la fon tion pour haque n-uplet
de bits. Par exemple la table de vrit de la fon tion identiquement nulle sur B 2 est :
00
01
10
11

0
0
0
0

00
01
10
11

0
1
1
0

et elle de la fon tion : (b1 , b2 ) 7 b1 + b2 est :

Remarque

Comme annon , on a list les lments de B2 selon le prin ipe non au dbut de la se tion.
Par dnition la table de vrit d'une fon tion boolenne d'arit n ontient 2n lignes e qui n'est pas

trs onomique ; par exemple i i on a beau oup plus vite fait de d rire la fon tion en disant qu'elle est
identiquement nulle dans le premier as, ou qu'il s'agit de la somme dans l'anneau de Boole B dans le
se ond as. L'un des problmes prin ipaux propos des fon tions boolennes est de trouver des manires
onomiques de les d rire et de les al uler.
On va ommen er par voir que toutes les fon tions boolennes peuvent tre d rites en utilisant uniquement
les oprations binaires de l'algbre de Boole B .
1.5

Formes normales

Variables. On appelle variables de Fn les n fon tions de Fn notes x1 , . . ., xn dnies par :


xi (b1 , . . . , bn ) = bi .
Remarque

Soit f une fon tion boolenne d'arit p, f1 , . . ., fp des fon tions boolennes d'arit n et g la fon tion
boolenne d'arit n dnie par :
g(b1 , . . . , bn ) = f (f1 (b1 , . . . , bn ), . . . , fp (b1 , . . . , bn ))

qui est simplement la ompose de f ave les fi . Quand g est dnie ainsi on rit souvent
g = f (f1 , . . . , fp ).

Supposons maintenant que f est d'arit n ; par dnition des xi on a :


f (b1 , . . . , bn ) = f (x1 (b1 , . . . , bn ), . . . , xn (b1 , . . . , bn ))

e qui ave la notation que l'on vient d'introduire s' rit :


f = f (x1 , . . . , xn ).

C'est pour ette raison que les fon tions boolennes xi sont appeles des variables. Il faut bien garder
l'esprit que l'objet not f (x1 , . . . , xn ) est un lment de Fn alors que f (b1 , . . . , bn ) (o les bi sont des
bits) est un lment de B.

Les variables sont les fon tions de base partir desquelles, et au moyen des oprations de l'algbre de Boole
Fn , on va pouvoir exprimer toutes les fon tions de Fn . Par exemple on peut maintenant rire la fon tion
somme de F2 : (b1 , b2 ) 7 b1 + b2 omme x1 + x2 . En eet, on a :
(x1 + x2 )(b1 , b2 ) = x1 (b1 , b2 ) + x2 (b1 , b2 )
= b1 + b2

10

Littraux. Si xi est une variable, on appelle ngation de xi la fon tion boolenne xci :
xci (b1 , . . . , bn ) = (xi (b1 , . . . , bn ))c = bci .

Les variables et leurs ngations sont appeles les littraux de Fn . Il y a exa tement 2n littraux dans Fn :
x1 et xc1 , . . ., xn et xcn . Les littraux xi et xci sont dits d'indi e i et on les note li .
On va maintenant voir que toutes les fon tions de Fn peuvent s' rire omme des ombinaisons de littraux
au moyen des oprations et .

Atomes. On appelle atome de Fn une fon tion qui prend la valeur 1 pour exa tement un n-uplet de B n .
Remarque

Dans le livre de J. Vlu, les atomes de Fn sont appels des mintermes.


Comme toutes les fon tions boolennes d'arit n, les atomes sont des fon tions ara tristiques de sousensembles de B n . Mais omme par dnition ils ne prennent la valeur 1 que pour un seul n-uplet, e sont les
fon tions ara tristiques des singletons in lus dans B n .
Remarque

La table de vrit d'un atome de Fn ontient exa tement une ligne portant la valeur 1. Comme haque
table de vrit a 2n lignes, il y a 2n atomes dans Fn .

1.19 Thorme

Soit m une fon tion boolenne d'arit n. Les deux onditions suivantes sont quivalentes :
 m est un atome ;
 il existe des littraux l1 d'indi e 1, l2 d'indi e 2, . . ., ln d'indi e n tels que :
m = l1 . . . ln .

En gnral on utilise plutt la notation produit des anneaux de Boole :


m = l1 . . . ln .

Pour ette raison les atomes de Fn sont aussi appels des monmes.

Preuve. Le fait qu'un produit de littraux est un atome est une simple vri ation. R iproquement supposons que
m est un atome et soit (b1 , . . . , bn ) l'unique n-uplet tel que m(b1 , . . . , bn ) = 1. Pour i = 1, . . . , n on dnit un
littral li d'indi e i par :
(
xi si bi = 1,
li =
xci sinon.
Par dnition des li on a :
li (b1 , . . . , bn ) = 1 pour i = 1, . . . , n.
Soit f la fon tion boolenne d'arit n dnie par f = l1 . . . ln . On a
f (b1 , . . . , bn ) = l1 (b1 , . . . , bn ) . . . ln (b1 , . . . , bn ) = 1.

Si maintenant on prend un n-uplet (c1 , . . . , cn ) distin t de (b1 , . . . , bn ) alors il y a au moins un i tel que ci est
dirent de bi et par dnition de li on a li (ci ) = 0 ; mais alors
f (c1 , . . . , cn ) = l1 (c1 , . . . , cn ) . . . li (c1 , . . . , cn ) . . . ln (c1 , . . . , cn ) = 0.

Don f prend une valeur non nulle sur le seul n-uplet (b1 , . . . , bn ) e qui montre que f = m, 'est dire :
m = l1 . . . ln

omme annon .

Formes normales. Soit f une fon tion boolenne d'arit n. On onsidre l'ensemble des n-uplets o f est
non nulle. haque tel n-uplet on sait asso ier un atome ; notons eux- i m1 , . . . , mp . Alors on a :
f = m1 . . . mp .

L' riture de f sous ette forme est appele forme normale disjon tive anonique.
11

Remarque

Le nombre p i-dessus est gal au nombre de lignes de la table de vrit de f portant la valeur 1. Pour un
f quel onque 'est en moyenne la moiti des lignes, soit 2n1 atomes. Chaque atome mi s' rit omme
une borne infrieure de n littraux. Au total la taille de la forme normale anonique est n2n1 , 'est un
peu plus de la moiti de la taille du tableau de vrit entier.
On pourrait penser que l'on a fait beau oup d'eort pour un rsultat un peu faible. En fait on a obtenu
une hose trs importante : on a montr que l'on pouvait exprimer f au moyen des seuls oprations de
sup, inf, omplmentaire et des variables, e qui n'tait pas vident priori. On va pouvoir maintenant
employer toutes les proprits des algbres de Boole pour tenter de simplier l'expression de f . De plus
ette expression fournit en soit une mthode pour al uler la valeur de f sur les n-uplets.

Formes normales onjon tives. Soit f une fon tion boolenne d'arit n. Considrons la fon tion f c que
nous pouvons rire en forme anonique disjon tive :

f c = m1 . . . mp

o les mi sont des atomes. En passant au omplmentaire, omme (f c )c = f et en utilisant les lois de de
Morgan on voit que :
f = mc1 . . . mcp .

Un atome est une fon tion qui prend la valeur 1 pour exa tement un n-uple. Le omplmentaire d'un atome
est don une fon tion qui prend la valeur 0 pour exa tement un n-uple. On appellera de telles fon tions
des o-atomes (J. Vlu les appelle des maxtermes ). Toujours gr e aux lois de de Morgan on voit que tout
o-atome h peut s' rire :
h = l1 . . . ln

o pour i = 1, . . . , n, li est un littral d'indi e i. Cette expression de f omme inf de o-atomes, o haque
o-atome est un sup de littraux, est appele la forme normale onjon tive anonique de f .
1.6

Formules du al ul propositionnel

On va nir e hapitre sur le al ul boolen ave une rapide prsentation de l'algbre de Boole des propositions.
On ommen e par dnir le al ul propositionnel. Il n'y a pas proprement parler un seul al ul propositionnel
ar la dnition dpend d'un ertain nombre de donnes dtailles i-dessous.
On se donne un ensemble V ni ou dnombrable2 . Les lments de V sont appels les variables propositionnelles et on utilisera les lettres p et q pour les dnoter. On se donne galement un ensemble ni C ontenant
au moins trois lments distingus nots , et . Les lments de C sont appels des onne teurs. On se
donne enn une fon tion d'arit a : C 7 N qui asso ie un entier (possiblement nul) haque onne teur
(appel l'arit du onne teur ) et telle que l'arit du onne teur est 1, elles de et sont toutes deux
gales 2.
Remarque

Les onne teurs , et sont appels respe tivement ngation, disjon tion et onjon tion. En gnral
on trouve d'autres onne teurs dans C : l'impli ation not et d'arit 2, les onstantes vrai et faux
notes tt et  d'arit 0 ( 'est pourquoi on les appelle des onstantes), l'quivalen e note , . . .

Ces donnes seront ompltes au dbut de la se tion 1.6 par la dnition des fon tions de vrit asso ies
haque onne teur.
D

2 On rappelle qu'un ensemble D est dnombrable si il existe une bije tion : D 7 N ou autrement dit si haque lment de
peut se voir ae ter un numro unique.

12

Formules. Pour haque entier

n on dnit par r urren e sur n un ensemble Tn dont les lments sont


appels les formules de hauteur au plus n :
 T0 est l'ensemble V des variables propositionnelles auquel on ajoute tous les onne teurs d'arit 0 de C
s'il y en a (les onstantes propositionnelles) :
T0 = V {c C tel que a(c) = 0}.

 Tn+1 est Tn auquel on ajoute pour haque k > 0 l'ensemble des k + 1-uplets (c, A1 , . . . , Ak ) o c est un
onne teur d'arit k et A1 , . . ., Ak sont des lments de Tn :
Tn+1 = Tn

{(c, A1 , . . . , Ak ) C Tn Tn tel que a(c) = k}.

k1

Remarquons que par dnition on a toujours Tn Tn+1 et don Tn Tp ds que n p. Enn on note T la
runion de tous les Tn :
[
T =

Tn .

n0

Les lments de T sont appeles les formules propositionnelles et sont en gnral dnots par les lettres A,
B, C , . . .
Remarque

Si on prend V vide et C = {, , } alors l'ensemble T est vide ! En eet T0 est vide puisque V est vide
et il n'y a au un onne teur d'arit 0 dans C ; mais alors T1 est vide aussi puisque il n'y a au une formule
dans T0 ; et T2 est vide aussi, ainsi que T3 , et . Finalement T est une runion d'ensembles vides, don
est vide.
Pour ette raison, partir de maintenant on supposera que V est hoisi non vide.

Hauteur d'une formule. Comme T est la runion des Tn , pour tout lment A de T il existe un entier
n tel que A Tn . On appelle hauteur de la formule A le plus petit entier h tel que A Th . La hauteur de A
est note |A|. Par dnition de la hauteur, si A appartient Tn alors sa hauteur est infrieure ou gale n.
Remarque

En utilisant le langage de la thorie des graphes, les formules propositionnelles sont des arbres nis dont
haque nud est tiquet par un onne teur de C et doit respe ter l'arit de e onne teur, et dont les
feuilles sont tiquets par des variables ou des onstantes propositionnelles. C'est pour ela que l'on parle
de hauteur d'une formule.
Soit A une formule de hauteur h. Si h = 0 alors A appartient T0 et don A est soit une variable proposi-

tionnelle, soit une onstante propositionnelle.


Si h = h + 1 alors, par dnition de la hauteur, A appartient Th +1 , mais pas Th . Don on a A =
(c, A1 , . . . , Ak ) pour un onne teur c d'arit k et des formules A1 , . . ., Ak de Tn . On a don le lemme :

1.20 Lemme

Soit A une formule de hauteur h + 1 ; il existe un (unique) onne teur c de C , d'arit k , et des (uniques)
formules A1 ,. . ., Ak dont les hauteurs sont toutes infrieures ou gales h tel que :
A = (c, A1 , . . . , Ak ).

L'uni it est immdiate puisque si A = (c, A1 , . . . , Ak ) et A = (c , B1 , . . . , Bm ) alors (c, A1 , . . . , Ak ) =


(c , B1 , . . . , Bm ). Remarquons que par dnition de la hauteur, l'une au moins des formules Ai doit avoir la
hauteur h.
On dit que c est le onne teur prin ipal de la formule A et que les Ai sont les sous-formules immdiates de
A.
13

Substitution et instan es de formules. Soient n un entier, A, B1 , . . ., Bn des formules, p1 , . . ., pn des variables propositionnelles. On dnit par r urren e sur la hauteur de A une formule note A[B1 /p1 , . . . , Bn /pn ]
appele  A dans laquelle les variables pi sont substitues par les formules Ai  (ou en ore  A dans laquelle
les Ai sont substitues aux pi ) :
 si |A| = 0 alors A est une formule ou une onstante propositionnelle p et il y a deux as :
 p est gale l'une des variables pi auquel as A[B1 /p1 , . . . , Bn /pn ] = Bi ;
 sinon A[B1 /p1 , . . . , Bn /pn ] = p.
 si |A| = h + 1 alors A = (c, A1 , . . . , Ak ) o c est un onne teur d'arit k et A1 , . . ., Ak sont des formules
de hauteurs au plus h ; dans e as
A[B1 /p1 , . . . , Bn /pn ] = (c, A1 [B1 /p1 , . . . , Bn /pn ], . . . , Ak [B1 /p1 , . . . , Bn /pn ]).

La formule A[B1 /p1 , . . . , Bn /pn ] est appele une instan e de la formule A.


Remarque

Soit A une formule et p1 , . . ., pn des variables propositionnelles. Dnissons la fon tion : T n 7 T par
(B1 , . . . , Bn ) = A[B1 /p1 , . . . , Bn /pn ]. Dans le as o A est la variable propositionnelle pi , la dnition
i-dessus nous donne (B1 , . . . , Bn ) = Bi . Autrement dit, vue omme une fon tion de T n dans T , la
variable propositionnelle pi est une fon tion proje tion, exa tement omme, dans le as des fon tions
boolennes, on appelait variable les fon tions xi de proje tion de Bn dans B : xi (b1 , . . . , bn ) = bi .

Notations des formules. Lorsque l'on manipule des formules propositionnelles, il est souvent mal ommode de les rire omme des tuples. C'est pourquoi on introduit une notation plus prati able. Si c est un
onne teur unaire (la ngation) et A une formule alors on note c(A) la formule (c, A) ; dans le as o A est
de hauteur 0, on fait mme l' onomie des parenthses : par exemple la formule (, p) o p est une variable
propositionnelle s' rit p.
Si c est un onne teur binaire et A et B sont deux formules alors on rit (A) c(B) pour la formule (c, A, B)
et on fait mme l' onomie des parenthses si il n'y a pas d'ambigit : par exemple la formule (, p, (, q))
s' rit p q .
Enn, toujours dans l'ide d' onomiser l'usage des parenthses, on onvient que le onne teur d'impli ation
asso ie droite : 'est dire que si A, B et C sont des formules, la formule (, A, (, B, C)) qui devrait
s' rire A (B C), s' rit plus simplement A B C . Par ontre la formule (, (, A, B), C) s' rit
(A B) C et on ne peut lui enlever de parenthses sans la onfondre ave la pr dente.
1.7

Valeurs de vrit

Interprtation des onne teurs. Pour terminer la dnition de l'algbre de Boole des propositions, on

va se donner une interprtation booleenne des onne teurs. haque onne teur c d'arit k de C on asso ie
une fon tion boolenne c d'arit k appele la fon tion de vrit de c. Voi i les interprtations des onne teurs
usuels :
 si les onstantes  et tt appartiennent C , leurs fon tions de vrit sont les onstantes boolennes 0
et 1 (une onstante est une fon tion d'arit 0) ;
(b) = bc ;
 la fon tion de vrit de est dnie par
(b1 , b2 ) = b1 b2 et
(b1 , b2 ) = b1 b2 ;
 les fon tions de vrit de et sont dnies par :
c
1 , b2 ) = b1 b2 ;
 si est dans C , sa fon tion de vrit est donne par : (b
1 , b2 ) = (b1 + b2 )c .
 si est dans C , sa fon tion de vrit est donne par : (b

14

Remarque

La dnition de la fon tion de vrit de l'impli ation peut sembler ontradi toire ave l'intuition que
l'impli ation exprime une relation de ause eet. Par exemple ave ette dnition il est vrai le thorme
des valeurs intermdiaires en analyse implique le thorme de d omposition en fa teurs premiers en
arithmtique, alors que es deux thormes n'ont pas grand hose voir. Il est galement vrai, ave ette
dnition, qu'un non faux implique un non faux : par exemple 0 = 1 implique  je suis le pape 
(exemple d David Hilbert, grand mathmati ien et logi ien de la n du XIXme - dbut du XXme
si le).
On peut nanmoins se onvain re que l'on a pas le hoix sur les valeurs de vrit de l'impli ation en
onsidrant par exemple l'non : pour tout entier n, si n est un multiple de 4 alors n est pair. Il ne fait
gure de doute que et non est vrai, et partant, il doit l'tre quel que soit le hoix de n. Si on prend
n = 2, 3 ou 4 on verra apparatre tous les as de vrit de l'impli ation :  faux implique vrai ,  faux
implique faux  et  vrai implique vrai  ( ette dis ussion est largement inspire de elle de Las ar et
Cori dans le hapitre  Cal ul propositionnel  de leur ours  Logique Mathmatique  publi hez
Masson ; je leur ai en parti ulier emprunt e dernier exemple.)

Valuation, valeur de vrit d'une formule. On appelle valuation ou distribution de valeurs de vrit

une fon tion : V 7 B asso iant haque variable propositionnelle de V une valeur de vrit appartenant
B (l'algbre de Boole {0, 1}).
Soit une valuation et A une formule. La valeur de vrit de A relativement est l'lment de B not
[[A]] dni par r urren e sur la hauteur de A :
 si |A| = 0 alors il y a deux as :
 A est une variable propositionnelle p, dans e as [[A]] = (p) ;
 A est une onstante propositionnelle c, dans e as [[A]] = c ;
 sinon |A| = h+1 et il existe un onne teur c d'arit k et des formules A1 , . . ., Ak , de hauteurs infrieures
ou gales h tels que A = (c, A1 , . . . , Ak ). On dnit alors :
[[A]] = c([[A1 ]] , . . . , [[Ak ]] ).

Substitution et valeur de vrit. Soit une valuation et p1 , . . ., pn des variables propositionnelles deux
deux distin tes, b1 , . . ., bn des bits. On note [p1 = b1 , . . . , pn = bn ] la valuation dnie par :
(p) =

si p = pi pour un i = 1, . . ., n ,
bi
(p) si p est une variable propositionnelle distin te de tous les pi .

1.21 Thorme (Substitution)

Soient A une formule, p1 , . . ., pn des variables propositionnelles deux deux distin tes, B1 , . . ., Bn des
formules et une valuation. Alors on a :
[[A[B1 /p1 , . . . , Bn /pn ]]] = [[A]][p1 =[[B1 ]] ,...,pn =[[Bn ]] ] .

Preuve. Notons la valuation [p1 = [[B1 ]] , . . . , pn = [[Bn ]] ] et A la formule A[B1 /p1 , . . . , Bn /pn ]. Ave es notations, il faut montrer que [[A ]] = [[A]] .
La dmonstration se fait par r urren e sur la hauteur de A. Si |A| = 0 alors il y a trois as :
 A est une onstante propositionnelle c ; dans e as [[A]] = c pour toute valuation , don l'galit
i-dessus est bien ralise.
 A est une variable propositionnelle p distin te de haque pi . Dans e as on a A = A par dnition de
la substitution, et (p) = (p) par dnition de , don , omme [[A ]] = (p) et [[A]] = (p), en ore une
fois l'galit est ralise.
 A est l'une des variables propositionnelles pi . Dans e as on a A = Bi par dnition de la substitution,
don [[A ]] = [[Bi ]] . Mais on a [[A]] = [[pi ]] = (pi ) = [[Bi ]] par dnition de . Don l'galit est en ore
vrie.

15

Si maintenant |A| = h + 1 alors il existe un onne teur c d'arit k et des formules A1 , . . ., Ak de hauteurs infrieures ou gales h telles que A = (c, A1 , . . . , Ak ). Pour i = 1, . . . , k notons Ai la formule Ai [B1 /p1 , . . . , Bn /pn ].
Comme les Ai sont toutes de hauteurs infrieures ou gales h, on peut leur appliquer l'hypothse de r urren e : on a don [[Ai ]] = [[Ai ]] pour i = 1, . . ., k. Par dnition de la substitution on a A = (c, A1 , . . . , Ak ),
don [[A ]] = c([[A1 ]] , . . . , [[Ak ]] ) = c([[A1 ]] , . . . , [[Ak ]] ) = [[A]] et l'galit est dmontre.

Tautologies, formules satisfaisables, insatisfaisable. Une tautologie est une formule dont la valeur

de vrit est toujours gale 1, quelle que soit la valuation hoisie. Par exemple p p est une tautologie.
Une formule A est satisfaisable si il existe une valuation telle que [[A]] = 1 ; par exemple p est une formule
satisfaisable. Si la formule A n'est pas satisfaisable, elle est dite insatisfaisable ou que 'est une antilogie.

1.22 Thorme

Soit A une tautologie et A une instan e de A. Alors A est une tautologie.

Preuve. Par dnition d'instan e, il y a des variables propositionnelles p1 , . . ., pn et des formules B1 , . . ., Bn telles que
A = A[B1 /p1 , . . . , Bn /pn ]. Soit une valuation quel onque et la valuation [p1 = [[B1 ]] , . . . , [[Bn ]] ]. D'aprs
le thorme de substitution on a [[A ]] = [[A]] mais omme A est une tautologie [[A]] = 1, don [[A ]] = 1.

Consquen e logique et quivalen e logique. Soit A et B deux formules. On dit que B est onsquen e
logique de A, ou que A entrane logiquement B si pour toute valuation on a :
[[A]] [[B]] .

Autrement dit A entrane logiquement B si [[B]] vaut 1 ds que [[A]] vaut 1.


Deux formules A et B sont dites logiquement quivalentes si pour toute valuation on a :
[[A]] = [[B]] .

1.23 Thorme

Pour toutes formules A et B , A entrane logiquement B ssi la formule A B est une tautologie ; A et B
sont logiquement quivalentes ssi la formule A B est une tautologie.

Algbre de Boole des propositions. L'algbre de Boole des propositions est l'ensemble des formules du

al ul propositionnel ordonn par la relation d'impli ation logique. Notons que ette relation n'est qu'une
relation de prordre (elle ne satisfait pas l'antisymtrie) et qu'il faut don quotienter T par la relation
d'quivalen e logique pour en faire un ensemble ordonn. C'est dire que l'on onsidre les formules
quivalen e logique prs : deux formules quivalentes sont onsidres omme gales dans l'algbre de Boole
des propositions et en parti ulier toutes les tautologies sont gales la onstante propositionnelle tt .

16

Chapitre 2

Graphes
Dans e hapitre on va introduire les dnitions et proprits de base des graphes. Les graphes sont des objets
extrmement ourant, dans la vie en gnrale, et dans les mathmatiques en parti ulier. Un plan de mtro est
(une reprsentation d') un graphe, mais galement le rseau internet, ou la arte des dpartements franais ;
ds que l'on ommen e dessiner un ensemble d'objets (des dpartements) et les relier par des traits pour
signier des relations entre eux (ils sont limitrophes), on dessine un graphe. La notion intuitivement laire est
don elle de dessin de graphe. Cette notion n'est toutefois pas ommode pour faire des mathmatiques sur les
graphes. Tout omme les objets de la gomtrie ne sont pas des dessins mais des espa es anes ou ve toriels,
des transformations linaires, isomtriques, et . les graphes demandent une dnition plus opratoire que
juste  des objets dessins et relis par des traits ou des  hes .
2.1

Graphe. Un graphe

Dfinition

2
G est la donne de deux ensembles SG et AG et d'une fon tion G : AG 7 SG
.

Terminologie. Les lments de SG sont appels les sommets du graphe G (en anglais vertex/verti es ) et

on utilisera les lettres a, b, c, i, j , m, n, p, q , r, s, t pour les dnoter ; les lments de AG sont les artes ou
les  hes de G (edges ou arrows ) et on utilisera les lettres f , g , h ou , pour les dnoter. La fon tion G
est parfois appele fon tion d'in iden e. Elle indique pour haque arte le ouple de sommets relis par ette
arte.

Fon tions sour e et but. On dnit deux fon tions sG et bG asso iant un sommet haque arte : si
(f ) = (s, b) est le ouple de sommets asso i l'arte f alors sG (f ) = s et bG (f ) = b, 'est dire que pour
toute arte f , sG (f ) et bG (f ) sont dnies par :
(sG (f ), bG (f )) = G (f ).

Le sommet sG (f ) est appel sour e de l'arte f , et le sommet bG (f ) est le but de l'arte f .


Soit a et b deux sommets (possiblement gaux) d'un graphe G. On note G(a, b) l'ensemble des artes de
sour e a et de but b :
G(a, b) = {f AG tel que sG (f ) = a et bG (f ) = b}.
Remarque

Les artes d'un graphe G sont orientes de leur sour e vers leur but et 'est pourquoi on les appelle aussi
des  hes. Dans la littrature on trouve souvent la terminologie graphe orient pour e type de graphe.
Il faut aussi bien voir que entre deux sommets il peut y avoir plusieurs artes et mme qu'il peut y avoir
plusieurs artes dont la sour e et le but sont le mme sommet ; on les appelle des bou les.

17

Graphes simples et relations. Un graphe G est dit simple si entre haque paire de sommets il y a au
plus une arte, 'est dire si pour tout s, t dans SG , l'ensemble G(s, t) est vide ou est un singleton. Notons
qu'un graphe simple peut ontenir des bou les.
Les graphes simples sont importants ar ils servent reprsenter des relations. Soit S un ensemble et R
une relation binaire sur S . On peut onstruire un graphe simple G qui reprsente la relation R sur S de la
manire suivante : les sommets de G sont les lments de S , 'est dire SG = S . Les artes de G sont les
ouples (s, t) de sommets tels que s R t. La sour e d'une arte (s, t) est le sommet s et son but est le sommet
t. Par dnition il y a don 0 ou une arte entre toute paire de sommet et don G est simple.
R iproquement si l'on a un graphe simple G, on peut dnir une relation R sur les sommets de G par :
s R t ssi il existe une arte de sour e s et de but t dans AG . Ainsi on a une orrespondan e bi-univoque
entre les graphes simples et les relations binaires.
Exemple.

Le diagramme de Hasse d'une relation d'ordre sur un ensemble ni S n'est pas autre hose que le graphe
asso i la relation de su esseur : t est un su esseur de s si t est plus grand que s mais qu'il n'y a
au un point stri tement ompris entre s et t :
s < t et pour tout u dans S , si s u t alors u = s ou u = t.

Graphe ni. On dit que le graphe G est ni si les deux ensembles SG de sommets et AG d'artes sont
nis (possiblement vides). L'ordre d'un graphe ni G est le nombre de ses sommets, 'est dire le ardinal
de SG .
partir de maintenant tous les graphes onsidrs seront supposs nis.
Arte mergente, in idente. Soit G un graphe (ni don ). Si a est une arte de sour e s (sG (a) = s),

on dit que a est mergente en s ; si a est une arte de but s (bG (a) = s) on dit que a est in idente en s. Si
deux artes f et g sont mergentes en un mme sommet s on dit qu'elles sont o-mergentes en s et si f et
g ont le mme but t on dit que f et g sont o-in identes en t.
Une mme arte peut trs bien tre la fois mergente et in idente en un mme sommet, auquel as on parle
de bou le.

Degr d'un sommet, d'un graphe. Soit G un graphe. Le degr mergent ou sortant d+G (s) d'un sommet

s de G est le nombre d'artes mergentes en s :

d+
G (s) = |{f AG , sG (f ) = s}| .

Le degr in ident ou entrant d


G (s) du sommet s est le nombre d'artes in identes en s :
d
G (s) = |{f AG , bG (f ) = s}| .

Enn le degr dG (s) de s est la somme de son degr sortant et de son degr entrant :

dG (s) = d+
G (s) + dG (s).

Remarquons que les artes qui sont la fois mergentes et in identes en s sont omptes deux fois.
Le degr d(G) du graphe G est la somme des degrs de ha un de ses sommets.

2.1 Thorme

Soit G un graphe. Le degr de G est gal deux fois le nombre d'artes de G :


X
d(G) =
dG (s) = 2 |AG |
sSG

Ce thorme a pour orollaire le thorme suivant :

2.2 Thorme

Soit G un graphe. Le nombre de sommets de G de degr impair est pair.

18

2.2

Graphes non orients

Paires. Soit S un ensemble. On note S (2) l'ensemble des paires d'lments de S :


S (2) = {{p, q}, p S, q S}.

Autrement dit S (2) est l'ensemble des ouples d'lments de S (usuellement not S 2 ) mais dans lequel on
identie haque ouple (s1 , s2 ) ave son oppos (s2 , s1 ).

Graphes non orients. Un graphe non orient

G est la donne de deux ensembles SG et AG et d'une

fon tion G : AG 7
La terminologie sur les graphes non orients est la mme que dans le as orient, e i prs que les deux
sommets asso is une artes sont ses extrmits, 'est dire que l'on ne distingue plus un sommet sour e
et un sommet but, et que l'on ne parle plus d'artes mergentes : une arte d'extrmit s est in idente en s.
(2)
SG .

Degr dans le as non orient. Si G est un graphe non orient, le degr d'un sommet s est le nombre
d'artes in identes en s, en omptant pour 2 les bou les en s :
d(s) = |{f AG , s G (f ) et |G (f )| = 2}| + 2 |{f AG , G (f ) = {s}}| .

Les bou les sont omptes double an de retrouver dans le as non orient, le mme thorme de parit que
elui des graphes orients.

Graphe non orient sous-ja ent. Soit G un graphe (orient don ). On onstruit G , le graphe non orient

sous-ja ent de G de la manire suivante : les sommets et les artes de G sont les mmes que eux de G, 'est
dire SG = SG et 1G = AG , et la fon tion d'in iden e G est donne par :
G (f ) = {sG (f ), bG (f )}.
2.3

Chemins dans les graphes

Morphismes de graphes Soient G et H deux graphes. Un morphisme de graphe

de G dans H est une


paire d'appli ation S : SG 7 SH et A : AG 7 AH respe tant les appli ations sour e et but, 'est dire
vriant :
sH (A (f )) = S (sG (f )) et bH (A (f )) = S (bG (f ))

pour toute arte f de G.

Cas non orient. Si G et H sont maintenant des graphes non orients, un morphisme de G dans H est
une paire d'appli ations S et A ompatibles ave la les fon tions d'in iden e :
H (A (f )) = {S (s), s G (f )}
Remarque

En gnral lorsque s est un sommet de G on note (s) pour S (s) et lorsque f est une arte de G on
note (f ) pour A (f ).

Isomorphisme de graphes. Un morphisme de graphes orients ou non est un isomorphisme lorsque


les deux appli ations S et A sont des bije tions.

Chemins, onnexit, y les


19

Composabilit, as orient. Soit

G un graphe et a, b deux sommets de G. On dit que a et b sont


adja ents si il existe une arte f reliant a b, 'est dire telle que sG (f ) = a et bG (f ) = b.
Soient deux artes f et g de G. On dit que f et g sont adja entes ou omposables en s si le but de f et la
sour e de g sont tous deux le sommet s : bG (f ) = sG (g) = s.

Composabilit, as non orient. Soient maintenant G un graphe non orient. On dit que deux sommets
a et b de G sont adja ents si il existe une arte f d'extrmits a et b : G (f ) = {a, b}.
Soient f et g deux artes ; on dit que f et g sont adja entes ou omposables en s si elles ont une extrmit
ommune s : s G (f ) G (g).

Chemins. Soit G un graphe orient ou pas et n un entier. Un hemin de longueur n dans G est une suite

alterne (s0 , f1 , s1 . . . , fn , sn ) o les si sont des sommets de G, les fi sont des artes et pour haque i < n
les artes fi et fi+1 sont omposables en si . On dit que le hemin va de s0 sn ou qu'il relie s0 sn . On dit
galement que s0 et sn sont onne ts et que sn est a essible partir de s0 .
Remarque

Tout sommet s est a essible partir de lui mme gr e au hemin de longueur 0 : (s)
Remarque

Dans un graphe non orient, ds qu'il y a un hemin de a vers b, il y a aussi un hemin inverse de b vers
a ; e i est faux dans un graphe orient.

2.3 Thorme

Soient G et H deux graphes et un morphisme de G dans H . Si deux artes f et g de G sont omposables


dans G alors (f ) et (g) sont omposables dans H . Si = (s0 , f1 , . . . , fn , sn ) est un hemin de G alors
() = ((s0 ), (f1 ), . . . , (fn ), (sn )) est un hemin de H .

Connexit. Soit G un graphe orient ou pas. On dit G est toil si il existe un un sommet s0 de G tel
que tout sommet s de G est a essible partir de s0 . On dit que G est onnexe si pour tout ouple (a, b) de
sommets de G, il existe un hemin de a b.
2.4 Thorme

Un graphe non orient est onnexe ssi il est toil.

Composition de hemins. Soit = (s0 , f1 , . . . , fn , sn ) et = (t0 , g1 , . . . , gm , tm ) deux hemins dans un


graphe G orient ou pas. On dit que et sont omposables si sn = t0 , et dans e as on dnit le hemin
ompos ;
= (s0 , f1 , . . . , fn , sn , g1 . . . , gm , tm )

L'opration (partielle) de omposition de hemins ainsi dnie est lairement asso iative et on notera 1 . . . n
la omposition de n hemins 1 , . . ., n .

Cy les Un y le ou ir uit dans un graphe


(s0 , f0 , s1 , . . . , fn , sn+1 ) tel que :

G orient ou non est un hemin de longueur non nulle

 s0 = sn+1 ;
 pour i = 0, . . . , n 1, si fi = fi+1 alors fi est une bou le.

20

Remarque

La se onde ondition, qui peut sembler un peu trange, est l pour assurer, dans le as d'un graphe non
orient, qu'un hemin de la forme (a, f, b, f, a) o a et b sont les extrmits de l'arte f , n'est pas un
y le. Dans le as d'un graphe orient, ette se onde ondition est toujours ralise et est don inutile.

Cy les lmentaires. On appelle y le lmentaire dans un graphe G (orient ou non) un hemin de


longueur non nulle de la forme (s0 , f0 , . . . , fn , sn+1 ) o :
 s0 = sn+1 ;
 pour tout i, j = 0, . . . , n on a si 6= sj et fi 6= fj .
Autrement dit un y le lmentaire est un y le qui ne passe pas deux fois par la mme arte ou le mme
sommet (en dehors de son sommet de dpart et d'arrive).
2.5 Thorme (D omposition des y les)

Soit G un graphe orient ou non et un y le de G. Si est lmentaire alors est un y le minimal, 'est
dire que ne ontient au un y le : pour tout hemins 0 , 1 et tout y le , si = 0 1 alors 0 et 1
sont des hemins de longueurs nulles et = .
Si n'est pas lmentaire alors il existe des hemins 0 , . . ., n et des y les 0 , . . ., n tels que :
 pour i = 0, . . . , n 1, le hemin i est omposable ave ha un des hemins i+1 et i ;
 le hemin ompos 0 . . . n est un y le lmentaire ;
 = 0 0 1 1 . . . n n .
Remarque

Comme i est un y le et que i est suppos omposable ave i et i+1 on voit que i est galement
omposable ave i+1 , e qui fait que la omposition de hemins i-dessus est bien dnie.

Cir uit eulrien. Soit G un graphe orient ou non. Un ir uit eulrien dans G est une ir uit dans lequel

toute arte de G apparat exa tement une fois. Le fameux problme des ponts de Knigsberg se ramne
elui de trouver un ir uit eulrien dans le plan de la ville.

2.6 Thorme

Un graphe orient G admet un ir uit eulrien ssi G est onnexe et pour tout sommet s de G on a :
d+ (s) = d (s)

Un graphe non orient G admet un ir uit eulrien ssi G est onnexe et pour tout sommet s de G, le degr
de s est pair.
Remarque

C'est en remarquant que ette dernire proprit (parit du degr des sommets) est n essaire qu'Euler
dmontra l'impossibilit de rsoudre le problme des ponts de Knigsberg, posant ainsi la premire pierre
de e qui devait devenir la thorie des graphes.

Cir uit hamiltonien. Soit G un graphe orient ou non. Un ir uit hamiltonien dans G est une ir uit
dans lequel haque sommet de G apparat exa tement une fois. Contrairement aux ir uits eulriens, on ne
onnait pas de ondition n essaire et susante assurant l'existen e d'un ir uit hamiltonien.
2.4

Matri es d'adja en e

Numrotation des sommets. Soit G un graphe d'ordre n. On se donne une numrotation des sommets
de G, 'est dire une bije tion de SG dans [1, n]. Dsormais on notera i le sommet de numro i.
21

Matri e d'adja en e. La matri e d'adja en e est la matri e arre A d'ordre n donne par :
Aij = |{f AG , G (f ) = (i, j)}| .

Autrement dit le oe ient sur la ime ligne, j me olonne est le nombre d'artes de sour e le sommet (de
numro) i et de but le sommet (de numro) j .
Si G est non orient, sa matri e d'adja en e est donne par une formule similaire :
Aij = |{f AG , G (f ) = {i, j}}| .

Dans e as la matri e d'adja en e est symtrique.


Remarque

Lorsque le graphe est simple, les oe ients de la matri e d'adja en e sont tous gaux 0 ou 1. En
gnral les oe ients sont des entiers positifs.

2.7 Thorme

Soit A la matri e d'adja en e du graphe G et k un entier. Le oe ient de la ime ligne, j me olonne de la
matri e Ak est le nombre de hemins de longueur k du sommet (de numro) i au sommet (de numro) j .

Graphes tiquets. Soit G un graphe et R un ensemble. On appelle tiquetage de G par R une appli ation
w : AG 7 R. On dit aussi que les artes sont tiquetes ou peses par les lments de R et l'lment w(f )
de R asso i l'arte f est appel l'tiquette ou le poids de l'arte f .
Si R est muni d'un produit asso iatif ( 'est dire si R est un monode, voir hapitre suivant), alors on peut
tendre la notion de poids aux hemins. Soit = (s0 , f1 , . . . , fn , sn ) un hemin dans G. Le poids de est

donn par :

w() = w(f1 ) . . . w(fn )

'est dire que le poids de est le produit des poids des artes de .
Si R est un semi-anneau, 'est dire si R dispose d'une addition ommutative et d'un produit distribuant
sur l'addition, par exemple si R est un des ensembles de nombres N, Z, Q, R ou C, ou en ore si R est un
anneau de Boole, alors on peut asso ier au graphe tiquet (G, w) une matri e de poids W dnie, omme
pour la matri e d'adja en e par :
X
w(f )

Wij =

f :G (f )=(i,j)

et l'on trouve alors une gnralisation du thorme pr dent :

2.8 Thorme

Pour tout entier k , le oe ient de la ime ligne, j me olonne de la matri e W k est la somme des poids des
hemins du sommet i au sommet j .
Remarque

Ce thorme gnralise le pr dent. En eet la matri e d'adja en e de Gs'obtient en donnant le poids 1


toutes les artes, et dans e as, le poids d'un hemin de longueur non nulle est toujours gal 1.

Graphes probabilistes. Voi i un exemple parti ulirement important de graphe tiquet : un graphe

probabiliste est un graphe pes par des rels positifs tel que pour tout sommet s, la somme des poids des
artes mergentes en s est gale 1. Le poid d'une arte f de sour e s est interprt omme la probabilit,
lorsqu'on se trouve en s, de quitter s par l'arte f . La matri e de poids de G est une matri e probabiliste,
et sa puissan e k donne, pour haque sommets i et j , la probabilit pour, partant de i, arriver en j par un
hemin de longueur k.

22

Chapitre 3

Langages rguliers
3.1

Monodes

Dnition
Monode. Un monode est un ensemble muni d'une opration binaire asso iative admetant un lment

neutre. On utilise en gnral la notation multipli ative pour dnoter l'opration et l'lment neutre. Un
monode satisfait don les quations suivantes :
u1 = 1u = u,
(uv)w = u(vw).
Exemple.

En fait il est di ile de trouver un exemple d'une stru ture qui ne soit pas un monode. En eet quasiment toutes les oprations usuelles en mathmatiques (addition, multipli ation, omposition, produit
de onvolution, produit ve toriel, produit tensoriel, et .) sont asso iatives. Il est vrai que ertaines (le
produit ve toriel) n'ont pas d'lment neutre.
Pour un exemple d'opration non asso iative (qui ne donne don pas la stru ture de monode) on peut
prendre l'ensemble des arbres binaires nis munis de l'opration de onstru tion d'arbre : tant donns
deux arbres a et b, on note a.b l'arbre dont le ls gau he est a et le ls droit est b. Cette opration n'est
pas asso iative (mais elle a un lment neutre, savoir l'arbre vide).

Produits d'arit quel onque. Soit

M un monode et n un entier. On dnit par r urren e sur n le


produit d'arit n dans M qui est une fon tion de M n dans M ,
(u1 , . . . , un ) 7

n
Y

ui .

i=1

 Si n = 0 alors il n'y a au un ui et le produit vide est gal 1 ;


Q
Qn
 sinon n+1
i=1 ui = ( i=1 ui ) un+1 .
On voit fa ilement que l'asso iativit s'tend aux produits gnraux, 'est dire que pour tous entiers n, p
et tous n + p-uplets (u1 , . . . , un , un+1 , . . . , un+p ) d'lments de M , on a :
n
Y

i=1

ui

n+p
Y

i=n+1

ui

n+p
Y

ui .

i=1

On notera u1 . . . un le produit d'arit n des ui . Si tous les ui sont gaux un mme u, on note un leur
produit.
23

Morphismes de monodes. Soient M et P deux monodes. Un morphisme de M dans P est une appli ation : M 7 P vriant :

(uv) = (u)(v)

pour tous lments u et v de M . Si l'appli ation est bije tive on dit que est un isomorphisme et on vrie
fa ilement que l'appli ation inverse est galement un morphisme.

Congruen es. Soit M un monode. Une ongruen e sur M est une relation d'quivalen e vriant
si u u et v v alors uv u v

3.1 Thorme

Soit M et P deux monodes et : M 7 P un morphisme de monode. Alors la relation binaire dnie sur
M par
u v ssi (u) = (v)
est une ongruen e.
3.2

Le monode des mots

Alphabet. On se donne un ensemble non vide que l'on appelle l'alphabet. En gnral est hoisi ni
mais a n'est pas obligatoire. Les lments de sont appels des lettres et on les notera a, b, c.
Mots. Un mot

m sur l'alphabet est une suite nie d'lments de , 'est dire la donne de :

 un entier |m| ;
 une appli ation m : {1, . . . , |m|} 7 .
L'entier |m| est appel la longueur du mot m. Dans le as o |m| est nul, on dit que m est le mot vide. On
note ou 1 le mot vide.

Les lettres sont des mots. Dans le as o |m| = 1, le mot

m dtermine une unique lettre a = m (1).


R iproquement pour toute lettre a de , il existe un unique mot m de longueur 1 tel que m (1) = a. On a
don une orrespondan e biunivoque entre les lettres de et les mots de longueur 1 de . On notera a le
mot de longueur 1 onstitu de la seule lettre a.

Con atnation de mots. On note l'ensemble des mots sur l'alphabet . Soient u et v deux mots. On
appelle on atnation de u et v le mot not uv dni par :
 |uv| = |u| + |v| ;
(
(i)
si 1 i |u|,
 uv (i) = u
v (i |u|) si |u| + 1 i |u| + |v|.

3.2 Thorme

Muni de l'opration de on atnation, l'ensemble des mots sur l'alphabet est un monode d'lment
neutre le mot vide .

Autrement dit la on atnation des mots est un produit asso iatif.

24

Les mots sont des produits de lettres. Si l'on ombine la notation de produit n-aire des monodes et

notre onvention d'identier une lettre a ave le mot de longueur 1 onstitu de la seule lettre a, on s'autorise
rire :
u = a 1 . . . an

ds que u est un mot de longueur n dont les lettres sont su essivement a1 , . . ., an , 'est dire tel que
u (i) = ai pour i = 1, . . . n. En parti ulier si tous les ai sont gaux une mme lettre a de , on rira
u = an .

Prxes, suxes. Soit u un mot de longueur n. Un prxe de u est un mot v de longueur p n qui est

gal un dbut de u, 'est dire tel que pour tout i = 1, . . . , p on a v (i) = u (i). Un suxe de u est un mot
v de longueur p n qui est gal une n de u 'est dire tel que v (i) = u (n p + i) pour i = 1, . . . , p.
Alternativement on peut dnir un prxe de u omme un mot v tel qu'il existe un mot w vriant u = vw.
De mme un suxe de u est un mot w tel qu'il existe un prxe v de u vriant u = vw. Remarquons que
la relation prxe  u est un prxe de v  est une relation d'ordre sur les mots : en eet elle est lairement
rexive et transitive et si u est un prxe de v et v est un prxe de u alors u = v.
3.3

Langages rguliers

Dans ette se tion on se donne un alphabet ni non vide .

Langages. Un langage sur l'alphabet est un sous-ensemble du monode .

L'un des problmes prin ipaux de la thorie des langages est de rpondre la question : tant donn un
langage L sur un alphabet , existe-il une mthode pour dterminer si un mot u appartient L ou non ?
Une telle mthode s'appelle une mthode de d ision de L. On peut faire une lassi ation des langages en
ara trisant leur mthode de d ision : typiquement la lasse des langages ind idables est elle des langages
qui n'ont pas de mthode de d ision algorithmique (implmentable sur un ordinateur).
l'autre bout de l' helle, les langages rguliers que nous allons maintenant dnir forment la lasse de
langages la plus simple au sens o il existe un pro d algorithmique trs simple permettant de rsoudre le
problme du mot pour tout langage rgulier.

Composition. Soient L et L deux langages. On note LL le langage ompos de L et L dni par :


LL = {uv, u L, v L }

On notera Lk le langage L ompos k fois ave lui-mme :


Lk = L
. . L} = {u1 . . . uk tel que ui L pour i = 1, . . . , k}
| .{z
k

En parti ulier L0 = {} et L1 = L.

Rptition. Soit L un langage. On note L le langage


L =

Lk = {u1 . . . uk , k N, u1 , . . . , uk L}

k0

25

Exemple.

Prenons L = {a}, o a est une lettre de . Alors L = {, a, aa, aaa, . . .} = {an , n 0}.
Si on prend L = alors L est justement l'ensemble .

Langages rguliers. La lasse des langages rguliers sur est le plus petit ensemble R de langages sur
tel que :

 R ontient le langage vide , et les langages {a} pour haque lettre a ;


 si L et L sont deux langages appartenant R alors le langage ompos LL appartient galement
R;
 si L et L sont deux langages de R alors L L
 si L est un langage de R alors L est un langage de R.

3.3 Thorme

Si L est un langage ni alors L est rgulier.


Exemple.

Si a et b sont deux lettres distin tes de alors {ab} est rgulier puisque 'est la omposition des langages
{a} et {b} qui sont tous deux rguliers. De mme {ab, bab} est rgulier puisque 'est la runion du
pr dent et de la omposition des langages {b}, {a} et {b}.
L'ensemble , onsidr omme ensemble de mots de longueur 1 est rgulier puisqu'il est la runion (nie
ar est suppos ni) des ensembles {a} pour haque a . Par onsquent le monode des mots

est galement rgulier.


L'ensemble (2) des mots de longueur 2 est rgulier ar il est
` ni
(puisque est ni). Par onsquent
l'ensemble des mots de longueur paire est rgulier ar 'est (2) .
Il y a bien entendu des langages qui ne sont pas rguliers. Par exemple, soient a et b deux lettres distin tes
de ; alors le langage {ak bk , k 0} n'est pas rgulier ; la dmonstration se trouve aprs le lemme de
pompage i-dessous.

Expressions rgulires. Les expressions rgulires sont un systme de notation pour d rire les langages
rguliers. On utilise les notations dnies i-dessus sauf que l'on supprime l'usage des a olades : un mot

u dnote le langage singleton {u} et un langage ni {u1 , . . . , un } se dnote u1 un (la runion des
langages singleton ontenant haque mot ui ). On utilise souvent le symbole + ou le symbole | au lieu de :
u1 + + un .
Exemple.

Supposons que = {a1 , . . . , an }. On a vu que, en onsidrant haque lettre omme un mot de longueur
1, est un langage rgulier. Une expression rgulire dnotant est a1 + + an .
Le monode peut se dnoter par l'expression rgulire (a1 + +an ) . Le langage des mots de longueur
paire peut se dnoter ((a1 + + an )(a1 + + an )) . Le langage des mots ontenant un mot u donn
peut s' rire (a1 + + an ) u(a1 + + an ) .
3.4

Automates finis

Questions sur les langages rguliers. Le problme de la dnition de langages rguliers que nous venons
de donner est qu'elle n'est pas trs opratoire, 'est dire qu'elle ne permet pas de rpondre fa ilement des
questions simples sur les langages rguliers. Voi i un liste de questions relativement naturelles que l'on peut
se poser propos des langages rguliers et pour lesquelles la dnition i-dessus ne propose pas de rponse
immdiate :
 soient L un langage rgulier ; son omplmentaire Lc dans est-il rgulier ?
 soient L et L deux langages rguliers ; leur interse tion L L forme-t-elle un langage rgulier ?
26

 existe-il une pro dure simple rsolvant le problme du mot pour un langage rgulier donn ?
toutes es questions la rponse est oui, mais pour le voir il faut faire un petit dtour par les automates.

Dnition. Un automate ni A est un graphe orient tiquet par des mots ave un sommet distingu
et un ensemble de sommets distingus. Plus pr isment un automate A est la donne d'un quadruplet
(GA , wA , iA , FA ) o :
 GA est un graphe orient ni ;
 wA est une fon tion d'tiquetage des artes de GA par des mots de ;
 iA est un sommet de GA ;
 FA est un ensemble de sommets de GA .
Les sommets de GA sont appels les tats et les artes sont appeles les transitions de l'automate. Le sommet
iA est appel l'tat initial et les sommets appartenant FA sont les tats naux.
Lorsque l'on dessine les automates, on reprsente les tats par des ronds, on dispose le mot tiquetant une
arte t de l'arte, on met une petite  he entrant vers l'tat initial et une petite  he sortante sur
haque tat nal.
Langage re onnu par un automate. Soit A un automate ni. Comme est un monode et que GA

est tiquet par des mots de , on peut asso ier tout hemin de GA un mot wA (). On note LA le
langage des hemins de l'tat initial de A l'un de ses tats naux :
LA = {wA (), est un hemin de iA s FA }.

Le langage LA est appel le langage de A ; on dit aussi que A re onnait le langage LA . Dterminer si un
mot u appartient LA revient don onstruire un hemin dans GA de sour e iA , de but l'un des sommets
appartenant FA et dont le poids est u. Si un tel hemin existe, on dit que A re onnait u.

Langages automatiques. Un langage L sur l'alphabet est automatique si il existe un automate ni A
tel que L = LA .
Remarque

En gnral il existe plusieurs automates qui re onnaissent le mme langage.

3.4 Thorme

La lasse des langages automatiques ontient tous les langages nis, est lose par runion, omposition et
rptition.
Par onsquent tout langage rgulier est automatique.

Preuve. Le langage vide est re onnu par n'importe quel automate dont l'ensemble d'tats naux est vide.
Soit u = a1 . . . an un mot de longueur n. On onstruit un automate U qui re onnait uniquement le mot u, 'est
dire le langage singleton {u} : GU est une hane de n + 1 sommets, 'est dire le graphe n + 1 sommets
s1 , . . ., sn+1 et n artes f1 , . . ., fn . Pour i = 1, . . . , n, la sour e et le but de fi sont respe tivement si et si+1 .
L'tiquette de fi est la lettre ai (mot de longueur 1). Le sommet initial est s1 et il n'y a qu'un sommet nal :
sn+1 .
Soit A et A deux automates. On onstruit un automate B pour LA LA : le graphe GB est la runion des
deux graphes GA et GA laquelle on ajoute un sommet iB et deux artes f et f : la sour e de f et de f est
le sommet iB , le but de f est le sommet initial de A, le but de f est le sommet initial de A , et les deux artes
sont tiquets par le mot vide. Le sommet initial de B est iB et les sommets naux sont eux de A et eux de
A .
Ainsi on peut obtenir un automate pour haque langage ni puisque un langage ni est un ensemble ni de
mots, 'est dire une runion nie de singletons.
On onstruit de mme un automate C pour LA LA en prenant la runion des deux graphes mais on n'ajoute
au un sommet ; par ontre on ajoute une arte issue de haque sommet nal de A dont le but est le sommet

27

initial de A et l'tiquette est le mot vide. Le sommet initial de B est elui de A et les sommets naux de B
sont eux de A .
Enn on onstruit un automate D pour LA en prenant le graphe GA auquel on ajoute une arte issue de haque
sommet nal de A de but le sommet initial de A et tiquete par le mot vide. Le sommet initial de D est elui
de A et les sommets naux de D sont eux de A.
La lasse des langages automatiques est don lose par runion, omposition et rptition : elle ontient don
la lasse des langages rguliers puisque 'est la plus petite lasse lose par es oprations.

Langages automatiques et langages rguliers. La r iproque du thorme pr dent est galement

vraie.

3.5 Thorme

Si L est un langage automatique alors L est rgulier.

Preuve. Dans e qui suit on dira qu'un hemin passe par un sommet s si ontient s ailleurs qu'en premire ou
dernire position.
Soit A un automate re onnaissant le langage L. tant donn un ensemble S non vide de sommets de A et deux
sommets (possiblement gaux) s et s appartenant ou pas S , on note L(s, s , S) le langage des hemins de s
s passant uniquement par des sommets de S :
L(s, s , S) = {wA (), = (s0 , f1 , s1 , . . . , fn , sn ), s0 = s, sn = s et si S pour i = 1, . . . , n 1}

On va montrer le lemme
3.6 Lemme

Pour tout s, s et S , le langage L(s, s , S) est rgulier.

On en dduit immdiatement le rsultat ar on a L = sFA L(iA , s, SA ) o SA est l'ensemble de tous les tats
de A ; L est don un runion nie de langages rguliers, 'est don un langage rgulier.
Pour montrer le lemme, on raisonne par r urren e sur |S|. Supposons |S| = 0. Un hemin de s s et ne
passant que par les sommets de S , 'est dire par au un sommet, est for ment de la forme (s, f, s ) ou f
est une arte de s s . Don L(s, s , S) = {wA (f ), f est une arte de s s } est un ensemble ni et est don
rgulier.
Supposons maintenant que |S| 1. Alors il existe un sommet t dans S . Tout hemin de s s ne passant
que par S peut se d omposer en = 0 1 . . . p o 0 est un hemin de s t ne passant pas par t, haque i
pour i = 1, . . . , p 1 est un hemin de t t ne passant pas par t, et p est un hemin de t s ne passant pas
par t. Notons S l'ensemble S auquel on a enlev le sommet t. De e qui pr de on dduit que :
S

L(s, s , S) = L(s, t, S )L(t, t, S ) L(t, s , S )



Comme S = |S| 1, on peut supposer par r urren e que ha un des trois langages du membre droit sont
rguliers, d'o l'on dduit que L(s, s , S) est rgulier.
3.5

Automates dterministes.

Les automates que l'on a vus jusqu' maintenant sont non dterministes au sens o, tant donn un mot u,
il existe en gnral plusieurs sommets que l'on peut atteindre en partant du sommet initial par un hemin
de poids u. Par onsquent, lorsque l'on essaye de re onnatre u en onstruisant un hemin de poids u issu
du sommet initial, on peut se tromper et arriver dans un tat non nal, alors qu'une solution existe ; il faut
don re ommen er jusqu' e que, soit on trouve une solution, soit on ait puis toutes les possibilits sans
trouver de solution ; a essoirement il n'est pas vident (mme si 'est vrai), que l'on ne va pas her her
indniment.
Un automate dterministe est un automate A tel que :
 les artes sont tiquetes par des lettres, 'est dire : pour toute arte f de GA , wA (f ) est une lettre
(un mot de longueur 1) ;
28

 la fon tion wA d'tiquetage est inje tive sur les artes issues d'un mme sommet, 'est dire : pour
toutes artes f et f , si sGA (f ) = sGA (f ) et si wA (f ) = wA (f ) alors f = f .
L'automate est omplet si on ne reste jamais bloqu en un sommet faute de lettre, 'est dire : pour tout
sommet s de GA et toute lettre a de , il existe une arte f de sour e s telle que wA (f ) = a.

3.7 Thorme

Soit A un automate dterministe. Pour tout mot u et tout tat s de A il existe au plus un hemin dans GA
de sour e s et de poids u. Si de plus A est omplet alors il existe exa tement un hemin issu de s de poids u.

Dterminisation. Le problme du mot devient plus fa ile rsoudre ave un automate dterministe :

ontrairement au as non dterministe, si une solution existe elle est unique don on la trouve du premier oup
et l'on peut don rpondre en une seule tentative. C'est e qui explique, entre autres raisons, l'importan e
du thorme :

3.8 Thorme (Dterminisation)

Soit A un automate. Il existe un automate dterministe D qui re onnait le mme langage que A, 'est dire
tel que LA = LD .
Soit D un automate dterministe ; il existe un automate omplet C qui re onnait le mme langage que D.

Preuve. La deuxime partie du thorme est assez fa ile : on onstruit C en ajoutant un nouveau sommet t et pour
haque lettre a de , une bou le en t tiquete par a. Une fois e i fait, haque sommet s auquel il manque
une arte tiquete par une lettre a, on ajoute un arte de s vers t tiquete par a.
La dterminisation de A est un petit peu plus omplique. Tout d'abord on rempla e A par un automate dont
toutes les artes sont tiquetes par des mots de longueur au plus 1 : pour ela il sut de rempla er toute arte
f tiquete par un mot u de longueur suprieure 2 par une hane issue de la sour e de f , arrivant au but de
f et o les artes sont tiquetes par les lettres su essives de u.
On suppose maintenant que toutes les artes de A sont tiquetes par des mots de longueur au plus 1, 'est
dire par le mot vide ou par une lettre. Soit s un sommet de GA et u un mot ; on note su l'ensemble des
sommets t de GA tels qu'il existe un hemin de s t S
de poids u. Si S est un ensemble de sommets de GA , on
note S u la runion des su pour tous les s S : S u = sS su .
Le lemme suivant nous sera utile :
3.9 Lemme

Soit s un sommet de A, u1 et u2 deux mots ; alors on a


su 1 u 2 =

tu2 = (su1 )u2

tsu1

Par onsquent si u = a1 . . . an alors

su = (. . . (sa1 )a2 . . . )an

L'automate D est onstruit de la manire suivante : ses sommets sont les ensembles de sommets de A. Soit S
un ensemble de sommets de GA , 'est dire un sommet de GD . Pour haque lettre a de on ajoute D une
arte tiquete par a de sour e S et de but S a . L'tat initial de D est le singleton ontenant l'tat initial de A
et les tats naux sont tous les ensembles de sommets ontenant au moins un tat nal de A.
L'automate D ainsi onstruit est lairement dterministe. Le fait qu'il re onnait le mme langage que A est
une onsquen e immdiate du lemme.

29

Remarque

La pro dure de dterminisation d rite produit un automate dont le nombre d'tats est 2n o n est
le nombre d'tats de A. On peut souvent simplier l'automate rsultant, en parti ulier par eque le
graphe obtenu est en gnral non onnexe (au sens orient) et que l'on peut alors supprimer toutes les
omposantes onnexes qui ne ontiennent pas l'tat initial. Toutefois, mme aprs es simpli ations,
l'automate dterministe est en gnral de grande taille par rapport l'automate de dpart.

3.10 Thorme

La lasse des langages automatiques est lose par omplmentaire et interse tion.

Preuve. Soit A un automate, D un automate dterministe omplet re onnaissant LA : l'automate re onnaissant le


omplmentaire de LA est tout simplement l'automate D mais o les sommets naux sont exa tement eux qui
ne sont pas naux dans D. Remarquons que l'hypothse de ompltude est ru iale pour obtenir le rsultat.
Puisque le omplmentaire d'un langage automatique est automatique, et que la runion de deux langages
automatiques est automatique, on en dduit que l'interse tion de deux langages automatiques est automatique.
On peut faire un peu mieux en donnant une onstru tion expli ite de l'automate I re onnaissant LA LA , en
supposant que A et A sont dterministes : les sommets du graphe GI sont les ouples d'un sommet de GA et
d'un sommet de GA . On met une arte tiquete par a entre deux sommets (s, s ) et (t, t ) ssi il y a une arte
tiquete par a entre s et t dans GA et une arte tiquete par a entre s et t dans GA . Le sommet initial de
I est le ouple form des sommets initiaux de A et A et les sommets naux de I sont les ouples forms d'un
sommet nal de A et d'un sommet nal de A .

Lemme de pompage. On va terminer ette se tion ave un rsultat simple permettant dans beau oup de
as de dterminer qu'un langage n'est pas automatique, et don pas rgulier.
3.11 Lemme (Lemme de pompage)

Soit L un langage automatique inni. Il existe un entier N tel que pour tout mot u de L de longueur plus
grande que N , on peut trouver des mots v , p et w tels que :
 u = vpw ;
 |p| > 0 ;
 |vp| N ;
 pour tout entier k 0, le mot vpk w appartient L.

Preuve. Soit A dterministe qui re onnait L. On prend pour N le nombre d'tats de A plus 1. Ainsi tout
hemin de longueur suprieure N repasse au moins deux fois dans un mme tat. Soit u un mot de
L de longueur suprieure N . Comme l'automate re onnait u, il existe un hemin issu du sommet
initial et arrivant un sommet nal et tel que wA () = u. Mais omme A est dterministe on voit que la
longueur de est gale elle de u, don est suprieur N .
Soit s le premier tat par lequel passe deux fois ; alors se d ompose en = 0 1 2 o 0 va de iA
s et ne passe pas par s, 1 est un y le lmentaire en s. En parti ulier la longueur de 0 1 est infrieure
N . Si on prend pour u, p et w les poids respe tifs de 0 , 1 et 2 , on a ralis toutes les proprits du
lemme. En parti ulier le  pompage  vient du fait que 1 est un y le.
Remarque

Le terme  pompage  est une tradu tion de l'anglais  pumping lemma  qui fait rfren e l'ide
que l'on peut  pomper  le sous-mot p.
Exemple.

On peut fa ilement voir que le langage L = {ak bk , k 0} n'est pas automatique, et don pas rgulier
non plus. Supposons, pour la ontradi tion, que si. Soit N l'entier fournit par le lemme de pompage
et onsidrons le mot u = aN bN qui est dans L. D'aprs le lemme, omme |u| N , on peut rire
u = vpw o |vp| N , |p| > 0 et vpk w est dans L pour tout k. Posons n = |vp|. Comme n N et
u = aN bN , on a vp = an , w = aNn bN ; en parti ulier p = am pour un m non nul. C'est dire que
u = anm am aNn bN et que l'on devrait avoir anm (am )k aNn bN = anm amk aNn bN L pour
tout k e qui est faux ds que k 6= 1 puisqu'alors le nombre de a est nm+mk+N n = N +m(k1)
qui est dirent de N , le nombre de b.

30

Vous aimerez peut-être aussi