Documente Academic
Documente Profesional
Documente Cultură
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 }.
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] .
|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
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)
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
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
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 =
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
Exemple.
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.
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
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
1.9 Thorme
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
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 .
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 .
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.
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
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 ?).
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
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
Pn1
k=0
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 : ().
f1 (b)
0
0
1.16 Thorme
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)
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
(A)(x) = 1 ssi x A
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
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
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 ).
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
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 .
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
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
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-
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 ).
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 ]).
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 .
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
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]] .
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 ).
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
d+
G (s) = |{f AG , sG (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
2.2 Thorme
18
2.2
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 ).
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
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 ).
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
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
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 .
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.
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}}| .
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 :
'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)
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
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).
n
Y
ui .
i=1
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
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.
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 .
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
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.
En parti ulier L0 = {} et L1 = 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 :
3.3 Thorme
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
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
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.
vraie.
3.5 Thorme
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
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
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 :
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
tsu1
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.
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