Anda di halaman 1dari 414

Mathematiques pour linformatique

Christophe GUYEUX
guyeux@iut-bm.univ-fcomte.fr
21 avril 2008

Table des mati`eres


I Theorie des ensembles

13

1 Introduction a` la theorie des ensembles


I.
Rappels de theorie des ensembles . . . . . . .
1
Notion premi`ere densemble . . . . .
2
R`egles de fonctionnement . . . . . .
3
Sous-ensembles, ensemble des parties
4
Representation graphique . . . . . . .
5
Exercices . . . . . . . . . . . . . . .
II. Operations sur les ensembles . . . . . . . . .

1
Egalite
de deux ensembles . . . . . .
2
Reunion, intersection . . . . . . . . .
3
Complementation . . . . . . . . . . .
4
Produit cartesien . . . . . . . . . . .
III. Exercices . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

14
14
14
15
16
16
17
18
18
18
20
20
20

2 Relations binaires entre ensembles


I.
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . . .
2
Remarques . . . . . . . . . . . . . . . . . . . . . . . .
3
Exercices . . . . . . . . . . . . . . . . . . . . . . . . .
II. Application dun ensemble dans un autre . . . . . . . . . . . . .
1
Definition dune application, dune relation fonctionnelle
2
Image et antecedent dun e lement . . . . . . . . . . . .
3
Applications injectives . . . . . . . . . . . . . . . . . .
4
Applications surjectives . . . . . . . . . . . . . . . . .
5
Applications bijectives . . . . . . . . . . . . . . . . . .
III. Cardinal et puissance dun ensemble . . . . . . . . . . . . . . .
1
Cas des ensembles finis . . . . . . . . . . . . . . . . . .
2
Cas des ensembles infinis . . . . . . . . . . . . . . . .
3
Nombre dinfinis . . . . . . . . . . . . . . . . . . . . .
IV. Relations dordre . . . . . . . . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . . .
2
Ordre partiel, ordre total . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

23
23
23
24
24
24
24
25
26
27
29
30
30
31
32
33
33
35

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

V.

VI.

3
Exercices . . . . . . . . . . . . . . . . . . . . .
ements maximaux . . . . . . . . . . . . . . .
4
El
5
Treillis . . . . . . . . . . . . . . . . . . . . . .
Relations dequivalence . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . .
2
Classes dequivalence . . . . . . . . . . . . . .
3
Ensemble-quotient . . . . . . . . . . . . . . . .
4
Exercices . . . . . . . . . . . . . . . . . . . . .
Compatibilite entre une operation et une relation binaire

3 Relations n-aires
I.
Definitions . . . . . . . . . . . . . . . . . . . . .
1
Relations orientees et non orientees . . .
2
Relations e quivalentes, relations e gales .
3
Interpretation fonctionnelle . . . . . . . .
4
SGBD . . . . . . . . . . . . . . . . . . .
II. Projections . . . . . . . . . . . . . . . . . . . .
1
Definitions . . . . . . . . . . . . . . . .
2
Theor`eme des projections . . . . . . . .
III. Operations sur les relations n-aires . . . . . . . .
1
Somme et produit . . . . . . . . . . . . .
2
Reunion et intersection . . . . . . . . . .
3
Produit cartesien . . . . . . . . . . . . .
IV. Selection dune relation n-aire . . . . . . . . . .
V. Dependances fonctionnelles et cles . . . . . . . .
1
Dependances fonctionnelles . . . . . . .
2
Theor`eme des dependances fonctionnelles
3
Cles . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

36
37
39
41
41
42
44
45
46

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

48
48
48
50
51
51
51
51
52
52
52
53
53
53
54
54
55
56

II Arithmetique

57

4 Ensembles de nombres entiers


I.
Nombres entiers naturels (N) . . . . . . . . .
1
Definition . . . . . . . . . . . . . . .
2
Operations et relation dordre dans N
3
Nombres premiers . . . . . . . . . .
4
Relation de divisibilite . . . . . . . .
5
Entiers relatifs . . . . . . . . . . . .
II. Division euclidienne dans Z et applications .
1
Definition . . . . . . . . . . . . . . .
2
Representation des nombres entiers .
3
Arithmetique modulo n . . . . . . . .
2

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

58
58
58
60
60
62
63
64
64
65
67

.
.
.
.
.
.
.

70
71
75
75
75
77
78

.
.
.
.
.
.
.
.
.

81
81
82
82
83
83
83
84
86
86

.
.
.
.
.
.

90
90
90
91
93
93
94

7 Tests de primalite
I.
Theor`eme de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . .
II. Test de Miller-Rabin . . . . . . . . . . . . . . . . . . . . . . . . . .
III. Tests de Lucas, Selfridge et Pocklington . . . . . . . . . . . . . . . .

95
95
96
96

III.

4
Division (( enti`ere )) informatique et division euclidienne
5
Arithmetique modulo 2n dans les ordinateurs . . . . . .
Algorithmes dEuclide et applications . . . . . . . . . . . . . .
1
PGCD de deux entiers . . . . . . . . . . . . . . . . . .
2
Algorithme dEuclide . . . . . . . . . . . . . . . . . . .
3
Theor`eme de Bezout . . . . . . . . . . . . . . . . . . .
4
Algorithme dEuclide generalise . . . . . . . . . . . . .

5 Representation des nombres reels en machine


I.
Introduction . . . . . . . . . . . . . . . . . . . . .
II. Les formats IEEE . . . . . . . . . . . . . . . . . .
1
La norme IEEE 754 . . . . . . . . . . . .
2
Format (( single )) . . . . . . . . . . . . . .
3
Format (( double )) . . . . . . . . . . . . . .
4
Format (( extended )) . . . . . . . . . . . .
5
Dune mani`ere generale... . . . . . . . . .
6
Format (( extended )) des microprocesseurs.
III. Reels representables et precision . . . . . . . . . .
6 Cryptologie et arithmetique
I.
Methodes de cryptage (( a` cle publique )) . .
1
Principe . . . . . . . . . . . . . . .
2
Utilisation de lindicatrice dEuler .
II. Choix dun nombre n . . . . . . . . . . . .
1
Nombres premiers . . . . . . . . .
2
Decomposition en facteurs premiers

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

8 Decomposition en facteurs premiers


I.
Divisions successives . . . . . . . . . . . . . . . .
II. Algorithme de Monte-Carlo (1975) . . . . . . . . .
1
Presentation . . . . . . . . . . . . . . . . .
2
Lalgorithme . . . . . . . . . . . . . . . .
3
Discussion . . . . . . . . . . . . . . . . .
III. Algorithme du crible quadratique QS de Pomerance
IV. Algorithme (p 1) de Pollard . . . . . . . . . . .
V. Algorithme de Lenstra (courbes elliptiques) . . . .
1
Introduction aux courbes elliptiques . . . .
2
Algorithme de Lenstra . . . . . . . . . . .
3

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

98
98
99
99
99
100
100
101
103
103
104

III Logique

105

9 Alg`ebre de Boole
I.
Proprietes generales . . . . . . . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . . .
2
R`egles de calcul dans une alg`ebre de Boole . . . . . . .
II. Fonctions booleennes . . . . . . . . . . . . . . . . . . . . . . .
1
Definitions . . . . . . . . . . . . . . . . . . . . . . . .
2
Fonctions booleennes e lementaires . . . . . . . . . . . .
3
Correspondance entre maxtermes et mintermes . . . . .
4
Principaux resultats concernant mintermes et maxtermes
5
Formes canoniques dune fonction booleenne . . . . . .
III. Representation et simplification des fonctions . . . . . . . . . .
1
Diagrammes de Karnaugh . . . . . . . . . . . . . . . .
2
Methode des consensus . . . . . . . . . . . . . . . . . .
IV. Complement : Resolution dequations booleennes . . . . . . . .
1
Presentation de la methode . . . . . . . . . . . . . . . .
2
Exercice . . . . . . . . . . . . . . . . . . . . . . . . . .
V. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

106
106
106
108
110
110
111
113
114
115
118
118
121
129
129
130
130

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

10 Calcul Propositionnel
I.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Objets de la logique . . . . . . . . . . . . . . . . . . . . . .
2
Production automatique . . . . . . . . . . . . . . . . . . . .
3
Des probl`emes de levidence . . . . . . . . . . . . . . . . . .
II. Les fondements de la logique des Propositions . . . . . . . . . . . . .
1
Les Propositions . . . . . . . . . . . . . . . . . . . . . . . .
2
Les connecteurs logiques . . . . . . . . . . . . . . . . . . . .
3
Variables et Formes Propositionnelles . . . . . . . . . . . . .
III. Premier point de vue : la Logique des valeurs de verite . . . . . . . .
1
Fonctions de verite . . . . . . . . . . . . . . . . . . . . . . .
2
Tautologies, antilogies, consequences logiques . . . . . . . .
3
Simplification du calcul des fonctions de verite . . . . . . . .
4
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IV. Deuxi`eme point de vue : theorie de la demonstration . . . . . . . . .
1
Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Les axiomes logiques . . . . . . . . . . . . . . . . . . . . . .
3
Les r`egles dinference . . . . . . . . . . . . . . . . . . . . .
4
Demonstrations et deductions sous hypoth`eses . . . . . . . .
5
Theor`eme de la deduction . . . . . . . . . . . . . . . . . . .
6
Quelques theor`emes classiques et quelques r`egles dinference
annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4

133
133
133
133
134
134
134
136
143
148
148
150
155
158
159
162
162
163
164
165
167
170

V.

7
Technique de lhypoth`ese supplementaire
8
Methodes de demonstration . . . . . . .
9
Exercices . . . . . . . . . . . . . . . . .
10 Tableaux de Beth . . . . . . . . . . . . .
Completude du calcul propositionnel . . . . . . .
1
Theor`eme de completude . . . . . . . . .
2
Theor`eme de completude generalise . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

11 Calcul des predicats


I.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Insuffisances de la formalisation en Calcul Propositionnel
2
Univers du discours, sujets et individus . . . . . . . . . .
3
Groupes operatoires et termes . . . . . . . . . . . . . . .
4
Groupes relationnels et atomes . . . . . . . . . . . . . . .
5
Les quantificateurs . . . . . . . . . . . . . . . . . . . . .
6
Formules du calcul des predicats . . . . . . . . . . . . . .
7
Champ dun quantificateur . . . . . . . . . . . . . . . . .
II. Theorie de la validite en calcul des predicats . . . . . . . . . . . .
1
Extension des valeurs de verite au calcul des predicats . .

2
Equivalences
classiques entre formules . . . . . . . . . .
3
Substitutions libres . . . . . . . . . . . . . . . . . . . . .

4
Elimination
et introduction des quantificateurs . . . . . .
III. Theorie de la demonstration en calcul des predicats . . . . . . . .
1
Axiomes et r`egles dinference . . . . . . . . . . . . . . .
2
Validite des resultats e tablis en calcul propositionnel . . .
3
Le ( meta- ) theor`eme de la deduction . . . . . . . . . . .
IV. Le syst`eme formel (( PR )) . . . . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Calcul des predicats e galitaire . . . . . . . . . . . . . . .
3
Interpretations de (( PR )) . . . . . . . . . . . . . . . . . .
4
(Meta-)Theor`eme de completude . . . . . . . . . . . . . .
5
Satisfiabilite et insatisfiabilite . . . . . . . . . . . . . . .
V. Traitement des formules de (( PR )) . . . . . . . . . . . . . . . . .
1
Forme prenexe . . . . . . . . . . . . . . . . . . . . . . .
2
Forme de Skolem . . . . . . . . . . . . . . . . . . . . . .
3
Forme clausale . . . . . . . . . . . . . . . . . . . . . . .
VI. Syst`eme de Herbrand . . . . . . . . . . . . . . . . . . . . . . . .
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
2
Univers, atomes, syst`eme de Herbrand . . . . . . . . . . .
3
Theor`eme de Herbrand . . . . . . . . . . . . . . . . . . .
4
Algorithme de Herbrand . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

173
175
176
179
180
180
184

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

185
185
185
187
187
189
190
194
194
195
195
199
200
201
202
202
202
202
203
203
203
204
204
204
205
205
207
208
209
209
209
210
210

12 Algorithme de resolution
I.
Resolution sans variables . . . . . . . . . . . . . . . . . . . .
1
Cadre . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Le syst`eme formel RSV . . . . . . . . . . . . . . . .
3
Principes generaux . . . . . . . . . . . . . . . . . . .
4
Le syst`eme formel RSV . . . . . . . . . . . . . . . .
5
Quelques indications sur les algorithmes de resolution
6
Exemples complets de resolution . . . . . . . . . . . .
7
Exercices . . . . . . . . . . . . . . . . . . . . . . . .
II. Resolution avec variable . . . . . . . . . . . . . . . . . . . .
1
Unification . . . . . . . . . . . . . . . . . . . . . . .
2
Resolution . . . . . . . . . . . . . . . . . . . . . . .
3
Strategie de resolution . . . . . . . . . . . . . . . . .
4
Exemples complets de resolution . . . . . . . . . . . .
5
Exercices . . . . . . . . . . . . . . . . . . . . . . . .
III. Clauses de Horn . . . . . . . . . . . . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . .
2
Deduction ordonnee . . . . . . . . . . . . . . . . . .
3
Le resultat e voque dans le paragraphe precedent . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

211
211
211
211
211
211
212
215
219
220
221
222
224
225
226
228
228
229
229

13 Exercices sur la logique

230

IV Langages, grammaires et automates

232

14 Compilation, langages et grammaires


I.
Introduction a` la compilation . . . . . . . . . . . . . . . . .
1
Le probl`eme pose est... . . . . . . . . . . . . . . . .
2
Les diverses phases dune compilation . . . . . . . .
II. Les grammaires . . . . . . . . . . . . . . . . . . . . . . . .
1
Definition de la notion de grammaire . . . . . . . .
2
Le formalisme BNF . . . . . . . . . . . . . . . . .
3
Les symboles terminaux . . . . . . . . . . . . . . .
4
Les symboles non terminaux . . . . . . . . . . . . .
5
Exercices . . . . . . . . . . . . . . . . . . . . . . .
III. Un exemple complet . . . . . . . . . . . . . . . . . . . . .
1
Principes generaux . . . . . . . . . . . . . . . . . .
2
La grammaire du langage . . . . . . . . . . . . . . .
3
Analyseur syntaxique pur . . . . . . . . . . . . . .
4
Analyseur syntaxique avec messages derreur . . . .
5
Analyseur syntaxique avec interpretation semantique

233
233
233
233
234
234
235
235
235
236
238
238
238
239
240
240

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

15 Introduction aux expressions rationnelles


I.
Presentation . . . . . . . . . . . . . . .
II. R`egles de definition . . . . . . . . . . .
III. Proprietes des operateurs . . . . . . . .
IV. De nouvelles abreviations . . . . . . . .
V. Universalite des expressions rationnelles

.
.
.
.
.

242
242
243
244
245
245

16 Automates Finis
I.
Automates finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Mecanismes . . . . . . . . . . . . . . . . . . . . . . . . . . .
II. Automates finis a` comportement determine . . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Automates finis avec sorties (machines de Moore et de Mealy)
3
Automates de Moore . . . . . . . . . . . . . . . . . . . . . .
III. Langage associe a` un automates de Moore . . . . . . . . . . . . . . .
1
Definition du langage . . . . . . . . . . . . . . . . . . . . . .
2
Exemple et exercices . . . . . . . . . . . . . . . . . . . . . .
IV. Automates finis a` comportement non determine . . . . . . . . . . . .
1
Definitions et exemples . . . . . . . . . . . . . . . . . . . . .
2
Utilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V. Determination dun AFND . . . . . . . . . . . . . . . . . . . . . . .
1
Methode de construction par sous-ensemble . . . . . . . . . .
2
En pratique . . . . . . . . . . . . . . . . . . . . . . . . . . .
VI. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Proprietes dun automate a` n e tats . . . . . . . . . . . . . . .
2
Les palindromes . . . . . . . . . . . . . . . . . . . . . . . .

247
247
247
247
249
249
251
253
253
253
254
255
255
258
258
258
259
260
261
261

17 Optimisation dautomates finis


I.
Congruences dautomates . . . .
1
Quelques rappels . . . .
2
Definition . . . . . . . .
3
Ensemble quotient . . .

II. Equivalence de Nerode . . . . .


1
Lequivalence . . . . . .
2
Lalgorithme . . . . . .
III. Methode du dual . . . . . . . .
1
Dual dun automate . . .
2
Methode du dual . . . .
IV. Synth`ese . . . . . . . . . . . . .
1
Outils . . . . . . . . . .
2
Methodes doptimisation

263
263
263
264
265
268
268
269
271
271
271
274
274
275

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

18 Construction dautomates finis a` partir dexpressions rationnelles


I.
Automates a` transitions instantanees . . . . . . . . . . . . . . .
II. Donnees et resultat . . . . . . . . . . . . . . . . . . . . . . . .
III. Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IV. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V. Finalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 Automates a` pile
I.
Automates a` pile, deteministes ou pas. . . . . . . . . . . .
1
Automate a` pile non deterministe . . . . . . . . .
2
Automate a` pile deterministe . . . . . . . . . . . .
II. Calcul dans un automate a` pile . . . . . . . . . . . . . . .
1
Encore quelques definitions... . . . . . . . . . . .
2
Premiers exemples . . . . . . . . . . . . . . . . .
3
Exemple plus complet : le langage {0n 1n |n N }
III. Construction dun automate a` pile . . . . . . . . . . . . .
1
Introduction a` la methode . . . . . . . . . . . . .
2
Utilisation dun symbolisme . . . . . . . . . . . .
3
Algorithme de construction . . . . . . . . . . . . .
4
Exercices . . . . . . . . . . . . . . . . . . . . . .
20 Description dun langage par une grammaire
I.
Langages . . . . . . . . . . . . . . . . .
II. Grammaires . . . . . . . . . . . . . . . .
1
Definitions . . . . . . . . . . . .
2
Types de grammaires de Chomsky
III. Un exemple de grammaire contextuelle .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

276
276
276
276
278
279

.
.
.
.
.
.
.
.
.
.
.
.

281
281
281
283
284
284
285
286
287
287
287
287
288

.
.
.
.
.

291
291
292
292
292
293

21 Exercices sur les grammaires, langages et automates

295

297

Theorie des graphes

22 Graphes non orientes


I.
Definitions et premiers exemples . . .
1
Definitions . . . . . . . . . .
2
Exemples . . . . . . . . . . .
3
Degre, chane . . . . . . . . .
4
circuit-cycle . . . . . . . . . .
5
Exercices . . . . . . . . . . .
II. Quelques types particuliers de graphes
1
Graphes planaires . . . . . . .
2
Multigraphes . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

298
298
298
298
299
301
302
303
303
303

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

304
304
305
306
307
307
308
310

23 Graphes euleriens, planaires et hamiltoniens


I.
Circuits euleriens . . . . . . . . . . . . . . . .
1
Introduction : les ponts de Konigsberg .
2
Definitions . . . . . . . . . . . . . . .
3
Resultat dEuler . . . . . . . . . . . .
4
Exercice : les dominos . . . . . . . . .
II. Graphes planaires . . . . . . . . . . . . . . . .
1
Graphes partiels et sous-graphes . . . .
2
Graphe planaire . . . . . . . . . . . . .
3
Exemples . . . . . . . . . . . . . . . .
4
Probl`emes de denombrement . . . . . .
5
Caracterisation des graphes planaires .
III. Circuit hamiltonien . . . . . . . . . . . . . . .
1
Les dodeca`edres de Hamilton . . . . .
2
Definition . . . . . . . . . . . . . . . .
3
Resultat . . . . . . . . . . . . . . . . .
4
Le probl`eme du voyageur de commerce

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

312
312
312
313
314
314
314
314
318
319
320
321
322
322
323
323
324

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

325
325
325
326
326
326
327
327
327
331
336
336
337
337
338
340

III.

3
Graphes connexes .
4
Graphes complets . .
5
Graphes biparti . . .
6
Exercices . . . . . .
Representation des graphes .
1
Matrice dincidence
2
Matrice dadjacence
3
Listes dadjacence .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

24 Arbres et arborescence
I.
Presentation generale . . . . . . . . . . .
1
Definitions . . . . . . . . . . . .
2
Caracterisation des arbres . . . .
3
Nombre minimal de feuilles . . .
4
Exercices . . . . . . . . . . . . .
II. Codage de Prufer . . . . . . . . . . . . .
1
Presentation . . . . . . . . . . . .
2
Codage . . . . . . . . . . . . . .
3
Decodage . . . . . . . . . . . . .
4
Theor`eme de Cayley . . . . . . .
5
Exercices . . . . . . . . . . . . .
III. Arbres couvrants . . . . . . . . . . . . .
1
Definition . . . . . . . . . . . . .
2
Arbre maximal de poids minimum
IV. Arborescence . . . . . . . . . . . . . . .
9

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

V.

1
Definitions et exemples . .
2
Arborescences ordonnees .
3
Codage de Huffman . . .
Parcours en largeur dun graphe .
1
Presentation . . . . . . . .
2
Idee de lalgorithme . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

25 Probl`emes de coloration
I.
Coloration des sommets . . . . . . . . . . . . . . . .
1
Notion de stabilite . . . . . . . . . . . . . .
2
La coloration . . . . . . . . . . . . . . . . .
3
Encadrement du nombre chromatique . . . .
4
Algorithme de coloration de Welsh et Powell
5
Exercices . . . . . . . . . . . . . . . . . . .
II. Coloration des sommets dun graphe planaire . . . .
1
Presentation . . . . . . . . . . . . . . . . . .
2
Formulation en theorie des graphes . . . . .
3
Exercice . . . . . . . . . . . . . . . . . . . .
III. Coloration des aretes . . . . . . . . . . . . . . . . .
1
Presentation du probl`eme . . . . . . . . . . .
2
Lien avec la coloration des sommets . . . . .
3
Exercice . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

340
341
343
348
348
348

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

349
349
349
349
350
352
352
354
354
355
356
356
356
357
358

26 Graphes orientes
I.
Definitions . . . . . . . . . . . . . . . . . . . . . . . . .
1
Digraphe (graphe oriente), sommet, arc . . . . .
2
Exemples . . . . . . . . . . . . . . . . . . . . .
3
Degre dun sommet dun digraphe . . . . . . . .
4
Chemins et circuits . . . . . . . . . . . . . . . .
5
Circuits euleriens . . . . . . . . . . . . . . . . .
II. Digraphe fortement connexe . . . . . . . . . . . . . . .
1
Definitions . . . . . . . . . . . . . . . . . . . .
2
Exercices . . . . . . . . . . . . . . . . . . . . .
III. Matrice et listes dadjacences . . . . . . . . . . . . . . .
1
Matrice dincidence . . . . . . . . . . . . . . .
2
Matrice dadjacences . . . . . . . . . . . . . . .
3
Lien entre matrices dadjacences et dincidences
4
Listes dadjacence . . . . . . . . . . . . . . . .
IV. Digraphes sans circuits . . . . . . . . . . . . . . . . . .
1
Theor`eme . . . . . . . . . . . . . . . . . . . . .
2
Algorithme de calcul du rang . . . . . . . . . . .
3
Exercice . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

359
359
359
360
360
362
363
363
363
364
365
365
366
367
369
370
370
370
370

10

.
.
.
.
.
.
.
.
.
.
.
.
.
.

27 Probl`emes de chemin
I.
Algorithme de Dijkstra . . . . . . . . . . . . .
1
Presentation . . . . . . . . . . . . . . .
2
Lalgorithme . . . . . . . . . . . . . .
3
Description de lalgorithme de Dijkstra
4
Exemple . . . . . . . . . . . . . . . .
5
Exercices . . . . . . . . . . . . . . . .
II. Methode PERT . . . . . . . . . . . . . . . . .
1
Presentation de la methode . . . . . . .
2
Algorithme du chemin critique . . . . .
3
Definitions . . . . . . . . . . . . . . .
4
Exemple . . . . . . . . . . . . . . . .
5
Exercices . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

372
372
372
372
373
373
374
375
375
375
376
376
377

28 Chanes de Markov
I.
Generalites . . . . . . . . . . . . . . . . . . . . . . .
1
Presentation . . . . . . . . . . . . . . . . . . .
2
Definitions . . . . . . . . . . . . . . . . . . .
3
Exemple . . . . . . . . . . . . . . . . . . . .
4
Proprietes . . . . . . . . . . . . . . . . . . . .
5
Exercice . . . . . . . . . . . . . . . . . . . . .
II. Distribution limite . . . . . . . . . . . . . . . . . . . .
1
Presentation . . . . . . . . . . . . . . . . . . .
2
Existence dune distribution limite . . . . . . .
3
Exercices . . . . . . . . . . . . . . . . . . . .
III. Chane absorbante . . . . . . . . . . . . . . . . . . . .
1
Generalites . . . . . . . . . . . . . . . . . . .
2
Delais dabsorption et probabilite dabsorption
3
Exercices . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

379
379
379
379
380
380
381
381
381
382
382
383
383
384
387

VI Annexes

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

390

29 Annales
391
I.
Partiel du 22 octobre 2007 (S1) . . . . . . . . . . . . . . . . . . . . . 391
II. Partiel du 22 octobre 2007 (S3) . . . . . . . . . . . . . . . . . . . . . 396
30 Bibliographie

406

31 Programme Pedagogique National 2005 (PPN)

407

Index

409

11

Remerciements
Je tiens a` remercier vivement Michel Bour, qui ma tr`es amicalement laisse ses supports de cours. Ce document sen inspire tr`es largement, au point den e tre, frequemment,
quune remise en forme. Sans lui, ce support de cours nexisterait pas.
Je remercie encore Jean-Francois Couchot pour ses infatigables relectures, ses
conseils toujours pertinents, ses corrections de forme ou de fond, et pour ses propositions dexercices. Il contribue fortement a` lamelioration de ce document.

12

Premi`ere partie
Theorie des ensembles

13

Chapitre 1
Introduction a` la theorie des
ensembles
I. Rappels de theorie des ensembles
1 Notion premi`ere densemble
Ensemble Notion premi`ere qui ne se definit pas. Cest une collection dobjets reunis
en vertu dune propriete commune.
On peut definir un ensemble de deux mani`eres :
en extension : on donne la liste exhaustive des e lements qui y figurent,
en comprehension : en donnant la propriete que doivent posseder les e lements
de lensemble.

Exercice 1. Definir les ensembles suivants en comprehension :


1. A = {1,2,4,8,16,32,64}

2. B = {1,2,7,14}

3. C = {4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20 }

Reponses : 1) Les puissances de 2 inferieures ou e gales a` 64. 2) Les diviseurs de 14.


3) Les entiers inferieurs ou e gaux a` 20 qui ont au moins 3 diviseurs.
N OTATION : On note Nn lensemble des entiers inferieurs ou e gaux a` n.

Exercice 2. Definir les ensembles suivants en extension


1. A = {x R|x(x + 5) = 14}
14

2. B = {x N|x(2x + 3) = 14}

3. C = {x N10 |x4 1 est divisible par 5 }

Reponses : A = {2, -7}, B = {2}, et C = {1, 2, 3, 4, 6, 7, 8, 9}.


2 R`egles de fonctionnement
Relation dappartenance Il faut e tre capable de decider si un objet est ou non e lement
de lensemble (symbole ).

Objets distincts Il faut e tre capable de distinguer les e lements dun ensemble entre
eux. Un ensemble ne peut pas contenir deux fois le meme objet.
Ensemble vide Ensemble ne contenant aucun e lement1 (symbole : le cercle barre2 ).
Derni`ere r`egle de fonctionnement des ensembles Un ensemble ne peut pas sappartenir a` lui-meme.
R EMARQUE 1. Cette derni`ere r`egle de fonctionnement peut sembler obscure, pas naturelle.
Dans leuphorie de la naissance de la theorie des ensembles, les mathematiciens ne
voyaient pas dobjection a` envisager un ensemble dont les e lements seraient tous les
ensembles (en particulier, ) : lensemble des ensembles, a` lorigine de tout !
Leur enthousiasme fut stoppe lorsque Russell leur opposa le paradoxe...

Exercice 3 (Paradoxe de Bertrand Russell (1872-1970)). Soit X lensemble de tous


les e lements qui ne sont pas e lements deux-memes.
A-t-on X X ? A-t-on X 6 X ?

R EMARQUE 2. Il ne faut pas negliger limpact dune telle revelation. Certains all`erent
jusqu`a y voir la preuve de la nom-existence de Dieu.
1
Lensemble vide ne correspond pas a` rien ; cest en fait un ensemble qui ne contient rien, mais en
tant quensemble il nest pas rien : un sac vide est vide, mais le sac en lui meme existe.
2
La notation a e te introduite par le mathematicien francais Andre Weil du groupe Bourbaki. Unicode : U+00D8

15

3 Sous-ensembles, ensemble des parties


Sous-ensemble Ils sont definis par la relation dinclusion : (( A sous-ensemble de B
(A B) )) si et seulement si tout e lement de A appartient a` B. On dit alors que
A est sous-ensemble, ou partie, de B.
Lensemble vide est inclus dans nimporte quel ensemble3 .
Tout ensemble est inclus dans lui-meme.
Ensemble des parties Soit A un ensemble, lensemble des parties de A, note P(A),
est lensemble de tous les sous-ensembles de A.

E XEMPLE 1. Si A = {1, 2, 3},


alors P(A) = {, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
Comme A A, A P(A).
De plus, en general, si A poss`ede n e lements, P(A) en poss`ede 2n .
E XEMPLE 2. Si A = , P(A) = {}, P (P(a)) = {, {}}.

4 Representation graphique
On peut representer ensembles et sous-ensembles a` laide dun diagramme de Venn
(les cel`ebres (( patates )))...
Exercice 4 (Diagramme de Venn). A partir des affirmations
1. les poetes sont des gens heureux,
2. tous les docteurs sont riches et
3. nul e tre heureux nest riche,
determiner la validite de chacune des conclusions suivantes
1. Aucun poete nest riche.
3

Dapr`es la definition dun sous-ensemble, cela veut dire que pour tout e lement x de , x appartient
a` A. Raisonnons a contrario : si lensemble vide nest pas inclus dans A, alors il existe au moins un
e lement de lensemble vide qui nappartient pas a` A. Or, il ny a aucun e lement dans lensemble vide,
donc plus particuli`erement aucun e lement de lensemble vide qui nappartienne pas a` A. On en conclut
donc que tout e lement de appartient a` A et donc que est un sous-ensemble de A. Plus generalement,
toute proposition commencant par (( pour tout e lement de )) est vraie.

16

2. Les docteurs sont des gens heureux.


3. Nul ne peut e tre a` la fois docteur et poete.

5 Exercices

Exercice 5. Est-ce que {a} {a, b, c} ? Former la liste des parties de {a, b, c}.

Exercice 6. Montrer que P(A) P(B) quand A B.

Exercice 7. Quels sont les e lements de P() ? Quels sont ceux de P(P()) ?

R EMARQUE 3. La notation {} na pas le meme sens que . La derni`ere notation


decrit un ensemble qui ne contient rien alors que le premier decrit un ensemble contenant un e lement : lensemble vide. On peut, afin de mieux comprendre, reprendre
lanalogie du sac vide. Un tiroir contenant un sac vide - {} - nest pas vide - et contient bien un objet.

Exercice 8. Soit B = {0, 1}.


1. A-t-on B B ?

2. Quels sont les e lements de P(B) ?

3. Quels sont les e lements de P(P(B)) ?

17

II. Operations sur les ensembles

1 Egalite
de deux ensembles
D E FINITION 1. Deux ensembles sont e gaux si et seulement si ils ont les memes e lements.
A B et B A A = B.
Exercice 9. Dans chacun des cas suivants, determiner si les ensembles sont e gaux :
1. A = {x R|x > 0} et B = {x R|x > |x|}

2. A = {x R|x > 0} et B = {x R|x 6 |x|}


3. A = Z et B = {x Z|x2 x pair }

4. A = {x N20 | x impair, non divisible par 3 } et B = {x N20 | 24 divise x2


1}

2 Reunion, intersection
Reunion A et B sont deux ensembles, on consid`ere la reunion de A et de B, notee
A B, lensemble des e lements qui sont e lements de A ou de B.
E XEMPLE 3. A = {1, 2, 3}, B = {1, 4, 5}, alors A B = {1, 2, 3, 4, 5}

P ROPRI E T E I (P ROPRI E T E S DE LA R E UNION ) : La reunion de deux ensembles


poss`ede certaines proprietes :
idempotence : A A = A
commutativite : A B = B A
associativite : A (B C) = (A B) C
e lement neutre : A = A
Intersection Lintersection de deux ensembles A et B est lensemble, note A B des
e lements communs a` A et a` B.

18

P ROPRI E T E II (P ROPRI E T E S DE L INTERSECTION ) : Lintersection de deux ensembles poss`ede certaines proprietes :


idempotence : A A = A
commutativite : A B = B A
associativite : A (B C) = (A B) C
e lement neutre : si lon se place dans un ensemble E et que A est une partie de
E, alors E est e lement neutre pour lintersection : A E = A
Proprietes mutuelles de ces deux operations Ces deux operations ont des proprietes
symetriques...
P ROPRI E T E III (D ISTRIBUTIVIT E S DE ET ) : On a les distributivites :
de sur : A (B C) = (A B) (A C)
de sur : A (B C) = (A B) (A C)

Exercice 10. Dans chacun des cas suivants, faire la reunion des ensembles A et B.
1. A = {x N|x impair }, B = {x N|x pas divisible par 3 }
2. A = {x R|0 6 x 6 3}, B = {x R| 2 < x 6 1}
3. A = {(x, y) R2 |x + y 6 2}, B = {(x, y) R2 |2 < 3x y}

Exercice 11. Dans chacun des cas suivants, faire lintersection des ensembles A et B.
1. A = lensemble des rectangles, et B = lensemble des losanges.
2. A = {x R|0 6 x 6 3}, B = {x R| 2 < x 6 1}
3. A = {(x, y) R2 |x + y 6 2}, B = {(x, y) R2 |2 < 3x y}

Exercice 12. On se donne trois ensembles A, B, C tels que A B C = . Sont-ils


necessairement disjoints deux a` deux ? Donner des exemples.

19

3 Complementation
D E FINITION 2 (C OMPL E MENTATION ). Pour A E , on definit le complementaire
de A par rapport a` E comme lensemble des e lements de E qui ne sont pas e lements
de A.

N OTATION : On note : E \ A ((( E moins A ))).


R EMARQUE 4. Il faut donc se placer, pour la definition de la complementation, dans
P(E) (o`u E est un ensemble fixe) : la complementation se definit par rapport a` un
ensemble.

P ROPRI E T E IV : La complementation a plusieurs proprietes remarquables :


involution : E \ (E \ A) = A,
loi de De Morgan : E \ (A B) = (E \ A) (E \ B), et E \ (A B) =
(E \ A) (E \ B).

4 Produit cartesien
Le produit cartesien des ensembles A et B (dans cet ordre) est lensemble, que lon
note A B ((( A croix B ))) des couples ordonnes (a, b) o`u a A et b B.
Dans le couple (a, b),
(a, b) nest pas un ensemble et
(a, b) est distinct de (b, a).

III. Exercices
Exercice 13 (Ensemble des parties). On se place dans lensemble P(E) des parties
dun ensemble non vide E ; A, B et C sont des parties de E.
1. A (A B) = A (A B) = ?

2. Montrer que (A C) (A B) et (A C) (A B) implique que C B.


Montrer que, pour quil soit possible de conclure a` legalite de B et de C, les
deux propositions suivantes sont necessairement realisees : A B = A C et
A B = A C.
3. Montrer que (A B) (B C) (C A) = (A B) (B C) (C A).
20

Exercice 14 (La difference symetrique). Pour deux ensembles A et B, on appelle


difference symetrique, note AB, lensemble defini par
AB = (A B) \ (A B)
cest-`a-dire que AB est constitue des e lements qui appartiennent soit a` A, soit a` B,
mais pas aux deux.
1. Soit A = {1, 2, 3, 4, 5, 6}, B = {1, 3, 5, 7, 9}, C = {4, 5, 6, 7, 8, 9} et D =
{2, 3, 5, 7, 8}.
Trouver AB, CB, A (BD), BC, AD et (A B)(A D).
2. Verifiez que AB = [A (E \ B)] [(E \ A) B]
AE et E \ (AB).
3. Calculer AA, AA,

4. Montrer que, si AB = C, alors AC = B et BC = A.


5. Montrer que la difference ensembliste est commutative, poss`ede un e lement neutre,
est distributive, et associative.

6. Montrer que si AB = AC alors B = C.

Exercice 15. Soit E un ensemble.


Demontrer que, quelles que soient les parties A, B, X, Y de E, limplication
suivante est vraie :
(X A = X B) et Y X = Y A = Y B.

Exercice 16. Soit E un ensemble et A, B, C des parties de E.


Demontrer la proposition suivante :
[A (B C)] et [(B C) A] = [A = B = C].

21

Exercice 17. Soit E un ensemble non vide et P(E) lensemble de ses parties.
Soit f une application croissante, pour linclusion, de P(E) dans lui-meme (cesta` -dire : si X et Y sont deux parties de E et si X Y , alors f (X) f (Y )).
1. Montrer que, pour tout couple (X, Y ) de parties de E, on a : f (X) f (Y )
f (X Y )
2. On dit quune partie X de E est reguli`ere si et seulement si f (X) X. Montrer
quil existe au moins une partie reguli`ere dans E et que, si X est reguli`ere, il en
est de meme de f (X).
3. Soit A lintersection de toutes les parties reguli`eres de E. Montrer que A est
reguli`ere et que f (A) = A.

Exercice 18 (Archives). Le jour o`u il ne faut pas, vous decouvrez que


vous avez besoin dun fichier client C et du fichier prospects P qui contenait la
liste des clients prospects, c.`a.d. des clients actuels ou potentiels visites par les
representants au dernier semestre ;
Le stagiaire les a efface par megarde, en repondant au hasard a` une question du
syst`eme quil ne comprenait pas.
Au cours dune reunion de crise, vous apprenez cependant quil reste
le fichier F des clients non prospects de ce dernier trimestre ;
le fichier G des prospects du dernier trimestre non encore client ;
le fichier H des clients et/ou propspects melanges sans distinction.
En deduire comment reconstruire P et C.

Exercice 19. Soit les affirmations :


Jai plante tous mes arbres onereux lan passe.
Tous mes arbres fruitiers sont dans mon verger.
Aucun des arbres fruitiers na e te plante lan passe.
Jai un orme, qui est un arbre onereux, mais pas dans mon verger.
Dire si les affirmations suivantes sont justes ou fausses ou impossibles a` repondre.
1. Aucun de mes arbres fruitiers nest onereux.
2. Tous mes arbres plantes lan passe lont e te dans le verger.
3. Jai plante au moins un arbre lan passe.

Fin du Chapitre
22

Chapitre 2
Relations binaires entre ensembles
I. Definitions
On se donne deux ensembles E et F .
1 Definition
D E FINITION 1 (R ELATION BINAIRE , GRAPHE ). On dit que :
lon a defini une relation binaire R entre ces deux ensembles lorsque lon sest
donne une partie G de lensemble produit E F ( : G E F ).
Cette partie est appelee graphe de la relation binaire.
Si x( E) et y( F ) sont tels que (x, y) G, on dit que x est en relation avec
y par la relation R.

On utilise, pour formaliser cette proposition, la notation xRy. Donc :


N OTATION :
xRy

[(( x est en relation avec y )) ] (x, y) G [G : graphe de la relation R].

Exercice 1. On se place dans lensemble E = {1, 2, 3, . . . , 20}.


Representer, dans le plan rapporte a` deux axes de coordonnees rectangulaires, les
graphes des relations binaires sur E dont les definitions suivent :
xRy x 6 y.
xRy x|y : x divise y.
xRy x y[3] : x est congru a` y modulo 3.
xRy y = x2 .

23

2 Remarques
R EMARQUE 1. Lorsque E = F , on parle de relation binaire definie dans lensemble
E. Son graphe est une partie de E 2 .
R EMARQUE 2. Il est possible que xRy sans que yRx.
3 Exercices

Exercice 2. Sur lensemble des mots de la langue francaise, on definit la relation :


(( le mot M est lie au mot N sils concident apr`es quon ait retourne lordre des lettres
de M )).
Determiner quelques couples de mots en relation, ainsi que des mots en relation
avec eux-memes.

Exercice 3. Sur lensemble Z des entiers relatifs, on definit deux relations, notees
respectivement et , de la facon suivante :
xy quand la somme x + y est paire
xy quand la difference x y est paire
Sont-elles e gales ?

Reponse : xy x + y = 2k x + y 2y = 2k 2y.
Donc xy x y = 2(k y) = 2k xy.

II. Application dun ensemble dans un autre


1 Definition dune application, dune relation fonctionnelle
Application.
D E FINITION 2 (A PPLICATION ). Une application de lensemble E dans lensemble F
est une relation binaire particuli`ere R entre E et F , dont le graphe doit posseder les
proprietes suivantes :
pour tout e lement x de E , il doit exister un e lement y de F tel que (x, y) soit
e lement de G,
cet e lement y doit e tre unique.

24

Voici la formalisation (partielle) de ces propositions :


x E, y F, (x, y) G
x E, y F, y F, [(x, y) G et (x, y ) G = y = y ].
Relation fonctionnelle.

Il existe un intermediaire entre relation et application...

D E FINITION 3 (R ELATION FONCTIONNELLE ). On parle de relation fonctionnelle quand


tout e lement de lensemble de depart poss`ede au plus une image.

R EMARQUE 3. Une application est donc une relation fonctionnelle particuli`ere : tout
e lement de lensemble de depart poss`ede exactement une image.

Exercice 4. Parmi les relations suivantes de R vers R, reperez les relations fonctionnelles, reperez les applications :

1. R = {(x, y) R2 , |y| = x}
2. R = {(x, y) R2 , xy = 1}

3. R = {(x, y) R2 , y x + 2 = 0}

Reponse : Les deux derni`eres sont des relations fonctionnelles, et la derni`ere est la
seule application.
2 Image et antecedent dun e lement
2.1 Image dun e lement
On suppose dorenavant que R est une application. Pour un x donne de E, il lui
correspond un et un seul y de F qui est en relation avec lui par R.
D E FINITION 4. Cet unique y est alors appele image de x par lapplication definie par
R.

N OTATION : Si lon designe par f cette application, lexpression (( y est limage de x


par f )) est formalisee par y = f (x).
N OTATION : On formalise la proposition (( f est une application de E dans F )) par
f : E F , et la proposition (( y est limage de x par f )) peut aussi e tre traduite par :
f : x 7 y.
25

Exercice 5. Interpreter chacune des situations suivantes au moyen dune application.


Pour cela, on definira deux ensembles A et B ainsi que f : A B.
1. Le resultat dune course de tierce.
2. Le registre dun hotel qui poss`ede 55 chambres.
3. Le numero dINSEE.
4. La parite dun entier naturel.
5. Un emploi du temps.

Reciproquement...
2.2 Antecedent dun e lement
Soit f une application.
D E FINITION 5 (A NT E C E DENT ). Si y est limage de x par f , alors x est appele antecedent
de y par f .

3 Applications injectives
3.1 Definitions

P ROPRI E T E I (N OMBRE D ANT E C E DENTS , D E FINITION DE L INJECTIVIT E ) :


Lantecedent de y nest pas necessairement unique. Sil lest, lapplication f est
dite injective .

R EMARQUE 4. Le terme injection est synonyme d(( application injective )).


On peut caracteriser les applications injectives de la mani`ere suivante :

P ROPRI E T E

II

(C ARACT E RISATION

DES FONCTIONS INJECTIVES )

(( f est (une application) injective )) [f (x) = f (x ) = x = x ]

26

3.2 Exercices

Exercice 6. Tracez le graphe dune application qui est injective, et dune application
qui ne lest pas.

Exercice 7. Donnez des exemples (sous forme analytique) de fonctions injectives, et


de fonction qui ne le sont pas.

Exercice 8. On suppose gof injective. Montrer que f est injective. Est-ce que g est
obligatoirement injective ?

4 Applications surjectives
4.1 Definition
La definition dune application f exige seulement que chaque e lement x de E admette une image (unique) y dans F , mais pas que tout e lement y de F admette un
antecedent dans E.
Sil en est neanmoins ainsi, lapplication est dite surjective :
D E FINITION 6. Une application surjective f : E F est une application telle que
tout y de F admette un antecedent dans E .

R EMARQUE 5. Surjection est synonyme d(( application surjective )).

Exercice 9. Tracez le graphe dune application qui est surjective, et dune application
qui ne lest pas.

27

Exercice 10. Donnez des exemples (sous forme analytique) de fonctions surjectives,
et de fonction qui ne le sont pas.

4.2 Image dun ensemble par une application


Dune mani`ere generale, on peut considerer lensemble des images des e lements
de E par une application f de E dans F (ils en ont tous une, et une seule).

D E FINITION 7 (I MAGE D UN ENSEMBLE PAR UNE APPLICATION ). Cet ensemble, qui


est e videmment une partie de F , est note f < E >, et est appele image de E par f :
f < E >= {f (x) F | x E}
R EMARQUE 6. Si tous les e lements de F ont un antecedent dans E (f est surjective),
cela signifie que tout e lement de F est e lement de f < E >, donc que F f < E >.
Comme on a remarque par ailleurs que f < E > F , on a, dans ce cas, f < E >= F .
Cette derni`ere remarque permet la formalisation suivante :

P ROPRI E T E

III

(C ARACT E RISATION

)
DE LA SURJECTIVIT E

(( f est (une application) surjective )) f < E >= F

E XEMPLE 1. Soit lapplication (( e levation au carre )) f : x 7 x2 de R dans R. Elle


est :
non surjective : f < R >= R+ ,
non injective : f (2) = f (2) = 4.

Exercice 11. On suppose gof surjective. Montrer que g est surjective. Est-ce que f
est obligatoirement surjective ?

28

5 Applications bijectives
5.1 Definition
D E FINITION 8 (A PPLICATIONS BIJECTIVES ). Une application qui est a` la fois injective et surjective est dite bijective .

R EMARQUE 7. Synonyme d(( application bijective )) : bijection.

Exercice 12. Dans chaque cas, dire si lapplication f : A B est injective, surjective ou bijective.
1. A = R, B = R, f (x) = x + 7
2. A = R, B = R, f (x) = x2 + 2x 3

3. A = {x R|4 6 x 6 9}, B = {x R|21 6 x 6 96}, f (x) = x2 + 2x 3


4. A = R, B = R, f (x) = 3x 2|x|
5. A = R, B = R, f (x) = ex + 1

6. A = N, B = N, f (x) = x(x + 1)

P ROPRI E T E IV : Dans le cas dune bijection, a` chaque e lement x de E correspond


un et un seul e lement y de F (definition dune application) et, reciproquement, a`
chaque (surjectivite) e lement y de F correspond un et un seul (injectivite) e lement
x de E.

5.2 Application inverse


Cette derni`ere proposition est precisement laffirmation de lexistence dune application g de F dans E, telle que x = g(y) f (x) = y.
D E FINITION 9 (A PPLICATION
inverse de lapplication f .

INVERSE ).

Cette application est appelee application

N OTATION : On la note f 1

29

Exercice 13. Reprendre lexercice precedent, en trouvant lapplication reciproque des


applications bijectives.

R EMARQUE 8. On peut demontrer que la bijectivite est une condition necessaire et


suffisante pour quune application admette une inverse.

E XEMPLE 2. Soit lapplication (( multiplication par 2 )) f : x 7 2x de R dans R.


Elle est :
surjective,
injective.
Elle admet donc une application inverse, a` savoir : f 1 : x 7 x/2.

Exercice 14. Soit f : Z Z definie par f (n) = n + (1)n .

1. Montrer que n et f (n) sont toujours de parite differente.


2. Montrer que f est bijective.
3. Calculer f (f (n)). En deduire une expression de f 1 et resoudre lequation
347 = n + (1)n .

III. Cardinal et puissance dun ensemble


Il sagit ici de proposer une reflexion sur la notion intuitive de (( nombre delements
dun ensemble )) , necessaire pour pouvoir aborder ulterieurement les notions de denombrabilite et de calculabilite, fondamentaux en informatique.

1 Cas des ensembles finis


On commence par prendre deux ensembles E = {a, b, c, d} et F = {1, 2, 3} et a`
remarquer que :
il est possible de definir une injection de F dans E, mais pas une surjection,
de definir une surjection de E sur F , mais pas dinjection,
30

...tout simplement parce quil ny a (( pas assez )) delements dans F (ou (( trop )) dans
E).
Si lon veut pouvoir definir une bijection entre deux ensembles, il semble necessaire
et suffisant quils aient le meme (( nombre delements )) (on se limite ici au domaine
fini).
Cette notion intuitive, resultat immediat dune simple operation de comptage, est
reliee a` la notion mathematique de mise en bijection avec une partie de N de la forme
{1 , 2 , . . . , n}.
Ainsi, pour n N donne, les ensembles a` n e lements sont tous ceux qui peuvent
e tre mis en bijection avec {1 , 2 , . . . , n} (et, par convention, a 0 e lement).
D E FINITION 10 (C ARDINAL D UN ENSEMBLE FINI ). Lelement maximum n de la partie finie P = {1 , 2 , . . . , n} de N est un representant du cardinal de tout ensemble
en bijection avec P .

Pas de probl`eme donc lorsque lon sen tient aux ensembles finis, dont la definition
mathematique est :
D E FINITION 11 (E NSEMBLE FINI ). Un ensemble est dit fini sil ne peut pas e tre mis
en bijection avec une partie stricte de lui-meme.

2 Cas des ensembles infinis


Lorsque lon se pose la question du (( nombre delements )) dun ensemble infini,
on peut e tre tente, dans un premier temps, de repondre par (( une infinite )), ce qui nest
pas satisfaisant pour au moins deux raisons :
jusqu`a present, le (( nombre delements )) e tait un entier, et linfini nest pas un
nombre entier,
cela laisserait supposer que tous les ensemble infinis ont le meme (( nombre
delements ))
Une reflexion plus appronfondie apparat comme necessaire. On decide donc de se
calquer sur le domaine fini...
D E FINITION 12 (P UISSANCE D UN ENSEMBLE INFINI ). Deux ensembles ont meme
puissance ((( meme nombre delements ))) si lon peut les mettre en bijection.

E XEMPLE 3. Il existe des bijections entre N et lensemble des entiers pairs (2N) ou
impairs (2N + 1), qui conduisent a` des formulations du style (( il y a autant dentiers
que dentiers pairs )).
31

R EMARQUE 9. (2N) (2N + 1) = N, bien que ces trois ensembles (( on le meme


rapprocher de + =
nombre delements )), les deux premiers e tants disjoints... A
.
R EMARQUE 10. Pour ce genre de raisons, on a tendance a` abandonner ce vocabulaire (sur les nombres dindividus) pour dire simplement que ces ensembles ont meme
puissance.
3 Nombre dinfinis
3.1 Notion de puissance dun ensemble
Le resultat fondamental est...

P ROPRI E T E

: Il est impossible de definir une surjection de E sur P(E).

P REUVE Admis
Ce resultat montre que, meme si E est un ensemble infini, il ne peut e tre mis en
bijection avec P(E), qui a donc (( strictement plus delements )) que E.
Consequemment, N et ses parties infinies, Z, et meme Q ont tous la meme puissance, dite puissance du denombrable . Mais...
D E FINITION 13 (P UISSANCE DU CONTINU ). P(N) nest pas denombrable, et est de
puissance strictement superieure, dite puissance du continu.

E XEMPLE 4. Cest la puissance de R.

De meme, P(R) est de puissance strictement superieure a` R, et ainsi de suite. . . ...

32

3.2 R est indenombrable : une demonstration de Cantor.


Supposons que R soit denombrable.
On pourrait alors e crire la liste de TOUS les reels, a` partir du premier, en e criture
decimale r1 , r2 , r3 , etc.
R EMARQUE 11. On choisit pour les nombres decimaux lecriture qui ne comporte
que des zeros a` partir dun certain rang, sil y a ambigute.

E XEMPLE 5. Ainsi, lon preferera lecriture 1 a` 0,9999999...... (ces nombres sont


e gaux ; cest-`a-dire que lon a affaire ici a` deux representations decimales dun meme
nombre).

Construisons alors le nombre S de la mani`ere suivante :


1. sa partie enti`ere est 0,
2. et pour sa partie decimale,
le premier chiffre est different du premier chiffre apr`es la virgule de r1 ,
le deuxi`eme chiffre est different du deuxi`eme chiffre apr`es la virgule de r2 ,
etc.
Le nombre S ne fait alors pas partie de la liste des reels, ce qui est contradictoire :
lhypoth`ese R denombrable (on peut numeroter tous les reels avec N) est erronee.

IV. Relations dordre


Dans ce paragraphe, on se place dans le cas o`u E = F .
1 Definition
Soit R une relation binaire definie dans un ensemble E, de graphe G.
1.1 Reflexivite, antisymetrie, transitivite
D E FINITION 14 (R E FLEXIVIT E ). R est dite reflexive quand tout e lement de E est en
relation avec lui-meme :
x E, (x, x) G
R EMARQUE 12. Cest-`a-dire x E, xRx, ou encore : la diagonale de E 2 est incluse dans G.
33

D E FINITION 15 (A NTISYM E TRIE ). R est dite antisymetrique si, lorsque x est en relation avec y , alors y ne peut pas e tre en relation avec x (sauf si x = y ) :
x E, y E, (x, y) G et (y, x) G = x = y
R EMARQUE 13. Cest-`a-dire (x, y) E 2 , xRy et yRx = x = y.
D E FINITION 16 (T RANSITIVIT E ). R est dite transitive lorsque, si x est en relation
avec y , et si y lest avec z , alors x est en relation avec z :
x E, y E, z E, (x, y) G et (y, z) G = (x, z) G
R EMARQUE 14. Cest-`a-dire : x E, y E, z E, xRy et yRz = xRz.

Exercice 15. Les relations suivantes sont-elles reflexives, antisymetriques ou transitives ?


1. A = R et xRy si |x| = |y|.

2. A = R et xRy si sin2 x + cos2 y = 1.


3. A = N et xRy sil existe p et q entiers tels que y = pxq .
4. A est lensemble des points du plan, et xRy si la distance de x a` y est inferieure
a` 52,7 km.

1.2 Relation dordre


D E FINITION 17 (R ELATION D ORDRE ). R est une relation dordre lorsquelle est
reflexive, antisymetrique et transitive.

E XEMPLE 6 (E XEMPLES
(R, 6)
(P(E), )

DE RELATIONS D ORDRE ).

34

Quelques relations dordre :

E XEMPLE 7 (R ELATION DE DIVISIBILIT E ). On note a|b si et seulement si b est un


multiple de a ( k N , b = ka).
Cest une relation dordre definie dans N . En effet, elle est
reflexive : a = 1a, donc a|a est vrai,
antisymetrique : si a|b et b|a, alors k, k N , a = kb et b = k a. Donc
a = kk a. Comme a 6= 0, kk = 1. Mais k, k N , donc k = k = 1, et a = b.
transitive : si a|b et b|c, alors alors k, k N , a = kb et b = k c. Donc a =
kk c : il existe k N (k = kk ) tel que a = k c : a|c.

La structure algebrique constituee par lensemble E, muni de la relation dordre


R, (cest-`a-dire : le couple (E, R)) est celle densemble ordonne.
2 Ordre partiel, ordre total
Une relation dordre definie dans un ensemble E peut posseder une propriete
supplementaire, celle selon laquelle tous les e lements de E sont comparables entre
eux.
Cela signifie que, si lon choisit deux e lements x et y quelconques dans E, x est en
relation avec y, ou y est en relation avec x : x E, y E, (x, y) G ou (y, x) G.
D E FINITION 18 (R ELATION D ORDRE TOTALE ). Une relation dordre qui poss`ede
cette derni`ere propriete est dite relation d ordre total, et la structure algebrique correspondante est celle d ensemble totalement ordonne.

R EMARQUE 15. Cette propriete est aussi e quivalente a` : x E, y E, x R y ou yRx,


ou encore : si x nest pas en relation avec y, alors y est en relation avec x.

D E FINITION 19 (R ELATION D ORDRE PARTIEL ). Dans le cas contraire, il existe des


e lements qui ne sont pas comparables : on parle alors d ordre partiel .

E XEMPLE 8. 6 est une relation dordre totale dans R.

E XEMPLE 9. dans P(E), et | dans N sont des relations dordre partiels.

35

3 Exercices

Exercice 16. Parmi les relations suivantes sur lensemble E, reperez les relations
dordre, les relations dordre total :
1. E = Z, xRy k N : x = y k .
2. E = N, xRy x < y.
3. E = R, xRy x2 = y 2 .
4. E = R2 , (x1 , x2 )R(y1 , y2 ) (x1 6 y2 ) (x2 6 y1 ).

Exercice 17. Tenter de caracteriser par son graphe une relation dordre (partiel total).

Exercice 18. Definir, par leurs graphes, les relations dordre dans E qui comportent
respectivement le moins et le plus possible de points ; que peut-on dire de ces relations ?

Exercice 19 (Relations dordre en Alg`ebre de Boole). Soit A une alg`ebre de Boole.


On consid`ere la relation binaire, de symbole <, definie par
a < b a + b = b.
1.
2.
3.
4.

Montrer quil sagit dune relation dordre.


Montrer que a < b a b = a.
Montrer que, (a, b, c) A3 , b c < a b + a c.
On definit la relation binaire par : a b si et seulement si a b = 0 ; montrer
que cest une relation dordre, comparer avec les resultats precedents.
5. En utilisant lune ou lautre des definitions ci-dessus pour la relation dordre,
trouver, lorsquils existent, les e lements Sup{a, b} et Inf{a, b}. Trouver Max A
et Min A.

36

ements maximaux
4 El
Soit (E, R) un ensemble ordonne et A une partie de E. Quelques definitions...
D E FINITION 20 (M AJORANT ). On appelle majorant de A tout e lement M de E tel
que, quel que soit a A, aRM .

D E FINITION 21 (PARTIE
majorant de A.

E ).
MAJOR E

La partie A de E est dite majoree sil existe un

Exercice 20. Trouvez des exemples de majorants et de parties majorees sur N et R.

R EMARQUE 16. Il existe des parties non majorees (R+ pour 6 dans R)
R EMARQUE 17. Il peut exister une infinite de majorants pour une partie majoree.

D E FINITION 22 (M INORANT ). On appelle minorant de A tout e lement m de E tel


que, quel que soit a A, mRa.
On parle aussi de partie minoree.

Exercice 21. Trouvez des exemples de minorants et de parties minorees sur Z et Q.

D E FINITION 23 ( E L E MENT
de A qui est majorant de A.

MAXIMUM ).

On appelle e lement maximum de A un e lement

Exercice 22. Trouvez des exemples delement maximum sur N et R.

N OTATION : Max A.
37

R EMARQUE 18. Si A est non majoree, il est exclu quelle admette un e lement maximum.
R EMARQUE 19. Cet e lement maximum nexiste pas toujours, meme pour une partie
majoree. Ainsi, lintervalle reel ]2,3[ est majore, mais na pas delement maximum.
Cependant, sil existe, cet e lement est unique.
D E FINITION 24 ( E L E MENT
de A qui est minorant de A.

MINIMUM ).

On appelle e lement minimum de A un e lement

N OTATION : Min A.

Exercice 23. Etant donne B = {1, 2, 3, 4, 5} ordonne selon la relation 4 < 2, 5 < 2,
5 < 3, 2 < 1, 3 < 1. Trouver Min A et Max A.

D E FINITION 25 (B ORNE SUP E RIEURE ). On appelle borne superieure de A lelement


minimum, sil existe, de lensemble des majorants de A.

N OTATION : Sup A.
D E FINITION 26 (B ORNE INF E RIEURE ). On appelle borne inferieure de A lelement
maximum de lensemble des minorants de A.

N OTATION : Inf A.

Exercice 24. Trouvez des exemples de bornes sup et de bornes inf sur R.

Exercice 25 (Une relation dordre). On consid`ere lensemble des points dun plan
affine euclidien, et on y definit une relation binaire (symbole 6) par P1 6 P2
(x1 6 x2 et y1 6 y2 ).
1. Definir, lorsquils existent, les points Sup{P1 , P2 } et Inf{P1 , P2 }.
2. Existent-ils toujours, quels que soient les points P1 et P2 ?

38

P ROPRI E T E VI : Il est clair que :


dans certains cas, les e lements definis ici nexistent pas,
que lelement maximum est aussi borne superieure.
Et finalement, pour une partie A dun ensemble ordonne E :
A peut ne pas e tre majoree.
Si A est majoree, elle peut ne pas admettre de borne superieure.
Si SupA existe (A est majoree), A peut ne pas admettre delement maximum.
Si MaxA existe, alors SupA = MaxA.
...et on a les memes resultats pour les parties minorees.

E XEMPLE 10. Cas de E = {x Q | x 6 32}.


ensemble majore de nombres reels
56 , 32 sont majorants
ensemble E des majorants : E = {y Q | y > 32}
Max E = 32
Min E = 32, donc Sup E = 32.

E XEMPLE 11. Cas de E = {x Q | x < 32}.


ensemble majore de nombres reels
56, 32 sont majorants
ensemble E des majorants : E = {y Q | y > 32}
E na pas delement maximum
Min E = 32, donc Sup E = 32.

5 Treillis
5.1 Cas des ensembles totalement ordonnes
Dans un ensemble totalement ordonne, si lon choisit une paire delements quelconques (x, y) il est possible de decider lequel est le plus petit et lequel est le plus
grand.

39

Et, comme cette partie {x , y} admet un e lement minimum et un e lement maximum, ces deux e lements sont aussi (respectivement) borne inferieure et superieure, on
peut e crire Inf{x , y} = x et Sup{x , y} = y.
Lexistence de ces deux e lements est assuree, ce qui nest pas le cas dans un ensemble qui nest que partiellement ordonne.
5.2 Cas des ensembles partiellement ordonnes
Il existe alors des paires delements (x, y) qui ne sont pas comparables et, pour une
telle paire, les e lements Min{x , y} et Max{x , y} ne sont pas definis.
Il se peut, cependant, que les e lements Inf{x , y} et Sup{x , y} soient, eux, definis.
Si cette propriete est verifiee pour tous les couples delements (x, y), alors lensemble est un treillis :
D E FINITION 27 (T REILLIS ). Un ensemble ordonne est un treillis lorsque toute partie
finie admet une borne sup et une borne inf.

R EMARQUE 20. Il suffit que la propriete soit vraie pour deux e lements distincts (i.e.
une partie a` deux e lements) pour quelle soit vrai pour toutes les parties finies.

Exercice 26. Demontrez lassertion de la remarque precedente.

D E FINITION 28 (T REILLIS
le treillis est dit complet.

COMPLET ).

Si la propriete est vrai pour toute partie, alors

E XEMPLE 12. Un ensemble totalement ordonne est toujours un treillis.

R EMARQUE 21. Cette notion noffre un interet que dans le cas dun ensemble partiellement ordonne, car lexistence dune borne inferieure et dune borne superieure
pour tout couple (et donc pour toute partie finie) permet de les comparer aux autres par
lintermediaire de ces bornes, meme si on ne peut pas les comparer entre eux.
En effet, on a toujours Inf{x , y} 6 x 6 Sup{x , y} et Inf{x , y} 6 y 6
Sup{x , y} (on reprend les exemples vus plus haut).

40

Exercice 27 (Diagrammes de transitivite). On consid`ere...


1. E = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} et on definit la relation binaire R dans E par
son graphe G = { (1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8), (1,9), (2,2),
(2,3), (2,4), (2,6), (2,8), (2,9), (3,3), (4,3), (4,4), (4,6), (4,8), (4,9), (5,3), (5,4),
(5,5), (5,6), (5,7), (5,8), (5,9), (6,6), (6,8), (6,9), (7,7), (7,8), (7,9), (8,8), (9,9) }
(cest-`a-dire : 1R1, etc. . . ). Montrer que cette relation est une relation dordre.
E est-il totalement ordonne par cette relation ? est-il un treillis ?
2. Memes questions pour E = {1 , 2 , 3 , 4 , 5 , 6} et G = { (1,1), (1,2), (1,3),
(1,4), (1,5), (1,6), (2,2), (2,4), (2,5), (2,6), (3,3), (3,4), (3,6), (4,4), (4,6), (5,5),
(5,6), (6,6)}.

V. Relations dequivalence
On se place encore dans ce paragraphe dans le cas o`u E = F .
1 Definition
Soit R une relation binaire definie dans un ensemble (non vide) E, de graphe G.
D E FINITION 29 (R ELATION SYM E TRIQUE ). R est dite symetrique si, d`es que x est
en relation avec y , alors y est en relation avec x
x E, y E, (x, y) G = (y, x) G
R EMARQUE 22. Ou encore : x E, y E, xRy = yRx.
Exercice 28. Est-ce quune relation sur un ensemble A dont le graphe est constitue
uniquement de couples (x,x) est symetrique ? transitive ?

D E FINITION 30 (R ELATION D E QUIVALENCE ). R est une relation dequivalence lorsquelle est reflexive, symetrique et transitive.

E XEMPLE 13. Legalite est une relation dequivalence.


41

E XEMPLE 14 (R ELATION

DE CONGRUENCE MODULO

n DANS Z). Par definition :

x y [n](lire : (( x est congru a` y modulo n )) ) k Z, x y = k n


.
reflexivite : x x[n] : en effet, x x = 0 n, et 0 Z.
symetrie : si x y [n], k Z, x y = k n ; alors y x = (k) n ; or, si
k Z, (k) Z, donc y x [n].
transitivite : si x y [n] et y z [n], k Z, x y = k n et l Z,
y z = l n. En aditionnant membre a` membre ces deux e galites, on obtient
x z = (k + l) n, or (k, l) Z2 , donc k + l Z, donc x z [n].
Cest bien une relation dequivalence.

Exercice 29. Sur Z, on e crit (( xRy quand x + y est pair. ))


Montrez que R est une relation dequivalence.

Exercice 30. Sur R, on definit la relation (( xRy quand cos(2x) = cos(2y). ))


Montrez que R est une relation dequivalence.

2 Classes dequivalence
2.1 Definition
D E FINITION 31 (C LASSE D E QUIVALENCE ). Soit x un e lement de E , et R une relation dequivalence sur E .
On appelle classe dequivalence de cet e lement lensemble des e lements de E qui
sont en relation avec x (on dit encore : (( qui sont e quivalents a` x )) ).

N OTATION : On note x la classe de lelement x : x = {y E | yRx}

42

Exercice 31. Trouvez les classes dequivalences des deux exercices precedents.

Exercice 32. On definit une relation sur lensemble des mots de la langue francaise
de la facon suivante : (( le mot M est lie au mot N si N est une anagramme1 de M. ))
Quelle est la classe dequivalence du mot chien ?

2.2 Proprietes des classes dequivalence

P ROPRI E T E

VII

: Une classe dequivalence nest jamais vide.

P REUVE En effet, la classe de x contient toujours au moins lelement x lui-meme,


par reflexivite.

P ROPRI E T E

VIII

: Lintersection de deux classes dequivalence distinctes est vide.

R EMARQUE 23. On dit aussi que les classes sont deux a` deux disjointes.
P REUVE On consid`ere deux classes, x et y,
soit z x y ; t x,
on a (t, x) G ;
mais z x,
donc (z, x) G, donc (symetrie) (x, z) G, donc (transitivite) (t, z)
G ; mais z y,
donc (z, y) G, donc (transitivite) (t, y) G, donc (finalement)
t y,
et donc x y ; raisonnement analogue pour tout t y,
qui aboutit a` y x,

et enfin (par double inclusion) x = y ; si deux classes ont un e lement commun, elles
sont confondues ; donc deux classes distinctes sont disjointes).

D E FINITION 32 (PARTITION D UN ENSEMBLE ). Une partition dun ensemble E est


une famille de sous-ensembles de E , 2 a` 2 disjoints, et dont la reunion est e gale a` E.
1

Mot obtenu par transposition des lettres dun autre mot. Une anagramme interessante : aimer Marie. Le pseudonyme de Alcofribas Nasier est, a` peu pr`es, lanagramme de Francois Rabelais.

43

P ROPRI E T E

IX

: Les classes dequivalence realisent une partition de E.

P REUVE Comme les classes sont des parties de E, leur reunion est une partie de
E.
Reciproquement, tout e lement de E appartient a` une classe ((( tout e lement est
classe )) ). Donc E est une partie de la reunion des classes ; et E est e gal a` la reunion
des classes.

E XEMPLE 15. On reprend la congruence modulo n, par exemple pour n = 4.On a :


0 = {. . . , 12, 8, 4, 0, 4, 8, 12, . . .}
1 = {. . . , 11, 7, 3, 1, 5, 9, 13, . . .}
2 = {. . . , 10, 6, 2, 2, 6, 10, 14, . . .}
3 = {. . . , 9, 5, 1, 3, 7, 11, 15, . . .}

Exercice 33 (Une relation dequivalence). On consid`ere lensemble des points du


plan rapporte a` deux axes de coordonnees rectangulaires et deux points P1 et P2 de
coordonnees respectives (x1 , y1) et (x2 , y2 ) ; on definit dans cet ensemble la relation
binaire R par :
P1 RP2 x1 y1 = x2 y2
Sagit-il dune relation dequivalence ? Si oui, e tudier les classes dequivalence.
Memes questions pour la relation R , definie par
P1 R P2 x1 y1 = x2 y2 et x1 x2 > 0

3 Ensemble-quotient
D E FINITION 33 (E NSEMBLE - QUOTIENT ). Il sagit de lensemble des classes dequivalence
de tous les e lements de E .

N OTATION : E/R.

44

Pour parler aisement dune classe, on choisit un de ses e lements, et cet e lement,
surmonte dun point, sert a` representer la classe en question.
Une fois que ce choix est fait, il est definitif, et il nest plus question devoquer les
autres e lements de cette classe, il faut se tenir, sous peine dincoherence, au choix qui
a e te fait.
E XEMPLE 16 (C ONGRUENCE MODULO 4). On choisit pour representants les entiers
< 4, donc 0, 1, 2 et 3.
1,
2,
3}.

Lensemble-quotient est Z/4Z = {0,

4 Exercices

Exercice 34. Sur un ensemble a` n e lements, combien y a-t-il de relations...


1. reflexives ?
2. symetriques ?

Exercice 35. Determiner quand une relation R dans un ensemble A est


1. non reflexive,

2. non symetrique,
3. non transitive,
4. non antisymetrique.

Exercice 36. Donner des exemples de relation R dans {1, 2, 3} ayant les proprietes
suivantes :
1. R est symetrique,

2. R nest ni symetrique ni antisymetrique,

3. R est transitive mais R R1 nest pas transitive.

45

Exercice 37. Soit R et S deux relations dans A.

1. Montrer que si R et S sont transitives alors R S est transitive.


2. Si R est antisymetrique alors R S est antisymetrique.

Exercice 38. Soit R la relation dequivalence suivante dans lensemble A = {A, 2, 3, 4, 5, 6} :


R = {(1, 1), (1, 5), (2, 2), (2, 3), (2, 6), (3, 2), (3, 3), (3, 6), (4, 4), (5, 1), (5, 5), (6, 2), (6, 3), (6, 6)}
Trouver la partition de A induite par R, cest-`a-dire trouver les classes dequivalence
de R.

Exercice 39. Tenter de caracteriser par son graphe une relation dequivalence.

Exercice 40. Definir, par leurs graphes, les relations dequivalence dans E qui comportent respectivement le moins et le plus possible de points.
Que peut-on dire de ces relations ?

VI. Compatibilite entre une operation et une relation


binaire
D E FINITION 34. La relation binaire (dans E ) de symbole R est dite compatible avec
loperation (definie dans E ) de symbole lorsque, quels que soient les e lements x, x ,
y et y de E : si xRx et si yRy , alors (x y)R(x y )

46

Autrement dit, loperation conserve la relation.


E XEMPLE 17. On consid`ere la relation classique dinegalite dans R : si on a x 6 x
et y 6 y , on peut e crire x + x 6 y + y .
Ce resultat est bien connu : on a le droit (( dadditionner des inegalites membre a`
membre )). En dautres termes, laddition des reels est compatible avec linegalite.
Mais, de 2 6 1 et de 3 6 1, on ne peut pas deduire que 6 6 1... On na pas
le droit de (( multiplier des inegalites membre a` membre )).
La multiplication des reels, quant a elle, nest donc pas compatible avec linegalite.

Exercice 41 (Congruences modulo n). Montrer que la relation de congruence modulo n dans Z definie en cours est compatible avec addition et multiplication.

Etablir
les tables des operations que lon peut alors definir dans les ensembles
Z/5Z, Z/6Z.

Lorsquune relation dequivalence est compatible avec une operation, on peut definir
dans lensemble-quotient une operation, dite induite de celle qui existe dans lensemble
dorigine.
Fin du Chapitre

47

Chapitre 3
Relations n-aires
I. Definitions
1 Relations orientees et non orientees
Exactement comme dans le cas des relations binaires, on consid`ere une partie G de
lensemble produit cartesien de n ensembles (E1 , E2 , . . . , En ), soit G E1 E2
En .
D E FINITION 1 (R ELATION n- AIRE ). Cette partie definit une relation n-aire entre ces
ensembles.

N OTATION : Pour un n-uplet (x1 , x2 , . . . , xn ) delements de E1 E2 En ,


on notera (x1 , x2 , . . . , xn ) G ou R(x1 , x2 , . . . , xn ) le fait que ces e lements sont
en relation par la relation R de graphe G.
Comme dans le cas des relations binaires, les n-uplets sont ordonnes et, meme si
deux des ensembles Ei et Ej sont identiques (pour i 6= j), le couple delements (xi , yj )
est considere comme different du couple (yj , xi ) lorsque xi 6= yj .
Cependant, dans la plupart des applications pratiques des relations n-aires, et dans
toutes celles que nous verrons en tout cas, on (( e tiquette les colonnes )), ce qui permet
de saffranchir de cet ordre, et de considerer ce que lon appelle des relations n-aires
non orientees, dont les domaines sont les ensembles (E1 , E2 , . . . , En ), dans un ordre
non specifie, car ils sont nommes.
1.1 Exemple de relation ternaire orientee
Soient
E1 = {1, 2, 3, 4, 5, 6, 7, 8, 9},
E2 = {1988, 1989, 1990, 1991, 1992, 1993, 1994}
E3 = {Alsace, Beaujolais, Cotes du Rhone}.
48

et soit
G = { (3,1988,Alsace), (4,1991,Alsace), (8,1989,Beaujolais),
(4,1989,Cotes du Rhone) }.
G est le graphe dune relation ternaire orientee qui represente une cave a` vins.
On peut la representer par le tableau :
3
4
8
4

1988
1991
1989
1989

Alsace
Alsace
Beaujolais
Cotes du Rhone

Il est e vident que lordre des e lements du n-uplet e lement de G a une importance
fondamentale, surtout lorsque lintersection des domaines nest pas vide.
Autrement dit, cette relation doit e tre consideree comme differente de la relation
definie sur E3 E2 E1 par le graphe G represente par le tableau
Alsace
Alsace
Beaujolais
Cotes du Rhone

1988
1991
1989
1989

3
4
8
4

1.2 Exemple de relation ternaire non orientee


Pour saffranchir de lordre en e vitant toute ambigute, il faut nommer les colonnes
du tableau, cest-`a-dire ajouter un ensemble dattributs (ou cles, ou e tiquettes) qui
pourraient e tre ici {Nombre, Annee, Region}.
On obtiendrait
Nombre Annee
3
1988
1991
4
8
1989
1989
4

Region
Alsace
Alsace
Beaujolais
Cotes du Rhone

Cette relation ternaire ne sera pas consideree comme differente de la relation representee
par
Region
Annee Nombre
Alsace
1988
3
Alsace
1991
4
1989
8
Beaujolais
Cotes du Rhone 1989
4
49

En effet, les attributs ne sont pas ordonnes, lensemble {Region, Annee, Nombre}
est e gal a` lensemble {Nombre, Annee, Region}.
Dans la suite, le terme de relation n-aire sera reserve aux relations non orientees.
On peut toujours associer a` une relation n-aire une relation n-aire orientee, definie
sur D1 D2 Dn , o`u les Di sont les domaines attaches aux attributs de A,
e nonces dans un certain ordre.
Bien entendu, si les attributs sont e nonces dans un ordre different, la relation naire orientee associee peut ne pas e tre la meme, mais, pour une meme relation n-aire,
toutes les relations n-aires orientees associees se deduisent les unes des autres par une
permutation sur les domaines.
Cest pourquoi on sautorisera a` utiliser labus de notation R(x1 , x2 , . . . , xn ),
pour exprimer que les xi sont en relation par la relation n-aire (non orientee) R, en se
referant a` lune quelconque des relations n-aires orientees associees (celle qui correspond a` lordre des domaines Di lorsque les xi sont e nonces).
N OTATION : On notera R[A] une relation n-aire (non orientee) dattributs A.
2 Relations e quivalentes, relations e gales
D E FINITION 2 (R ELATIONS n- AIRES E QUIVALENTES ). Deux relations n-aires (non
orientees) sont e quivalentes lorsque leurs domaines sont les memes et quil existe une
permutation de ces domaines telle que les relations orientees associees sont e gales (au
sens de legalite des ensembles, puisquune relation n-aire orientee est definie comme
un ensemble).

D E FINITION 3 (R ELATIONS n- AIRES E GALES ). Deux relations n-aires (non orientees)


sont e gales lorsquelles sont e quivalentes et que leurs attributs sont les memes.

Groupe Nom Age


1
A
18
1
B
17
2
C
18
Une relation R

Age Nom Groupe


18
A
1
17
B
1
18
C
2
Une relation e gale a` R

50

Note Mati`ere Nombre


18
A
1
17
B
1
18
C
2
Une relation e quivalente a` R

3 Interpretation fonctionnelle
Chaque ligne du tableau dune relation n-aire R[A] aux attributs A, de domaines
(D1 , D2 , . . . , Dn ), peut e tre interpretee comme une application de A (lensemble
des attributs) dans D1 D2 Dn .
E XEMPLE 1. Par exemple, pour la premi`ere relation du paragraphe precedent, on peut
considerer les fonctions f1 , f2 et f3 definies par f1 (Groupe) = 1, f1 (Nom) = A,
f1 (Age) = 18, f2 (Groupe) = 1, etc.

4 SGBD
D E FINITION 4 (SGBD). Un Syst`eme de Gestion de Base de Donnees Relationnelles
(SGBD) est une application informatique de definition et de travail sur des relations
n-aires (non orientees).

Cette application met en general a` la disposition de lutilisateur un langage (le plus


souvent, SQL) qui permet
de definir les objets et leurs liens, de les modifier et denrichir la base de donnees,
de retrouver linformation contenue dans la base de donnees par la formulation
de requetes.

II. Projections
1 Definitions
Soit R[A] une relation n-aire dattributs A, et a A.
On pose A = {a} B, et on suppose que le domaine de a est D1 et que les
domaines des attributs de B sont D2 , . . . , Dn .
D E FINITION 5 (P ROJECTION D UNE RELATION ). La projection de la relation R suivant a sur B , notee Ra (on autorise aussi R[B]), est definie par :
Ra (x2 , . . . , xn )

x1 D1 , R(x1 , x2 , . . . , xn ).

R EMARQUE 1. Dans la pratique, on obtient la projection dune relation :


en supprimant la colonne de lattribut selon lequel se fait la projection,
et en ne conservant quune seule occurrence de lignes qui seraient devenues
identiques.

51

2 Theor`eme des projections


Soit R[A] une relation n-aire dattributs A, a A, b A (b 6= a).
P ROPRI E T E I (T H E OR E` ME

DES PROJECTIONS )

(Ra )b = (Rb )a .

P REUVE (Demonstration immediate).


R EMARQUE 2. Ce dernier resultat nous autorise a` considerer la projection dune relation suivant un sous-ensemble dattributs (et sur le complementaire de ce sous-ensemble
dattributs).
N OTATION : On notera cette projection RB (ou R[A \ B]) (si B A, cest la projection suivant B de R sur C = A \ B.

III. Operations sur les relations n-aires


1 Somme et produit
Soit R une relation dattributs A et S une relation dattributs B, pour lesquelles les
attributs de meme nom ont meme domaine.
Les relations somme R + S et produit R S ont pour attributs A B.
Pour lenonce de la definition, comme lordre dans lequel on e nonce les attributs
est sans importance, on suppose que, dans A B, les e lements sont e numeres dans
lordre suivant
les attributs de A qui ne sont pas dans B, les domaines sont D1 , . . . , Dp ,
les attributs communs a` A et a` B, les domaines sont Dp+1 , . . . , Dq ,
les attributs de B qui ne sont pas dans A, les domaines sont Dq+1 , . . . , Dn .
(lun de ces sous-ensembles peut e tre vide).
D E FINITION 6. On a alors, par definition
(R + S)(x1 , . . . , xp , xp+1 , . . . , xq , . . . , xq+1 , xn ) si et seulement si
R(x1 , . . . , xq ) ou S(xp+1 , . . . , xn ),
(R S)(x1 , . . . , xp , . . . , xq , . . . , xn ) si et seulement si
R(x1 , . . . , xq ) et S(xp+1 , . . . , xn ).
N OTATION : On note (R + S) [A B] et (R S) [A B].
52

E XEMPLE 2. Le domaine de lattribut Groupe est {1, 2, 3}, celui de Nom est {A,B,C}
et celui de Age est {19, 20, 21}.

Groupe Nom
1
A
1
B
C
2

Groupe Age
1
20
1
21
21
2

Une relation R

Une relation S

Groupe
1
1
1
1
2

Nom Age
A
20
A
21
B
20
B
21
C
21

La relation R S

Groupe Nom Age


1
A
19
1
A
20
1
A
21
B
19
1
1
B
20
1
B
21
1
C
20
C
21
1
2
A
21
2
B
21
2
C
19
C
20
2
2
C
21
La relation R + S

2 Reunion et intersection
Cest le cas particulier de la somme et du produit de deux relations dattributs A et
B dans le cas o`u A = B.
Donc, dans le cas o`u A = B, R S = R + S et R S = R S.
N OTATION : On note donc (R S) [A] et (R S) [A]
3 Produit cartesien
Il sagit du cas particulier du produit de deux relations dans le cas o`u A B =6 o.
Donc, dans le cas o`u A B =6 o, R S = R S.
N OTATION : On note donc (R S) [A B].

IV. Selection dune relation n-aire


Soit R[A] une relation n-aire dattributs A et F une formule de logique dans laquelle les variables sont des e lements de A et les constantes des e lements du domaine
des attributs.

53

D E FINITION 7. La selection de R suivant F est une relation ayant les memes attributs
A, notee (R : F ) [A] et telle que R(x1 , x2 , . . . , xn ) et F (x1 , x2 , . . . , xn ).

Autrement dit, il sagit des e lements des domaines des attributs qui sont en relation
par R et qui satisfont la formule F donnee.
E XEMPLE 3. Sur une relation dattributs {Nom , Age , Note} on pourra definir la relation [(Age 6 19) et (Note > 16)] pour selectionner les e tudiants admis a` sinscrire
au departement dInformatique.

V. Dependances fonctionnelles et cles


1 Dependances fonctionnelles
Il sagit, lorsque cest possible, de remplacer une relation n-aire par une autre, plus
simple, et sans perte dinformation.
Soit R[A] une relation dattributs A telle que A soit de la forme X Y Z.
On suppose pour simplifier :
que les domaines des attributs de X sont D1 , D2 , . . . , Dp ,
que ceux de Y sont Dp+1 , . . . , Dq
que ceux de Z sont Dq+1 , . . . , Dn .
D E FINITION 8 (D E PENDANCE
nellement de X lorsque lon a

FONCTIONNELLE ).

On dit que Y depend fonction-

R(x1 , . . . , xp , xp+1 , . . . , xq , xq+1 , . . . , xn )

et
R(x1 , . . . , xp , xp+1 , . . . , xq , xq+1 , . . . , xn )

si et seulement si
xp+1 = xp+1 , . . . , xq = xq

N OTATION : Dans la suite, et pour une situation du meme type, on sautorisera a`


utiliser les notations suivantes :
DX pour D1 , D2 , . . . , Dp ,
DY pour Dp+1 , . . . , Dq ,
DZ pour Dq+1 , . . . , Dn ,
54

x pour (x1 , . . . , xp ),
y pour (xp+1 , . . . , xq )
et z pour (xq+1 , . . . , xn ).
Ainsi, la condition e noncee peut secrire plus simplement R(x, y, z) et R(x, y , z )
si et seulement si y = y (cette e galite devant e tre consideree comme une e galite de
n-uplets, cest-`a-dire legalite composante par composante.
E XEMPLE 4. Dans la relation suivante,
Groupe Nom Niveau Age
1
A
1
20
2
B
3
21
1
C
3
20
1
A
3
20
3
B
1
21
1
C
1
20
2
A
1
20
3
B
2
21
1
C
2
20
On distingue les dependances fonctionnelles
{Nom} {Age}
{Groupe , Niveau} {Age}

2 Theor`eme des dependances fonctionnelles

P ROPRI E T E II (T H E OR E` ME DES D E PENDANCES FONCTIONNELLES ) : Si la relation R[A] dattributs A = X Y Z admet une dependance fonctionnelle
X Y , elle est le produit de ses projections sur X Y et X Z.

E XEMPLE 5. La relation precedente est le produit de ses deux projections R[{Nom , Age}]
et R[{Nom , Groupe , Niveau}].

55

3 Cles
D E FINITION 9 (C L E ). Pour une relation R[A] dattributs A, une cle est un sousensemble minimal K de A tel quil existe une dependance fonctionnelle C A \ K .
(K est un sous-ensemble minimal au sens quil ny a pas de partie stricte K de K
pour laquelle il existe une dependance fonctionnelle K A \ K ).

R EMARQUE 3. Cette (( minimalite )) nentrane en aucune mani`ere lunicite de la cle


pour une relation donnee.

P ROPRI E T E III : Pour toute relation, il est possible dintroduire un attribut dont
les valeurs sont toutes differentes, et qui constitue donc une cle pour la nouvelle
relation obtenue (par exemple, une numerotation).

Fin du Chapitre

56

Deuxi`eme partie
Arithmetique

57

Chapitre 4
Ensembles de nombres entiers
I. Nombres entiers naturels (N)
1 Definition
D E FINITION 1 (E NSEMBLE DES ENTIERS NATURELS ). On appelle ensemble des nombres
entiers naturels N tout ensemble possedant les proprietes suivantes
1. Il existe une injection de N dans N.
Cette injection, appelee fonction de succession, sera notee s dans la suite.
Limage dun entier n par la fonction de succession s, soit s(n), est appelee successeur de n.

2. Il existe un e lement de N qui nest le successeur daucun e lement de N.


Cet e lement est appele (( zero )) et note 0 dans la suite.
3. Le (( Principe de recurrence )) est satisfait :
Soit M la partie de N constituee par les entiers qui poss`edent une certaine propriete p. On note (( p(n) )) le fait que lentier n poss`ede la propriete p.
P ROPRI E T E I (P RINCIPE DE R E CURRENCE ) : Il senonce ainsi : (( Si M contient
0 et le sucesseur de chacun de ses e lements, alors M = N. ))

Sous forme formalisee...


Soit M = {n N | p(n)} ; si 0 M et si [n M = s(n) M], alors
M = N.

R EMARQUE 1. M = N signifie e videmment que la propriete est possedee par tous


les entiers naturels. Cest, en general, la conclusion attendue dun (( raisonnement par
recurrence ))
58

Il existe une version (( affaiblie )) du principe de recurrence : la recurrence restreinte,


qui permet de sassurer quune propriete est vraie a` partir dun certain rang...

P ROPRI E T E II (R E CURRENCE RESTREINTE ) : Soit M = {n N | p(n)}.


Si p M et si, [n M = s(n) M], alors M est de la forme {p, p + 1, p +
2, . . .}.

Il existe encore une version (( renforcee )) : la recurrence generalisee, qui permet de


(( supposer la propriete vraie jusqu`a lordre n ))...
P ROPRI E T E III (R E CURRENCE G E N E RALIS E E ) : Soit M = {n N | p(n)}.
Si, p M, {0, 1, 2, . . . , p} M et si s(p) M, alors M = N.
P REUVE Elle se demontre a` partir de la recurrence (( normale )).
R EMARQUE 2. La recurrence generalisee permet deviter un double raisonnement par
recurrence.
Mani`ere correcte de rediger un raisonnement par recurrence :
1. Soit M lensemble des entiers naturels qui verifient ... (mettre ici lenonce de la
propriete que lon cherche a` demontrer)
2. Initialisation de la recurrence : verifier que 0 est e lement de M ((( la propriete est
vraie pour n = 0 )))
3. Caract`ere hereditaire de la propriete : soit n un e lement de M (cela a un sens,
puisque lon sait maintenant que M nest pas vide : il contient au moins 0),
verifions que s(n) est encore e lement de M ((( la propriete est vraie pour n + 1 )))
R EMARQUE 3. Toute phrase, telle que celles que lon peut souvent lire, de la forme
(( supposons la propriete vraie pour n )) devrait immediatement appeler la question :
quest-ce que cest que n ?
Si n est (( un entier quelconque )) , alors vous supposez la propriete vraie pour un
entier quelconque, et il ne vous reste plus grand chose a` demontrer....
Si n est un entier fixe, mettons 47, alors vous allez demontrer la propriete pour
48, et il vous restera pas mal de chemin a` faire. . .
Non, ce que vous supposez, ce nest pas que la propriete est vraie (pour quoi que
ce soit), mais que n est un entier pour lequel la propriete est verifiee (cet entier e tant
e videmment quelconque parmi ceux pour lesquels la propriete est verifiee), ce nest
pas du tout la meme chose.
59

2 Operations et relation dordre dans N


On suppose ici connues les operations et la relation dordre classiques qui existent
dans N : addition, multiplication, relation dinegalite au sens large.
Ces e lements peuvent e tre definis rigoureusement, et toutes les proprietes demontrees
par recurrence.
E XEMPLE 1. Par exemple, on peut definir la relation p 6 n par q N, n = p + q.

P ROPRI E T E IV : Les operations precedentes ont pour proprietes :


laddition est commutative, associative, il existe un e lement neutre (0),
la multiplication est commutative, associative et admet aussi un e lement
neutre (1),
la multiplication est distributive sur laddition,
les entiers sont totalement ordonnes par linegalite, et cette relation dordre
est compatible avec laddition et avec la multiplication.

3 Nombres premiers
3.1 Definitions
D E FINITION 2 (M ULTIPLE , DIVISEUR ). Si un entier n peut secrire sous la forme
n = pq , o`u p et q sont des entiers, on dit que n est un multiple de p et que p est un
diviseur de n.

Exercice 1. Soit m = 23 5 72 133 . Combien le nombre m a-t-il de diviseurs


naturels ?

Reponse : (3+1)*(1+1)*(2+1)*(3+1)=96.
D E FINITION 3 (N OMBRE PREMIER ). Un nombre premier est un nombre entier strictement superieur a` 1 qui nest divisible que par 1 et par lui-meme.

60

E XEMPLE 2. Ainsi, le plus petit nombre premier (et le seul qui soit pair) est 2.

P ROPRI E T E

: Il existe une infinite de nombres premiers.

R EMARQUE 4. Le probl`eme de la primalite dun nombre (tr`es grand, e videmment)


est difficile.
3.2 Decomposition en facteurs premiers
D E FINITION 4 (D E COMPOSITION EN FACTEURS PREMIERS ). Lecriture dun entier
n sous la forme n = a b c . . ., o`u a , b , c , . . . sont les diviseurs premiers distincts
de n et o`u les exposants , , , . . . sont tels que, par exemple, n est divisible par a
mais pas par a+1 sappelle la decomposition en facteurs premiers de n.
On dit que les exposants , , , . . . sont les ordres de multiplicite des diviseurs a,
b, c, . . . )

P ROPRI E T E

VI

: La decomposition dun entier en ses facteurs premiers est unique.

les nombres 3850 et 1911 sous forme de produits de nombres


Exercice 2. Ecrivez
premiers.

Reponses : 2 52 7 11 et 3 72 13.
Exercice 3 (Nombres de Fermat). On appelle nombres de Fermat les nombres de la
p
forme 22 + 1.
1. Montrer que, pour que 2n + 1 soit premier, il faut que n soit une puissance de 2.
2. La reciproque nest pas vraie : donner un exemple de nombre de Fermat qui ne
soit pas premier.
3. Montrer que, pour k > 1, Fp divise Fp+k 2.
61

4. En deduire que Fp et Fp+k sont premiers entre eux.


5. En deduire quil existe une infinite de nombres premiers.

4 Relation de divisibilite
On a vu dans le chapitre sur les relations entre ensembles la relation binaire de
divisibilite definie dans N .
Cette relation est une relation dordre partiel : il existe des paires dentiers non
comparables par cette relation.
E XEMPLE 3. 3 ne divise pas 7 et 7 ne divise pas 3.
Ces deux entiers ne sont donc pas comparables du point de vue de la divisibilite.

Cet ordre nest donc que partiel, mais il existe, pour chaque couple dentiers distincts, une borne inferieure et une borne superieure...
D E FINITION 5 (PGCD, PPCM). Tout ensemble fini de nombres entiers strictement
positifs admet une borne sup et une borne inf pour la relation de divisibilite.
Cette borne inferieure et cette borne superieure sont respectivement appelees plus
grand commun diviseur et plus petit commun multiple de ces deux entiers.

N OTATION : Ils sont respectivement notes a b et a b.


P REUVE Lexistence du PGCD decoule de lexistence de la decomposition en facteurs premiers : il suffit de comparer les decompositions des deux nombres pour
decouvrir leur PGCD.
Le PPCM, lui, vaut a b = ab/(a b).

E XEMPLE 4. Comme 48 = 24 3 et que 56 = 23 7, on voit aisement que 48 56 = 23 .

Exercice 4. Calculez ppcm(102, 138).

62

Reponse : 2346.

P ROPRI E T E VII : N est un treillis pour la divisibilite.


On peut de plus montrer que :
ce treillis est distributif, cest-`a-dire que x (y z) = (x y) (x z) et
que x (y z) = (x y) (x z),
il admet un e lement minimum (1), mais pas delement maximum,
les nombres premiers sont les e lements minimaux de (N \ {1}).

D E FINITION 6. Deux nombres entiers strictement positifs a et b sont dits premiers

entre eux lorsque a b = 1.

Exercice 5. Soient a, b, c, d des entiers naturels non nuls tels que ad = bc.
Prouvez que si a et b sont premiers entre eux, alors b|d

Reponse : En se plongeant dans le calcul modulo b, on a : ad = 0.


Comme a et b sont premiers entre eux, a est inversible, et donc d = 0.
On en deduit que d est un multiple de b.
5 Entiers relatifs
Lensemble habituellement note Z des entiers relatifs est obtenu a` partir de N par
le procede de symetrisation pour laddition.
Sans setendre sur le sujet, disons que cela consiste a` introduire les entiers strictement negatifs comme opposes des positifs correspondants, par n + (n) = 0.
On sait que les porprietes des operations sont conservees ; la seule propriete perdue
dans cette extension est la compatibilte entre la relation dordre et la multiplication.
En revanche, on gagne e videmment lexistence dun oppose pour chaque entier.

63

II. Division euclidienne dans Z et applications


1 Definition
On se donne deux entiers relatifs a et b, b non nul.

P ROPRI E T E VIII : Il existe un et un seul couple dentiers relatifs q et r qui verifient


la relation suivante : a = bq + r , avec 0 6 r < |b|.

D E FINITION 7 (D IVISION EUCLIDIENNE ). Obtenir les valeurs de q et de r , cest effectuer la division euclidienne de a par b.
q est appele quotient, r est appele reste (dans la division euclidienne).
Enfin, lorsque r est nul, a est dit divisible par b, ou b est un diviseur de a.

E XEMPLE 5. Tout nombre non nul est au moins divisible par 1 et par lui-meme (a =
a 1 + 0).

E XEMPLE 6. 0 est divisible par tout nombre entier non nul (0 = 0 b + 0).

Exercice 6. Quels sont le quotient et le reste de la division euclidienne de m par n


dans le cas o`u :
1. m = 38 et n = 6,

2. m = 165 et n = 14.
Reponses : (-7,4) et (-11,11).

Exercice 7 (Divisibilite dans N). On se place dans lensemble N.


1. Trouver les restes dans la division par 5 du carre dun entier.
64

2. Trouver les restes dans la division par 8 du carre dun entier impair.
3. Trouver les restes dans la division par 11 de 37n (pour n N ).
4. Montrer que 10n (9n 1) + 1 est divisible par 9.

2 Representation des nombres entiers


2.1 Definition
D E FINITION 8 (P RINCIPE DE LA NUM E RATION DE POSITION ). Il consiste a` choisir
une base b de numeration, et b symboles qui constitueront les chiffres dans la representation
dun entier positif en base b.
Celle-ci secrira alors
n = np bp + np1 bp1 + + n1 b1 + n0
N OTATION : Cette e criture est abregee en (np np1 . . . n0 )b .
R EMARQUE 5. En informatique, on utilise couramment les bases 2, 8 et 16.
2.2 Obtention de cette representation
Lalgorithme pour obtenir la representation en base b dun entier est :
1. Effectuer la division euclidienne de cet entier par b, division qui donne un premier quotient et un premier reste.
2. Le quotient est a` sont tour divise par b pour donner un second quotient et un
second reste, et ainsi de suite jusqu`a obtenir un quotient nul.
3. Les restes successifs (tous strictement inferieurs a` b), et en commencant par le
dernier, constituent la representation en base b de lentier donne.
2.3 Algorithme de Horner
Reciproquement, e tant donnee la representation en base b dun entier, on obtient sa
valeur par application de lalgorithme de Horner :
n = np bp + np1 bp1 + + n1 b1 + n0 est calcule par (......(((np b + np1 )b +
np2 )b + + n1 )b + n0 )

65

2.4 Exercices

Exercice 8 (Numeration, changements de base).


1. Chercher les entiers dont le
carre a, en representation decimale, memes chiffres des dizaines et des unites.
2. On pose a = 2p 1, b = 2p + 1, c = 2p + 3 ; trouver lentier p de mani`ere que
a2 + b2 + c2 soit de la forme xxxx10 .
3. Lentier n secrit 34110 et 2331a . Trouver a.
4. Montrer que, dans toute base b superieure ou e gale a` 3, lentier qui secrit
11211b nest pas premier.
5. soit n > 7. Donner lecriture de (n + 1)4 en base n.

Exercice 9 (Developpement decimal). On consid`ere le nombre reel x dont le developpement decimal secrit x = 0, 012 345 679 012 345 679 . . . . . . . . . (la sequence
012 345 679 est reproduite indefiniment). Ce developpement decimal est periodique,
de periode 9.
1. Montrer que x verifie une e quation de la forme 10k x = n + x, o`u k et n sont des
entiers a` determiner. En resolvant cette e quation, montrer que x est un nombre
p
rationnel, et le mettre sous la forme x = , o`u p et q sont premiers entre eux.
q
2. Appliquer la meme methode au nombre y dont le developpement decimal est
y = 0, 999 999 999 999 . . . (periodique de periode 1). Quelle conclusion peuton en tirer ?
3. Demontrer que tout nombre reel dont le developpement decimal est fini ou periodique
a` partir dun certain rang est un nombre rationnel.
4. Reciproquement, on se propose de demontrer que le developpement decimal de
tout nombre rationnel est fini ou periodique a` partir dun certain rang. Pour
p
cela, on consid`ere un rationnel x = , avec q > 0, p Z, p et q premiers entre
q
eux, et on e tudiera successivement les cas suivants :
x est entier (cest a` dire q = 1)
x est rationnel non entier, et q est premier avec 10 (On pourra montrer que, si
q est premier avec 10, il existe un entier k, non nul, tel que 10k 1 [q]).
x est rationnel non entier, mais q nest pas premier avec 10.

66

3 Arithmetique modulo n
On rappelle ici la definition de la relation dite de (( congruence modulo n )) definie
dans Z e tudiee dans le chapitre consacre aux relations entre ensembles.
D E FINITION 9 (C ONGRUENCE MODULO n). Soit n un entier strictement superieur a`
1 et x et y deux e lements de Z.
On dit que (( x est congru a` y modulo n )) lorsque x et y poss`edent le meme reste
dans la division (euclidienne) par n :
x y[n] k Z, x y = k n

P ROPRI E T E

IX

: Il sagit dune relation dequivalence dans Z.

P REUVE En effet :
x Z, x x = 0 = 0 n ; or 0 Z, donc x x[n] (reflexivite).
Si x y[n],k Z, x y = k n ; alors y x = (k) n, et, puisque k Z,
(k) Z, donc y x[n] (symetrie).
Si x y[n],k Z, xy = k n ; si, de plus, y z[n], l Z, y z = l n ;
alors (par addition), x z = (k + l) n ; comme k Z et l Z, (k + l) Z,
donc x z[n] (transitivite).
La classe dequivalence dun entier donne comprend donc cet entier et tous ceux
qui ont le meme reste que lui dans la division euclidienne par n.
E XEMPLE 7. Si n = 3, il y a trois classes distinctes :
0 = {. . . , 6, 3, 0, 3, 6, 9, . . .},
1 = {. . . , 5, 2, 1, 4, 7, 10, . . .},
2 = {. . . , 4, 1, 2, 5, 8, 11, . . .}.
etc...
On retrouve ensuite les memes e lements : 3 = 0,

Dune mani`ere generale, pour n quelconque, il y a exactement n classes dequivalence,


1), cest-`a-dire, il faut le remarquer, un nombre fini.
notees de 0 a` (n
P ROPRI E T E X : Lensemble-quotient (ensemble des classes dequivalence) de la
relation de congruence modulo n est un ensemble fini.

67

N OTATION : Il est note Z/nZ.

1,
2}.

E XEMPLE 8. Z/3Z = {0,

P ROPRI E T E XI : La relation de (( congruence modulo n )) est compatible avec laddition et la multiplication des nombres entiers.

P REUVE En effet, on suppose que :


x x [n] k Z, x x = k n et que
y y [n] l Z, y y = l n.
Alors, par addition, (x + y) (x + y ) = (k + l) n ; (k + l) Z, donc
(x+y) (x +y )[n] : la congruence modulo n est compatible avec laddition
dans Z.
En multipliant la premi`ere e galite par y : xy x y = (ky) n et la seconde par x :
x y x y = (x l) n .
Alors, par addition, xy x y = (ky + lx ) n. (ky + lx ) ZZ, donc x y
x y [n] : la congruence modulo n est aussi compatible avec la multiplication dans
Z.
R EMARQUE 6. Cest cette propriete qui permet de definir dans lensemble quotient
Z/nZ des operations, dites induites par celles qui existent dans Z...

y) et x y = (xy)
.
D E FINITION 10. Par definition, on pose x + y = (x +

E XEMPLE 9. Cest ainsi quon obtient les tables doperations suivantes dans Z/4Z :
+ 0 1 2 3

0 1 2 3

0 0 1 2 3

0 0 0 0 0

1 1 2 3 0

1 0 1 2 3

2 2 3 0 1

2 0 2 0 2

3 3 0 1 2

3 0 3 2 1
68

mais
R EMARQUE 7. On apercoit la presence de (( diviseurs de zero )) (2 2 = 0),

aussi lapparition dun inverse pour certains e lements (3 3 = 1).


Exercice 10. Calculez :
1. 3 109 mod97,

2. 31024 mod1037.

Reponses : 5 et 630.
Exercice 11 (Syst`emes de congruences). Il sagit de trouver des entiers x qui satisfont des syst`emes de la forme

x a [p]
x b [q]

Un tel syst`eme peut ne pas avoir de solution (par exemple, a = 1, p = 2, b = 0, q =


4 : un nombre impair ne peut e tre un multiple de 4).
Une condition suffisante dexistence de solutions est que p et q soient premiers
entre eux.
Cest le cas que nous traiterons ici ; dans ce cas, il existe deux entiers u et v tels
que pu + qv = 1 (theor`eme de Bezout).
Donc pu 1 [q] et qv 1 [p], et x = bpu + aqv est une solution du syst`eme
(pourquoi ? ?) ; les autres sont de la forme x + kpq, o`u k est un entier quelconque.
1. Resoudre le syst`eme de congruences

x 2 [88]
x 1 [27]

2. Application : Probl`eme du cuisinier : Une bande de 17 pirates sest emparee


dun butin compose de pi`eces dor, toutes degale valeur.
Ils decident de se les partager e galement et de donner le reste e ventuel au cuisinier. Celui-ci recevrait alors 3 pi`eces dor.
Malheureusement, une querelle e clate, au cours de laquelle 6 pirates sont tues.
Le cuisinier recevrait alors 4 pi`eces dor.
Dans un naufrage ulterieur, seuls le butin, 6 pirates et le cuisinier sont sauves.
Le partage laisserait alors 5 pi`eces a` ce dernier.
Quel est le plus petit nombre de pi`eces dor quil esp`ere lorsquil decide dempoisonner les derniers pirates ?
69

Exercice 12. Resolvez modulo 18 les e quations suivantes :


1. 2x + 17 = 15,
2. 3x + 4 = 12,
3. 5x + 13 = 16.

Reponses : {8,17}, { } et {15}.


Exercice 13. Si m est un entier naturel plus grand que 2, quel est linverse de m 1
modulo m ?

Reponse : m 1.
Exercice 14. Un nombre (( pseudo-premier de base b )) est un entier naturel non premier p tel que (bp b)modp = 0.
Verifier que 561 est pseudo-premier de base 3 et que 341 est pseudo-premier de
base 2.

4 Division (( enti`ere )) informatique et division euclidienne


La plupart des langages de programmation utilises en informatique disposent dun
type de donnees pour representer ce que les informaticiens appellent les entiers signes
(les entiers relatifs) et poss`edent des operateurs pour effectuer les calculs classiques
sur ces nombres.
En C ou java, par exemple, le symbole / represente le quotient dans la (( division
enti`ere )) et le symbole % represente ce que les informaticiens appellent improprement
le modulo (le reste dans leur (( division enti`ere )) ).
Pour des raisons pratiques de realisation des micro-circuits des processeurs qui
realisent ces operations, la (( division enti`ere )) ne donne pas exactement le meme

70

resultat que la division euclidienne.


Considerons par exemple les 4 cas possibles de division euclidienne de a par b
lorsque |a| = 29 et |b| = 7 (en noubliant pas que le reste dune division euclidienne
ne peut e tre que positif)

division euclidienne

29

29 = 4 7 + 1

29

29

29 = (5) 7 + 6

29

29 = 5 (7) + 6

29 = (4) (7) + 1 4

a/b a%b

Autrement dit, mathematiquement, le quotient est positif lorsque les deux nombres
ont le meme signe et le reste est toujours positif, et, pour que le reste soit toujours
positif, le quotient peut ne pas e tre le quotient des valeurs absolues.
Informatiquement, le (( quotient )) est positif lorsque les nombres ont le meme signe,
le (( reste )) a le signe du dividende, et la valeur absolue du (( quotient )) est toujours le
quotient des valeurs absolues.
Dans les applications de calcul arithmetique, par exemple un calcul de PGCD,
ce nest pas genant parce que les restes (( informatiques )) sont congrus aux restes
mathematiques modulo la valeur absolue du diviseur, et quil ne sagit alors que du
choix dun representant de la classe concernee (addition et multiplication e tant compatibles avec la congruence modulo n).
Mais il faut quand meme savoir que lon peut obtenir un (( reste )) negatif et prendre
ses dispositions le cas e cheant...
5 Arithmetique modulo 2n dans les ordinateurs
5.1 Presentation generale
Les calculs sur les entiers, dans un ordinateur, se font dans Z/2n Z, o`u n est le
nombre de bits utilises dans la representation de ces nombres.
Dans la plupart des microprocesseurs, les entiers sont representes sur 32 bits, les
calculs se font donc dans Z/232 Z (et quils le soient sur 64 bits ne change rien au
probl`eme).

71

Disposer dentiers signes ou dentiers non signes est uniquement une question de
choix du representant dans les classes dequivalence, mais la representation physique
est la meme.
Comme il nous est difficile de representer ici la liste complete de tous ces entiers,
nous allons illustrer ce propos en supposant que les entiers sont representes sur 4 bits.

5.2 Illustration dans le cas de 4 bits.


Pour des mots de 4 bits, il y a alors 16 entiers representables : (a.s.= arithmetique
signee, a.n.s. = arithmetique non signee)
code binaire

a.s.

a.n.s.

0000

interprete par

0001

interprete par

0010

interprete par

0011

interprete par

0100

interprete par

0101

interprete par

0110

interprete par

0111

interprete par

1000

interprete par

-8

1001

interprete par

-7

1010

interprete par

10

-6

1011

interprete par

11

-5

1100

interprete par

12

-4

1101

interprete par

13

-3

1110

interprete par

14

-2

1111

interprete par

15

-1

Pourquoi ce choix ? Pourquoi ne pas avoir, en a.s., represente les entiers dans
lordre croissant de 0000 (-8) a` 1111 (7) ?
Tout simplement pour des raisons defficacite : 0 doit toujours e tre represente
par le code (( nul )) 0000.
72

Ensuite, il faut pouvoir comparer efficacement ces codes entre eux, ce qui explique que 0 doit e tre suivi de 1, arithmetique signee ou pas.
Ces principes ont ainsi conduit a` placer les codes interpretes comme entiers negatifs
apr`es ceux qui representent les entiers positifs.
Par ailleurs, on sapercoit que, de cette mani`ere, les codes des entiers negatifs commencent tous par 1. On parle improprement de (( bit de signe )) : sil sagissait dun
veritable bit de signe, le code 1001 devrait e tre celui de -1, or cest celui de -7. Mais il
nen reste pas moins que tous les entiers negatifs commencent par 1).
Ainsi, il est facile de deduire la comparaison signee de la comparaison non signee :
les codes qui commencent par 1 sont (( plus petits )) que ceux qui commencent par 0,
et, sils commencent par le meme bit, cest la comparaison non signee qui peut e tre
utilisee.
Mais il y a quand meme deux instructions assembleur distinctes pour la comparaison signee et pour la comparaison non signee.
5.3 Quelques exemples de calculs.
Pour laddition et la soustraction, les operations et les tests de validite des resultats
sont les memes en arithmetique signee et non signee.
Pour la multiplication, linstruction assembleur nest pas la meme (le depassement de
capacite doit e tre ignore en a.s. dans le dernier exemple).
E XEMPLE 10. Premiers resultats, corrects :
Operation binaire

Entiers non signes Entiers signes

0010
+ 1001
1011

2
+9
11

2
+(-7)
(-5)

E XEMPLE 11. Un
resultat
correct
en
arithmetique
non
signee, et negatif en arithmetique signee, mais correct modulo 16 (-6 et 10 sont dans
la meme classe, mais cette classe est representee par 10 en a.n.s. et par -6 en a.s.) :

73

Operation binaire

Entiers non signes Entiers signes

0100
+ 0110
1010

4
+6
10

4
+6
(-6)

E XEMPLE 12. Un depassement de capacite dans les deux cas, mais le resultat est
correct modulo 16 : les classes de 21, de -11 et de 5 sont les memes :
Operation binaire

Entiers non signes Entiers signes

1100
+ 1001
(1)0101

12
+9
5

(-4)
+(-7)
5

Le resultat (correct modulo 16) est disponible dans tous les cas, les (( depassement de
capacite )) et (( resultat negatif )) sont signales par le positionnement dun bit dans un
registre special.

E XEMPLE 13. Un resultat correct en a.n.s., resultat negatif en a.s., mais correct modulo 16 :
Operation binaire

Entiers non signes Entiers signes

0101
0010
1010

5
2
10

5
2
(-6)

E XEMPLE 14. Depassement de capacite dans les deux cas, resultat negatif en a.s.,
mais resultat correct modulo 16, compte tenu du choix des representants dans les deux
arithmetiques :
Operation binaire

Entiers non signes Entiers signes

0101
0110
(1)1110

5
6
14

74

5
6
(-2)

E XEMPLE 15. Depassement de capacite dans les deux cas, resultat correct en a.s.,
correct modulo 16 en a.n.s.
Operation binaire

Entiers non signes Entiers signes

1101
1110
(1011)0110

13
14
6

(-3)
(-2)
6

III. Algorithmes dEuclide et applications


1 PGCD de deux entiers
On a vu plus haut la justification de lexistence du PGCD de deux nombres strictement positifs par comparaison de leurs decompositions en facteurs premiers.
Par definition, le PGCD de a non nul avec 0 est a (defintion raisonnable, car 0 est
divisible par tout entier non nul, donc par a, qui lest aussi par a) et enfin le PGCD de
0 et de 0 nest pas defini.
Il est possible de considerer des nombres negatifs (bien que ce soit sans grand
interet dans les applications pratiques), mais le PGCD est celui des valeurs absolues.
Lalgorithme consistant a` comparer les decompositions en facteurs premiers nest
pas efficace, la decouverte de diviseurs de nombres tr`es grands est un probl`eme difficile
dont nous reparlerons plus loin.
2 Algorithme dEuclide
2.1 Algorithme
On se limite ici au cas de deux entiers a et b strictement positifs.
Supposons par exemple a > b...
1. La division euclidienne de a par b peut secrire a = bq + r avec 0 6 r < b.
2. Soit d un diviseur commun a` a et b, qui peuvent alors secrire a = da et b = db .
3. Legalite a = bq + r devient da = db q + r ou encore r = d(a b q), donc d
est aussi un diviseur commun a` b et r.
75

4. Reciproquement, soit d un diviseur commun a` b et r, qui peuvent alors secrire


b = db et r = dr et legalite a = bq + r devient a = d(b q + r ).
Donc d est un diviseur commun a` a et b, et, par inclusion reciproque, les ensembles des diviseurs communs a` a et b dune part et a` b et r dautre part sont
identiques.
En particulier a b = b r.

5. Si r = 0, le a b = b, sinon on peut effectuer la division euclidienne de b par r,


qui donne un reste r1 , tel que r1 < r et b r = r r1 .

6. Cet algorithme est itere jusqu`a lobtention dun reste nul, ce qui se produit obligatoirement puisquil sagit dentiers et que la suite des restes ainsi construite
est strictement decroissante.

7. Le PGCD est alors lavant-dernier reste (le dernier non nul).


R EMARQUE 8. Cet algorithme permet donc dobtenir le PGCD de deux nombres sans
connatre leurs decompositions en facteurs premiers.
2.2 Programmation
Voici sa programmation iterative en C :
int pgcd ( int a , int b ) {
int r ;
while ( b != 0 ) {
r = a % b;
a = b;
b = r;
}
return a ;
}
(en toute rigueur, il faudrait verifier que a et b sont bien positifs ; par ailleurs, cette
fonction retourne 0 comme PGCD de 0 et de 0 : a` verifier avant lappel).
Voici sa programmation recursive :
int pgcd ( int a , int b ) {
if ( b == 0 )
return a ;
else
return pgcd ( b , a % b ) ;
}

76

3 Theor`eme de Bezout
On consid`ere deux nombres entiers strictement positifs a et b.

P ROPRI E T E XII (T H E OR E` ME DE B E ZOUT ) : Il existe un couple dentiers u et v


tels que au bv = d, o`u d est le PGCD de a et de b.
P REUVE On peut se ramener au cas o`u a b = 1.
En effet, si d > 1, on peut e crire a = a d et b = b d avec a b = 1 ; si le
theor`eme est e tabli dans le cas du PGCD e gal a` 1, on peut affirmer lexistence de u
et de v tels que a u b v = 1 ; en multipliant les deux membres de cette e galite par
d, on obtient a du b dv = d, soit au bv = d.
Il suffit donc detablir le theor`eme dans le cas o`u d = 1 (a et b premiers entre
eux). Placons nous dans (Z/bZ) et considerons lapplication de cet ensemble dans
lui-meme definie par x 7 ax. Essayons de resoudre ax = ax , soit a(x x ) = 0,
soit encore a(x x ) 0[b], ou finalement a(x x ) = kb, avec k Z.
Comme a b = 1, a ne divise pas b, donc divise k ; on peut e crire k = k a, il
reste x x = k b, donc x x [b], donc x = x ; finalement ax = ax = x = x ,
donc lapplication envisagee est injective ; comme il sagit dun ensemble fini, elle
est e videmment aussi surjective, donc il existe u tel que au = 1, ce qui secrit
encore au 1[b], ou encore au = bv + 1, finalement au bv = 1.
R EMARQUE 9. Ce couple nest pas unique.
P REUVE En effet, si (u, v) est un couple de Bezout pour (a, b), donc tel que au
bv = d, o`u d = a b, alors, pout tout k dans Z, a(u + kb) b(v + ka) = au bv +
kab kab = au bv = d aussi.
Exercice 15. Montrez que, si m est multiple de deux nombres premiers entre eux a et
b, alors m est multiple de ab.

Reponse : 1 = aa + bb , donc m = maa + mbb . Or m = ax = by, donc m =


ab(ya + xb ).
Exercice 16. Montrez que, si on divise deux entiers naturels a et b par leur pgcd, alors
les quotients obtenus sont premiers entre eux.
Reciproquement, montrer que, si les quotients obtenus en divisant a et b par un
diviseur commun d sont premiers entre eux, alors d = pgcd(a, b).
77

Reponse : Soit d = pgcd(a, b), et q1 et q2 les quotients de a et b par d. Alors d =


aa + bb = dq1 a + dq2 b . Donc 1 = q1 a + q2 b : q1 et q2 sont premiers entre eux. La
reciproque est du meme genre.
4 Algorithme dEuclide generalise
4.1 Idee de base.
Pour deux entiers positifs a et b, on a vu que lalgorithme dEuclide secrit :
a b = b r, o`u r est le reste dans la division euclidienne de a par b.
En supposant a > b, si on pose a = r0 et b = r1 , on definit une famille finie
(r0 , r1 , . . . , rk , rk+1) par ri = qi+1 ri+1 + ri+2 (cest-`a-dire que ri+2 est le reste dans la
division euclidienne de ri par ri+1 ).
Cette famille...
est strictement decroissante,
est telle que rk+1 = 0,
verifie r0 r1 = r1 r2 = . . . = rk1 rk = rk rk+1 = rk 0 = rk .
On remarque que rk1 est un multiple de rk , puisque la division euclidienne de
rk1 par rk secrit rk1 = qk rk .
Soit d le PGCD de a et de b (evidemment, d = rk ), on peut e crire 1rk 0rk1 =
d puis 1 rk2 qk1 rk1 = d.
Dune mani`ere generale, si (u, v) est un couple de Bezout pour ri+1 et ri+2 , soit
uri+1 +vri+2 = d, comme ri = qi+1 ri+1 +ri+2, on a uri+1 +v(ri qi+1 ri+1) = d,
soit (u qi+1 v) ri+1 + v ri = d.
4.2 Lalgorithme.
Ceci donne lidee de construire deux familles par les relations :
u0 = 1, u1 = 0,ui+2 = ui qi+1 ui+1
v0 = 0, v1 = 1, vi+2 = vi qi+1 vi+1 .
Cest ce que lon appelle algorithme dEuclide generalise. On a alors (uk , vk , rk ) =
(u, v, d), u et v tels que a u + b v = d.

78

P REUVE 1 :
Pour cela, il suffit de montrer par recurrence que i {0, . . . , k}, r0ui +r1 vi = ri .
Initialisation de la recurrence : la relation est vraie pour i = 0, en effet
r0 u0 + r1 v0 = r0 , puisque u0 = 1 et v0 = 0.
Caract`ere hereditaire de la propriete : en supposant que i est un entier pour
lequel r0 ui + r1 vi = ri et r0 ui+1 + r1 vi+1 = ri+1 , calculons r0 ui+2 +
r1 vi+2 = r0 (ui qi+1 ui+1) + r1 (vi qi+1 vi+1 ) = r0 ui + r1 vi
qi+1 (r0 ui+1 + r1 vi+1 ) = ri qi+1 ri+1 = ri+2 .

4.3 Exemple.
Illustrons la mise en uvre de cet algorithme...
E XEMPLE 16. Soit a` obtenir un couple de Bezout pour (23,17) :
(23,1,0) (17,0,1)
(17,0,1) (6,1,-1)
(6,1,-1)
(5,-2,3)
(5,-2,3)
(1,3,-4)
(1,3,-4) (0,-17,23)

q=1
q=2
q=1
q=5
FIN

On a bien 3 23 4 17 = 1.

R EMARQUE 10. Il est possible dobtenir -1 (ou d en general) comme resultat, donc
au bv = 1, cela depend de la parite du nombre diterations effectuees dans lalgorithme precedent.
Ce nest pas un resultat faux, puisqualors bv au = 1 et quon a quand meme un
couple de Bezout pour (b, a).
Sil est necessaire dobtenir un couple (u, v) tel que aubv = 1 et o`u a et b figurent
dans cet ordre, et que lalgorithme a fourni un couple (u , v ) tel que bv au = 1,
il suffit de prendre u = b u et v = a v et, dans ces conditions au bv =
a(b u ) b(a v ) = ab au ab + bv = bv au = 1.
Exercice 17. Exprimer pgcd(1330, 602) comme combinaison a` coefficients entiers des
nombres 1330 et 602.
79

Reponse 14 = 1330 (19) + 602 42.


Fin du Chapitre

80

Chapitre 5
Representation des nombres reels en
machine
I. Introduction
Pour des raisons e videntes, il est impossible de representer exactement en machine
un nombre reel dont le developpement binaire, et a fortiori decimal, est infini.
E XEMPLE 1. Par exemple 1/3, mais aussi 1/10 (dont le developpement decimal 0,1
est fini, mais pas le developpement binaire) ne sont pas exactement representables.

Cette limitation interdit la representation de tout nombre irrationnel, dont le developpement est toujours infini et non periodique. On ne peut donc representer que :
des nombres rationnels,
et, parmi ceux-ci, seuls ceux qui admettent un developpement binaire fini et (( pas
trop long )),
cest-`a-dire, au total, un nombre fini de nombres rationnels.
La representation generalement adoptee est la representation dite (( en virgule flottante )), parce quelle permet de traiter de mani`ere a` peu pr`es satisfaisante les operations
sur deux operandes de grandeurs tr`es differentes.
E XEMPLE 2. En (( virgule fixe )), les limitations physiques des machines interdiraient
de representer simultanement, par exemple, 10100 et 10100 , alors que la representation
en virgule flottante le permet.

81

Bien entendu, laddition de ces deux nombres donnera le premier (exactement)


comme resultat, ce qui nest pas genant, mais leur multiplication donnera bien 1 comme
resultat (aux erreurs de representation et de calcul pr`es, car aucun de ces deux nombres
nest representable exactement en machine).

II. Les formats IEEE


1 La norme IEEE 754
La representation des nombres reels en machine (en (( virgule flottante )) ) fait lobjet dune norme (norme IEEE 754).
Cette norme reconnat trois formats :
(( single )) (reel represente sur 32 bits),
(( double )) (64 bits),
(( extended )) (80 bits).
Les formats (( single )) et (( double )) sont analogues, a` la taille des diverses composantes pr`es.
Cette meme norme prevoit un certain nombre de specifications qui concernent les
calculs sur les reels representes (independamment du format retenu) : aucune operation
sur les reels ne doit provoquer, par elle-meme, dinterruption du deroulement normal
du programme. Ni une division par 0, ni un depassement de capacite, ni une tentative
de calcul impossible.
Cest au logiciel qui gouverne les calculs de verifier le resultat et de provoquer, sil
le juge utile (et cest ce que font en general les compilateurs), une interruption.
Neanmoins, il a fallu prevoir des representations speciales pour ces cas particuliers :
lune sappelle (( INF )) (infini),
lautre (( NAN )) (abreviation pour (( not a number )) ).
E XEMPLE 3. Dapr`es ces specifications, le resultat de 1/0 (en reels) doit e tre INF,
celui de 0/0 doit e tre NAN.

On doit obtenir aussi 1 = NAN, ln 0 = INF, 1/INF = 0, mais INF/INF =


NAN, de meme que toute operation dont lun des operandes est NAN, par exemple
sin(NAN) = NAN, 1 + NAN = NAN...

82

R EMARQUE 1. Si vous voulez observer ces resultats, effectifs, vous serez obliges
doperer depuis lassembleur, aucun compilateur ne vous autorisera a` tenter dobtenir de pareilles horreurs !
Dans la representation dun nombre reel, on numerotera les bits a` partir de 0 et a`
partir de la droite (bit (( le moins significatif )) ) jusqu`a (respectivement) 31, 63 ou 79
(bit (( dominant )) ).

2 Format (( single ))
s

(8 bits)

(23 bits)

On retrouve la valeur du reel x represente de la mani`ere suivante :

si 0 < e < 255, alors x = (1)s 2e127 (1, m)


si e = 0 et m 6= 0, alors x = (1)s 2126 (0, m)
si e = 0 et m = 0, alors x = 0
si e = 255 et m = 0, alors x = (1)s INF
si e = 255 et m 6= 0, alors x est un NAN
Comme, dans ce cas, m peut prendre nimporte quelle valeur non nulle, il est
possible de conserver de cette mani`ere un code qui permet de reconnatre lorigine de lerreur.

3 Format (( double ))
s

(11 bits)

(52 bits)

On retrouve la valeur du reel x represente de la mani`ere suivante :

si 0 < e < 2047, alors x = (1)s 2e1023 (1, m)


si e = 0 et m 6= 0, alors x = (1)s 21022 (0, m)
si e = 0 et m = 0, alors x = 0
si e = 2047 et m = 0, alors x = (1)s INF
si e = 2047 et m 6= 0, alors x est un NAN

4 Format (( extended ))
s

(15 bits)

83

(63 bits)

On retrouve la valeur du reel x represente de la mani`ere suivante :


si 0 6 e < 32767, alors x = (1)s 2e16383 (i, m)
si e = 32767 et m = 0, alors x = (1)s INF (quelle que soit la valeur de i)
si e = 32767 et m 6= 0, alors x est un NAN (quelle que soit la valeur de i)
5 Dune mani`ere generale...
1. s, represente sur 1 bit, est le signe du nombre (0 pour +, 1 pour -)
2. e est l(( exposant biaise )), i.e. lexposant translate.
Cette translation a e te introduite de mani`ere a` faciliter la comparaison des reels
representes entre eux :
Pour deux reels positifs non nuls, le plus grand est e videmment celui qui a le
plus grand exposant (sils ont le meme, on compare alors les (( mantisses )) m).
Or, la representation ordinaire dans les formats (( single )) et (( double )) ne permet pas la representation de 0 : [x = (1)s 2et (1, m)] ne peut pas e tre nul,
meme si m et e t sont nuls, auquel cas on obtient 1 (ou 1).
Par ailleurs, comme 0 est le plus petit reel positif, il est logique de lui attribuer le plus petit exposant (cest-`a-dire 128 ou 1024), et de lui attribuer
e videmment une (( mantisse )) nulle.
Mais il est plus simple (pour les tests) que 0 poss`ede un exposant nul, ce qui
oblige a` rendre tous les autres exposants positifs par la translation indiquee.
Pour retrouver le veritable exposant, il faut donc retrancher cette quantite a`
lexposant de la representation.
3. La notation 1, m (ou 0, m ou i, m) signifie que le nombre entier m doit e tre
considere comme la partie fractionnaire dun nombre dont la representation binaire a pour partie enti`ere 1 (ou 0 ou i).
4. Pour les formats (( single )) et (( double )), la formule a` appliquer est differente
dans le cas o`u lexposant e est nul.
Il sagit de ce que lon appelle un (( reel denormalise )), introduit pour le motif
suivant :
les chiffres significatifs du reel represente sont contenus dans la mantisse ;
celle-ci est de longueur fixe pour un format donne,
donc, quel que soit lordre de grandeur du reel, sa representation est obtenue
avec la meme precision relative, ce qui permet de connatre la precision du
resultat dun calcul.
Cette mantisse (1, m) represente un nombre compris entre 1 (inclus, si m = 0)
et 2 (exclu).

84

On obtient ce nombre en multipliant ou en divisant le reel a` representer par 2


jusqu`a ce que le resultat soit compris entre 1 et 2. Le nombre doperations effectuees donne lexposant (le vrai, negatif dans le cas de multiplications, positif
dans le cas de divisions).
Pour des nombres reels trop petits, lexposant peut alors e tre lui-meme trop petit
pour e tre representable dans la plage qui lui est fixee. On admet alors que, pour
la plus petite valeur de lexposant ((( biaise )) ), cest-`a-dire 0, la mantisse est a`
interpreter sous la forme 0, m, ce qui permet de representer encore quelques reels
trop petits pour e tre representes dans la representation normalisee (les AngloSaxons parlent de (( progressive underflow )) ).
Ces reels (( denormalises )) sont distingues des autres, parce quils sont representes
avec une precision moindre (la mantisse a moins de 52 chiffres binaires significatifs).
Autrement dit, la precision dun calcul qui utilise un reel denormalise nest plus
assuree, mais le risque dune division par 0 (alors que le (( vrai )) nombre nest
pas nul) est diminue.
5. La distinction entre reels (( normalises )) et (( denormalises )) disparat dans le format (( extended )), puisque la partie enti`ere de la mantisse y figure explicitement
(le bit i, valeur 0 ou 1).
Linconvenient est quil existe alors plusieurs representations possibles pour un
meme nombre reel.
E XEMPLE 4. 1 peut e tre represente par i = 1, m = 0, e = 16383, mais aussi
par i = 0, m = 100....0, e = 16384, ou encore i = 0, m = 010...0, e = 16385,
etc.

Mais il est clair que, pour la precision dun calcul, il vaut mieux utiliser tous les
bits disponibles dans la mantisse (pour avoir le maximum de chiffres significatifs).
Cest-`a-dire quil faut choisir, parmi toutes les representations possibles pour un
nombre reel, celle pour laquelle i = 1 : cest ce que fait la machine (que les
operations soient implantees logiciellement ou effectuees par un coprocesseur
arithmetique).
Autrement dit, on reservera la valeur 0 pour i au cas o`u lexposant (( biaise )) est
nul, comme pour les autres formats, et le probl`eme de la precision se pose de la
meme mani`ere.

85

6 Format (( extended )) des microprocesseurs.


Dans un langage tel que C (ou java),
le format (( single )) est obtenu avec les valeurs de type (( float )),
le format (( double )) est disponible dans les valeurs de type (( double )),
le format (( extended )) dans les valeurs de type (( long double )).
Pour e tre complet, il est necessaire de preciser que les microprocesseurs modernes
poss`edent presque tous, integree, une unite de calcul specialisee dans le calcul sur les
reels, ayant des registres de taille adaptee a` la representation de ces nombres (donc
plus longs que les registres de lunite de calcul arithmetique et logique principale).
Plus anciennement, ce role e tait confie a` une unite externe que lon appelait (( coprocesseur arithmetique )) et qui e tait quelquefois optionnelle.
Si, dans ce cas, loption navait pas e te retenue, les operations sur les reels e taient
implementees logiciellement au prix dun dramatique allongement des temps de calcul.
Toujours est-il que les formats disponibles dans une unite de calcul sur les flottants
dependent de la taille des registres, et ceux-ci sont parfois limites a` 64 bits, ce qui interdit le format (( extended )) en natif sur la machine (si le langage de programmation
utilise y donne acc`es, les operations sont alors implementees logiciellement).
Lorsque le format (( extended )) est disponible en natif dans la machine, les registres
sont en general de taille 96 bits (et non 80).
Les 16 bits supplementaires, sils sont e videmment utilises par le processeur pour
sa cuisine interne, ne sont jamais significatifs dans les resultats accessibles a` lutilisateur, et sont mis a` 0.
Autrement dit, on obtient le reel au format (( extended )) en supprimant les 16 bits
nuls.
s

(15 bits)

(16 bits nuls)

(63 bits)

III. Reels representables et precision


Tous les reels normalises representes en machine comportent le meme nombre de
chiffres binaires significatifs (dans un format donne).
Comme deux nombres dont les expressions binaires comportent le meme nombre
de chiffres nont pas necessairement le meme nombre de chiffre en representation
decimale, le nombre de chiffres significatifs en base 10 peut varier dune unite.

86

E XEMPLE 5. 1000 en base 2 est 8 en decimal : 4 chiffres binaires, 1 chiffre decimal,


1100 binaire est 12 decimal : 4 chiffres binaires, 2 chiffres decimaux.

Ainsi,
en format (( single )), on a 6 ou 7 chiffres significatifs,
en format (( double )), 15 ou 16 chiffres,
en format (( extended )), 19 ou 20.
Une telle precision peut sembler totalement superflue : elle est cependant largement insuffisante pour, par exemple, les calculs en astronomie (trajectoires de satellites, etc.), pour lesquels il est necessaire de faire appel a` des precisions nettement
superieures...
Le plus grand nombre reel representable en format (( single )) est tel que
e = 254, donc le veritable exposant est 254 127 = 127
m est constitue de 23 (( 1 )) , la mantisse a donc pour valeur 1, 1 . . . 1, cest-`a-dire
1 + 21 + 22 + 23 + + 223 (somme dune progression geometrique de
raison 1/2, donc) = 2 223 .
Il vaut donc exactement 2127 (2 223 ) = 2128 2104 , cest a` dire approximativement 3, 403 1038 .
Le plus petit reel positif normalise ((( single )) ) est tel que
e = 1, donc le veritable exposant est 1 127 = 126
m = 0, donc la mantisse vaut 1
Il vaut donc exactement 2126 cest-`a-dire approximativement 1, 175 1038 .
Le plus petit reel positif denormalise ((( single )) ) est tel que
e = 0, donc le veritable exposant est 126
m = 0 . . . 01, donc la mantisse vaut 0, 0 . . . 01, soit 223
Il vaut donc exactement 2149 cest-`a-dire approximativement 1, 401 1045 .
En format (( double )), les nombres correspondants sont 1, 710308, 2, 310308 , 510324 .
En format (( extended )), les nombres correspondants sont 1, 1 104932 , 1, 7 104932 ,
1, 9 104951 .
Les reels qui sont representes en machine sont exacts ; par contre, tous les nombres
reels ne sont pas representables (la representation est e videmment discr`ete).
E XEMPLE 6. Considerons le reel 1 en format (( extended )) : (( vrai exposant )) : 0, s = 0,
i = 1, m = 0, donc e = 16383, cest-`a-dire (en hexadecimal) :
87

3FFF pour les 16 premiers bits,


8000 hexadecimal pour les 16 suivants,
et tous les derniers sont nuls,
donc : 3FFF 8000 0000 0000 0000.
Le reel representable en machine, superieur a` 1 et le plus proche de 1, a e videmment
un m e gal a` 0 . . . 01, il sagit donc de 3FFF 8000 0000 0000 0001.
La difference des mantisses (i, m) de ces deux nombres est 0, 0 . . . 01, soit (exactement) 263 , ou encore (environ) 1, 08 1019 .

En dautres termes...
Dans lintervalle [1, 2[, les reels representables varient de 263 en 263 .
Dans lintervalle [2, 4[, les reels representables varient de 262 en 262 .
etc.
Dans lintervalle [263 , 264 [, les reels representables varient de 20 en 20 , donc
dunite en unite : on ne peut plus representer que des nombres entiers, mais
il sagit dentiers qui sont plus grands que les entiers de la machine (sur 32 bits
seulement).
Dans lintervalle suivant, on ne peut plus representer tous les entiers, on nen
represente plus quun sur deux, puis un sur quatre, etc.
R EMARQUE 2. Les calculs sur les reels en machine sont exacts dans le sens suivant :
Si, par exemple, on additionne, soustrait ou multiplie deux entiers representables
sous forme de reels en machine, et si le resultat est aussi representable sous forme de
reel en machine, alors ce resultat est exact.
Autrement dit, il sagit encore dun entier exactement.
Le probl`eme de la division est different, parce que cest e videmment lalgorithme
de la division des reels qui est applique et non celui de la division euclidienne des
entiers.

E XEMPLE 7. Soit a` representer 8, 5 sous forme de reel double precision (format (( double ))
)
1. Le ramener entre 1 et 2 par divisions par 2 : 8, 5 = 8 1, 0625.

2. Lexposant est donc 3, et e = 3 + 1023 = 1026, les 12 premiers bits sont donc
0100 0000 0010 (en effet, 1026 = 1024+2, et 1024 est 210 , dont lecriture binaire
est (( 1 )) suivi de 10 (( 0 )) . On rajoute 2, soit 10 binaire).
3. 1, 0625 = 1 + 0, 0625, et 0, 0625 = 24 , soit (en binaire) 0, 0001, donc m =
0001 00 . . .
88

On obtient : 0100 0000 0010 0001 0000 0000 . . ., soit 4021 0000 0000 0000 en
hexadecimal.

E XEMPLE 8. Soit a` representer 0, 1 sous forme de reel double precision


1. Le ramener entre 1 et 2 par multiplications par 2 : 16 0, 1 = 1, 6

2. Lexposant est donc 4, et e = 4 + 1023 = 1019, les 12 premiers bits sont


(comme s = 0) 0011 1111 1011 (3FB hexadecimal)
3. 1, 6 = 1 + 0, 6.
Pour obtenir la representation binaire de 0, 6, il faut effectuer la division de 6 par
10 en base 2, ou, mieux, celle de 3 par 5 (donc 11 par 101 en base 2).
On obtient : 0,1001 1001 1001 . . ..
Ce developpement binaire est infini mais periodique, il suffit de le tronquer a` 52
chiffres et deffectuer larrondi.
Les 4 derniers bits sont 1001 et le suivant serait 1, donc larrondi est fait a` 1010
pour les 4 derniers, soit A hexadecimal (la representation nest donc pas exacte,
on la signale plus haut).
Les precedents (par groupe de 4) sont e gaux a` 1001, soit 9 hexadecimal ; on
obtient finalement : 3FB9 9999 9999 999A.
Attention : en (( single )) , la representation de 0,1 serait 3DCC CCCD et, en (( extended )) : 3FFB CCCC CCCC CCCC CCCD (faites-le aussi !).
Autrement dit : le passage dun format a` lautre nest pas e vident en hexadecimal
(il ne suffit pas de (( raccourcir )) ou de (( rallonger )) !).

Fin du Chapitre

89

Chapitre 6
Cryptologie et arithmetique
I. Methodes de cryptage (( a` cle publique ))
1 Principe
Supposons quun individu A soit oblige de transmettre a` un autre individu B un
message M en utilisant un reseau de communication public, par exemple les ondes
hertziennes. Nimporte quel individu peut se mettre a` lecoute et intercepter le message.
Le probl`eme est donc :
le message doit e tre inintelligible pour tout individu autre que A et B.
B doit pouvoir le comprendre.
B doit pouvoir sassurer que le message provient bien de A (et non dun plaisantin quelconque).
Lidee est de doter tous les participants de la meme methode de cryptage. Les
resultats du cryptage dun meme message par divers individus sont cependant differents,
car chacun dentre eux emploie une (( cle )) qui lui est propre.
E XEMPLE 1. Lorsque lon remplace a par c, b par d, etc. . . , la methode de
cryptage est (( decalage des lettres de lalphabet )) et la cle est la longueur du decalage,
ici 2.

La methode de cryptage est fondee sur lexistence de fonctions f , dependant dun


param`etre (la (( cle )) ), inversibles, mais pour lesquelles la determination de linverse
est materiellement impossible, en letat actuel des connaissances humaines.
Soit fA la fonction de cryptage qui utilise la cle propre a` lindividu A.
90

La cle de A est publique, ainsi nimporte qui est en mesure dappliquer la fonction fA a` un message M quelconque.
Par contre, seul A connat la fonction inverse fA1 qui permet de retrouver le
message initial.
Au message M , A applique en fait fA1 (il est le seul a` pouvoir le faire).
Puis, a` ce message fA1 (M), il applique la fonction de cryptage de B, soit fB (il
peut le faire, la cle de B est publique), pour obtenir fB fA1 (M), incomprehensible
car les cles sont e videmment uniques, et donc fB fA1 nest pas lidentite.
Cest ce message (( doublement )) crypte qui est envoye. B le recoit et lui applique
aussitot fB1 , ce quil est le seul a` pouvoir faire, pour obtenir fA1 (M), auquel il applique fA : si le resultat est comprehensible, B est sur que le message lui e tait bien
destine, et quil a bien e te envoye par A.
2 Utilisation de lindicatrice dEuler

Exercice 1 (Fonction indicatrice dEuler). Soit n un entier strictement positif ; on


note (n) le nombre des entiers inferieurs a` n qui sont premiers avec n.
Lapplication de N dans N ainsi definie est appelee fonction indicatrice dEuler.
1. Montrer que, pour p premier, (p) = p 1

2. Montrer que, pour p premier, (p ) = p p1

3. On consid`ere les nombres de la forme ap + bq, pour p et q premiers entre eux


et lapplication de (Z/qZ) (Z/pZ) dans (Z/pqZ) definie par (a, b) 7 ap +
bq [pq] ; montrer que cette application est injective et surjective.
4. En deduire (en utilisant les nombres de la forme ap + bq [pq]) que, pour p et q
premiers entre eux, (pq) = (p)(q).
5. Utiliser le resultat precedent et le theor`eme de Fermat ci-dessus pour prouver
que, pour tout entier a premier avec n, et pour tout entier positif n depourvu de
facteur carre, a(n) 1 [n].

2.1 Resultat de base


Diverses fonctions (( a` inverse difficile a` determiner )) ont e te proposees. Les plus
satisfaisantes sont celles qui utilisent le resultat suivant :

91

P ROPRI E T E I : sil est tr`es facile dobtenir un tr`es grand nombre entier compose
par produit de deux nombres premiers eux-memes grands, la decomposition en
facteurs premiers dun nombre compose est tr`es difficile.

2.2 Methode de cryptage


La methode de cryptage est la suivante :
1. Soit donc n = pq un entier, produit de deux nombres entiers premiers, par
exemple tels que p q 2[3].
2. Soit M le message, prealablement chiffre (sans precautions particuli`eres, par
exemple en remplacant les lettres par leurs codes ASCII).

3. Si M > n, on decompose M en plusieurs sous-messages, ses (( chiffres )) en base


n, par exemple.
4. Si n est la cle choisie par A, et pour M < n, fA (M) = C, avec C M 3 [n].
Comme n est connu de tous, nimporte qui peut calculer C tr`es rapidement. Par
contre, les facteurs premiers p et q de n sont soigneusement tenus secrets par A.
5. Un resultat (elementaire) darithmetique indique que, comme n na pas de facteur carre, si M est premier avec n, alors M (n) 1 [n] (dans cette expression, est la fonction indicatrice dEuler, cest-`a-dire que (n) est le nombre de
nombres strictement positifs inferieurs a` n qui sont premiers avec n).
6. Un autre resultat (elementaire) darithmetique dit que, comme n = pq, avec p et
q premiers, (n) = (pq) = (p)(q) = (p 1)(q 1).

7. On a donc, en combinant ces deux resultats, M (p1)(q1) 1 [n], donc M 2(p1)(q1)


1 [n], et finalement M 2(p1)(q1)+1 M [n].

8. Comme on a choisi p q 2 [3], (p 1)(q 1) 1 [3], 2(p 1)(q 1) 2 [3]


et 2(p 1)(q 1) + 1 0 [3]. Il sagit donc dun multiple de 3, on peut poser
2(p 1)(q 1) + 1 = 3k, et on a M 3k M [n].

9. Or M 3k = (M 3 )k , donc, si le message crypte est C M 3 [n], C k M [n]


2(p 1)(q 1) + 1
et la connaissance de k =
permet de retrouver le message
3
original.

E XEMPLE 2. Avec p = 5, q = 11, n = pq = 55.


Le message a` envoyer est chiffre M = 7.
Alors 72 49 [55], 73 13 [55].
Le message crypte est C = 13.
92

2 4 10 + 1
= 27, donc M 1327 [55].
3
On a 1327 = 1316+8+2+1 , or 132 4 [55], 134 4 4 16 [55], 138 16 16
256 36 [55] 1316 36 36 1296 21 [55], donc 133 4 13 52 [55] ,
1311 52 36 37 [55], 1327 37 21 7 [55].
Ici k =

Si, par malchance, M est un multiple de p ou de q, il suffit de modifier leg`erement


le premier chiffrage, par exemple en introduisant un espace supplementaire dans les
caract`eres du message dorigine, ce qui ne modifie pas son sens. Ne pas oublier cette
precaution indispensable.

II. Choix dun nombre n


Dans lexemple ci-dessus, le cryptage est immediatement perce a` jour, puisque la
decomposition de 55 en ses facteurs premiers 5 et 11 est immediate. On peut en dire
autant de tout entier representable sur 32 bits.
Il faut aller chercher bien plus loin pour assurer un minimum de securite. Pour fixer
les idees, les cles utilisees sont a` lheure actuelle le produit de deux nombres qui ont
entre 100 et 200 chiffres dans leur representation decimale.
1 Nombres premiers
Pour produire un nombre n utilisable, il faut tout dabord trouver deux nombres p
et q premiers, suffisamment grands.
On choisit deux nombres se terminant par 1, 3, 7 ou 9 dans leur representation
decimale et de longueurs comparables (mais pas trop proches : il existe un algorithme
de decomposition qui est capable de decomposer rapidement un nombre qui est le produit de deux nombres de longueurs tr`es proches).
Il faut verifier quils sont premiers et, pour cela, disposer dun crit`ere de primalite
(voir plus loin).
Lorsque le nombre produit au hasard nest pas premier, il suffit de lui ajouter 2 ,
puis encore 2 etc., jusqu`a obtenir un nombre premier, ce qui interviendra tr`es rapidement.
Avec ces deux nombres premiers p et q ainsi obtenus, on obtient la cle n.

93

2 Decomposition en facteurs premiers


Theoriquement, bien sur, la decomposition dun nombre compose (non premier)
est un probl`eme resolu : il suffit de tenter de le diviser par tous les nombres premiers
jusqu`a sa racine carree.
Pratiquement, cet algorithme est totalement impraticable d`es que la longueur du
nombre depasse une vingtaine de chiffres decimaux (duree dexecution trop e levee).
La duree dexecution dun algorithme de decomposition en facteurs premiers depend, bien sur, de la longueur du nombre a` decomposer. Mais il ny a pas proportionnalite stricte : cela depend aussi de lalgorithme utilise. Pour prendre un exemple
limite, 1000 !, qui est un nombre dont la representation decimale occupe plus de 4000
chiffres, est decompose en quelques fractions de seconde par le plus rudimentaire des
algorithmes.
Le seul moyen, donc, pour savoir si un nombre n obtenu comme ci-dessus est une
(( bonne )) cle, est de tenter de le decomposer par tous les algorithmes connus. Sil
resiste vaillamment, on peut ladopter, sinon, il faut en changer.
La conclusion de cette presentation est quil est donc necessaire de disposer dun
test de primalite et dalgorithmes de decomposition en facteurs premiers, questions
que nous allons aborder dans les paragraphes suivants.

94

Chapitre 7
Tests de primalite
I. Theor`eme de Fermat
P ROPRI E T E I (P ETIT
an 1 [n].

OR E` ME DE
TH E

F ERMAT ) : Si n est premier et si a 6= 0,

Exercice 1 (Theor`eme de Fermat). Soit n un nombre premier,


1. montrer que, pour p entier tel que 0 < p < n, n divise Cpn
2. montrer que, pour tout a N, (a + 1)n an 1 est divisible par n.

3. montrer que, pour tout b N, si bn b est divisible par n, (b + 1)n (b + 1)


lest aussi.

4. En deduire le theor`eme de Fermat : pour n premier et a N, an a [n].

Exercice 2 (Theor`eme de Wilson). Soit p un nombre entier strictement superieur a`


1.
(p 1)! + 1 est divisible par p si et seulement si p est premier.
On demande la demonstration de ce theor`eme.

Ce theor`eme ne peut servir de test de primalite, mais seulement de test de nonprimalite. Cest-`a-dire que si lon trouve un nombre a 6 0 [n] tel que an1 6 1 [n], on
95

en conclut que n est compose.


Les nombres a tels que an1 1 [n] alors que n nest pas premier ne sont pas
nombreux. Cest pourquoi si, apr`es lessai de quelques valeurs de a, on trouve toujours an1 1 [n], ce nombre n sera envoye a` un veritable test de primalite.
Ce pre-test a lavantage detre simple et rapide.

II. Test de Miller-Rabin


Soit n un nombre impair, que lon met sous la forme n 1 = 2t m, avec m impair.

D E FINITION 1 (N OMBRE PSEUDO - PREMIER FORT ). Ce nombre n est dit pseudo-premier


fort dans la base a si lon peut trouver a tel que :
ou bien am 1 [n],
u
ou bien on peut trouver u tel que 0 6 u 6 t 1, a2 m 1 [n].

On montre que :

P ROPRI E T E II : Tout nombre premier est pseudo-premier fort dans nimporte


n
quelle base et quun nombre compose est pseudo-premier fort dans au plus bases
4
differentes, et (( en general )) aucune.

Bien entendu, d`es que n est un tant soit peu grand, il est exclu de tester autant de
bases.
Il nen reste pas moins que si, apr`es une dizaine de bases, n est pseudo-premier
fort dans chacune de ces bases, il a de (( tr`es bonnes chances )) detre premier.
Ce test nest cependant pas, lui non plus, un veritable test de primalite, mais il est
presque aussi rapide que celui de Fermat, et il sert daiguillage entre les nombres que
lon enverra a` un algorithme de decomposition et ceux que lon enverra plutot a` un
veritable test de primalite.

III. Tests de Lucas, Selfridge et Pocklington


Le test de Lucas peut sexprimer de la mani`ere suivante :
96

P ROPRI E T E III (T EST DE L UCAS ) : Si on peut trouver un entier a pour lequel


n1
an1 1 [n], mais a q 6 1 [n] pour tous les diviseurs premiers q de n 1,
alors n est premier.

R EMARQUE 1. Selfridge a montre quil netait pas necessaire dutiliser la meme valeur de a pour tous ces diviseurs.
Ce test est theoriquement satisfaisant (cest un test qui peut repondre : (( oui, n est
premier ))), pratiquement il lest beaucoup moins : il exige la decomposition en facteurs premiers de n 1 qui est une operation en general longue et difficile (voir les
algorithmes qui suivent).
De plus, il connat un cas dechec, dans lequel il ne donne pas de reponse.
Le crit`ere de Pocklington permet dattenuer cette difficulte :

P ROPRI E T E IV (C RIT E` RE DE P OCKLINGTON ) : Si n nest que (( partiellement


decompose )), dans le sens o`u il a e te mis sous la forme n = F R, o`u F est totalement decompose en facteurs premiers, mais R nest pas premier, alors :
si le crit`ere de Selfridge applique aux diviseurs premiers de F aboutit a` un
succ`es,
et si F > R,
alors n est premier.

Fin du Chapitre

97

Chapitre 8
Decomposition en facteurs premiers
I. Divisions successives
Lalgorithme est tr`es simple : tenter de diviser le nombre par les nombres premiers
successifs, dont on dispose dans un tableau.
Cet algorithme nest pas efficace, mais il est necessaire den disposer : tous les
autres algorithmes, concus pour trouver de (( grands )) diviseurs, connaissent des cas
dechec, qui sont dautant plus frequents que les diviseurs sont petits.
Avant denvoyer un nombre a` un autre algorithme, il est donc indispensable de
lavoir debarrasse de ses (( petits )) diviseurs. Pour fixer les idees, il sagit des nombres
premiers representables sur 16 bits, jusqu`a 65 535 (= 216 1) (le plus grand est 65
521, et il y en a au total 6 542).
Cette premi`ere phase de la decomposition necessite en general un temps si faible
quil nest pas mesurable.
R EMARQUE 1. On pourrait alors envisager aussi daller plus loin, cest-`a-dire, par
exemple, de tenter la division par tous les nombres premiers representables sur 32 bits
(cest-`a-dire inferieurs a` 232 = 4 294 967 296 : 10 chiffres (( seulement )) !).
Il faut alors savoir quil y en a 203 280 221 et que la mani`ere la plus e conomique
de les stocker necessite environ 194 Mo...
On nose e voquer le temps dexecution dun algorithme qui parcourrait un tel tableau. . . pour ne meme pas obtenir de resultat, ce qui est le cas d`es que le plus petit
diviseur du nombre a` decomposer poss`ede plus de 10 chiffres ce qui est fort peu pour
des nombres qui depassent les 100 chiffres decimaux).
Il faut bien saisir sur ces exemples lampleur du probl`eme !

98

II. Algorithme de Monte-Carlo (1975)


1 Presentation
Cet algorithme, dont lefficacite est tout-`a-fait surprenante, utilise un generateur de
nombres au hasard (cest de lintervention de ce (( hasard )) que lalgorithme tire son
nom).
Soit

f cette fonction (le generateur),


A la valeur dinitialisation,
n le nombre a` decomposer,
p un de ses facteurs premiers.

On consid`ere les suites de nombres entiers definies par


x0 = y0 = A, xm+1 = f (xm )[n], ym+1 = f (ym )[p]
R EMARQUE 2. On ne connat pas p, bien sur, mais on sait que ym = xm [p], et cela
suffit.
Soit h la plus grande puissance de 2 qui est inferieure ou e gale a` m (par exemple,
pour m = 50, h = 32). On peut alors montrer quil existe un entier m tel que ym =
yh1 , cest-`a-dire xm xh1 0[p].
Cest donc un multiple de p, quon pourra obtenir en calculant le PGCD de ce
nombre avec n.
2 Lalgorithme
Lalgorithme peut se decrire dans les termes suivants :
Initialisations : n au nombre `
a factoriser
` 1.
x `
a 5, x `
a 2, k `
a 1, h `
a 1, g a
TANT QUE (n nest pas premier) ET QUE (g est diff
erent
de n)
FAIRE
REPETER
g (x x ) n
SI ( g est diff
erent de 1) ALORS
SI ( g est diff
erent de n) ALORS
IMPRIMER g
IMPRIMER )) est un diviseur de ))
99

IMPRIMER n
n n/g
x x%n
x x %n
FINSI
SINON
k k 1
SI ( k = 0) ALORS
x x
h 2h
k h
FINSI
x (x2 + 1)%n
FINSI
JUSQUA (g est diff
erent de 1)
FAIT
FIN
On notera que lalgorithme ainsi decrit, si lon ne se trouve pas dans le cas derreur,
(( tourne )) tant quil na pas termine la decomposition du nombre, ce qui peut durer tr`es
longtemps... Il faut, bien sur, en plus, prevoir un arret au bout dun certain temps.
3 Discussion
Meme si, quelquefois, cet algorithme permet la factorisation de nombres plus grands,
il ne peut pas pretendre arriver a` decomposer tous les nombres de 20 chiffres ou moins.
Cette methode est ideale pour les calculettes programmables.

III. Algorithme du crible quadratique QS de Pomerance


Lidee, dans cet algorithme comme dans de nombreux autres, et dobtenir, si possible, des congruences de la forme x2 y 2 [n], x netant ni congru a` y, ni a` y. Dans
ce cas, (x y) n sera un diviseur non trivial de n.
Ce qui distingue ces methodes entre elles est la mani`ere dobtenir ces residus quadratiques modulo n.

Ici, on prend les valeurs sur les entiers du polynome P (x) = (x + E( n))2 n.
Ces valeurs fournissent des congruences de la forme y 2 r [n], o`u r est le residu
quadratique.

100

On peut reperer plus facilement ceux qui se factorisent aisement (par la methode
precedente, donc qui sont assez petits) en criblant les valeurs de P (x) pour obtenir la
congruence recherchee x2 y 2 [n] de mani`ere efficace.
Linteret de cette methode est quelle donne ses meilleurs resultats sur les nombres
qui font e chouer la suivante, mais elle est tr`es difficile a` programmer : le criblage nest
pas e vident, et il y a e normement de (( petites astuces )), qui ne peuvent e tre examinees
ici, pour retrouver les congruences recherchees aussi rapidement que possible.
Cest la methode la plus utilisee avec celle, plus recente, des courbes elliptiques.
On peut esperer decomposer des nombres jusqu`a 70 chiffres a` peu pr`es dans des temps
raisonnables (on veut dire : quelques jours. . . ).

IV. Algorithme (p 1) de Pollard


Soit p un diviseur premier du nombre n a` decomposer.
Si a est premier avec p, ap a[p] (theor`eme de Fermat).
Comme a est premier avec p, il est inversible modulo p, donc ap1 1 [p], soit
(ap1 1) 0 [p], ou encore (ap1 1) = kp.
Donc (ap1 1) n 6= 1 : ce PGCD est donc un diviseur de n.
Le cas dechec est celui o`u k = 0, on trouve alors que le PGCD est n, et on nobtient aucun renseignement sur un e ventuel diviseur de n.
Par ailleurs, e videmment, on ne peut pas calculer ap1 quand on ne connat pas p.
Il suffit en fait dutiliser un multiple quelconque de p 1, soit h(p 1).
On aura aussi ah(p1) 1 [p], il faudra donc utiliser comme exposant un nombre
qui comporte le plus possible de facteurs premiers distincts, de mani`ere a` ce que les
diviseurs de p 1 figurent tous dans la liste (cest-`a-dire que cet exposant soit de la
forme h(p 1))
Concr`etement, on op`ere e tape par e tape, en utilisant le PPCM des entiers depuis 1
jusqu`a un maximum fixe.
E XEMPLE 1. Soit a` decomposer le nombre n = R7 = 1 111 111 = 239 4 649.
1. On doit choisir a, premier avec p, sans connatre p.
Cest facile, il suffit de choisir un nombre premier : sil nest pas e gal a` p, il est
premier avec p. Par exemple : 2 (mais il vaut mieux prendre, en general, 3 ; il y

101

a beaucoup plus de cas dechec avec 2).


2. Le PPCM des entiers depuis 1 jusqu`a un maximum fixe dans la recherche est
e gal a` 2 3 2 5 7 2 3 11 13 2 17 19 23 5 3 29 . . .
(Ces nombres figurent dans une table, determinee a` lavance, et obtenue par
lalgorithme suivant :
On parcourt les entiers depuis 2 jusquau maximum fixe, tout en disposant de
la table des nombres premiers inferieurs ou e gaux a` ce meme maximum.
Chaque fois que lon rencontre un nombre premier, on rajoute ce nombre premier.
Chaque fois que lon rencontre une puissance dun nombre premier, on rajoute
un facteur e gal a` ce nombre premier, pour completer le PPCM.
On obtient donc 2, puis 3, comme nombres premiers, puis, en passant par 4, on
rajoute un facteur 2, puis 5, premier, rien a` rajouter pour 6, puis 7, premier, un
facteur 2 supplementaire en passant par 8, un facteur 3 a` la rencontre de 9, etc. . .
Cette table contient 6634 e lements pour le PPCM des entiers depuis 2 jusqu`a
65535, tous les nombres representables sur 16 bits).
3. On effectue donc les calculs suivants

aq [n]

aq 1

2
2
4
3
4
3
64
63
64
2
4 096
4 095
4 096
5
120 077
120 076
120 077
7 1 084 896 1 084 895
1 084 896 2
559 627
559 626
559 627
3
247 053
247 052
247 053 11 339 352
339 351
339 352 13 311 394
311 393
311 394
2
677 377
677 376
677 377 17 569 060
569 059

(aq 1) n

commentaire

1
1
1
1
1
1
1
1
1
1
239

pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
pas de diviseur
diviseur trouve...

4. Explication : on a calcule en fait 223257231113217 = 224 504 480 .


Or 24 504 480 = 102 960 238, qui est bien de la forme h(p 1) : le calcul de
ah(p1) a permis de trouver p.

102

La capacite de cet algorithme a` trouver un diviseur p dun nombre n depend de la


taille du plus grand diviseur de p 1, ce qui explique ses resultats tr`es inegaux.
E XEMPLE 2. Il trouve instantanement le diviseur p = 1 325 815 267 337 711 173 (19
chiffres decimaux) de R53 , parce que le plus grand diviseur premier de p 1 est 8 941.
Mais il ne peut pas obtenir le diviseur q = 106 007 173 861 643 (15 chiffres decimaux
seulement) de R61 , parce que le plus grand diviseur premier de q1 est 868 911 261 161
(12 chiffres).

Ces considerations, dans loptique du cryptage RSA, montrent que si lon choisit
deux nombres premiers p et q de la forme p = 2p + 1 et q = 2q + 1 o`u p et q sont
eux-memes premiers (ce qui est assez facile a` fabriquer), il suffira que p et q aient en
gros au moins 12 chiffres pour que le cryptage soit invulnerable par lalgorithme de
Pollard (mais pas par un autre algorithme, peut-etre. . . ).

V. Algorithme de Lenstra (courbes elliptiques)


1 Introduction aux courbes elliptiques
D E FINITION 1 (C OURBE ELLIPTIQUE ). Une courbe elliptique sur un corps K a une
e quation affine de la forme
y 2 = x3 + ax + b

(en supposant que le discriminant = 4a3 + 27b2 nest pas nul, pour quelle ne soit
pas degeneree).

R EMARQUE 3. Elle a un point a` linfini dans la direction de Oy.


On consid`ere deux points P1 = (x1 , y1 ) et P2 = (x2 , y2) dune pareille courbe.
La droite P1 P2 (la tangente en P1 a` la courbe dans le cas o`u P1 = P2 ) recoupe la
cubique en un troisi`eme point de coordonnees (x3 , y3 )...
D E FINITION 2. Si pose P3 = (x3 , y3 ) et P3 = P1 + P2 ,
Cette addition sur la courbe elliptique est une loi de groupe abelien,
Elle est telle que lelement neutre est le point a` linfini
... et loppose du point P = (x, y) est le point P = (x, y).

103

Les coordonnees de P3 sont obtenues comme suit :

y y1


2
si P1 6= P2
x3 = m2 x1 x2
x2 x1
,
alors
.
Si on pose m =
2
3x1 + a
y
=
m(x

x
)

3
1
3
1

si P1 = P2
2y1
2 Algorithme de Lenstra
Ici, il sagit de calculer dans Z/nZ, qui nest pas un corps, donc loperation risque
de ne pas e tre definie.
R EMARQUE 4. Cest le cas lorsque = (x2 x1 ) n 6= 1, auquel cas on ne peut
poursuivre le calcul, car linverse de (x2 x1 ) nest pas defini.
Dans ce cas ( 6= 1), si 6= n, on a trouve un diviseur de n, et on a gagne. Si = n,
cest le cas dechec.
On applique la methode de Pollard a` la courbe elliptique, en calculant, a` partir
dun point P quelconque P = kP , en cherchant les coefficients multiplicateurs dans
le meme tableau (celui des facteurs du PPCM e voque plus haut).
Si lon note E(Z/pZ) le groupe additif de la courbe elliptique utilisee, linteret
doperer sur une courbe elliptique de cette sorte est que le cardinal de E(Z/pZ) nest
pas necessairement p 1 (comme dans la methode classique p 1 exposee ci-dessus,
o`u on travaille dans (Z/pZ) , de cardinal toujours p 1).

Cest un nombre de la forme p + 1 t, o`u |t| 6 2 p, qui varie selon la courbe


utilisee.
Ainsi, en travaillant sur plusieurs courbes simultanement, on augmente les chances
que le plus grand diviseur de ce cardinal soit petit, ce qui conditionne, comme on la
remarque, le succ`es de la methode.
Fin du Chapitre

104

Troisi`eme partie
Logique

105

Chapitre 9
Alg`ebre de Boole
I. Proprietes generales
1 Definition
D E FINITION 1 (A LG E` BRE DE B OOLE ). On appelle alg`ebre de Boole la structure algebrique
definie par un ensemble (non vide) A et trois operations :
la somme booleenne : +,
le produit booleen : .,
la negation booleenne (unaire) : (ex. a)
Ces operations doivent de plus posseder les proprietes de la page suivante, pour
que lon puisse alors dire que le quadruplet (A, +, ., ) est une alg`ebre de Boole.

(On a mit en parall`ele les expressions obtenues :


en utilisant les notations generales dune alg`ebre de Boole,
et celles qui sont obtenues dans lensemble des parties dun ensemble : cest
une alg`ebre de Boole particuli`ere, bien connue, et qui poss`ede des notations
specifiques.)

106

Propriete

P(E)

idempotence

AA=A
AA=A

a+a=a
aa=a

commutativite

AB =BA
AB =BA

a+b=b+a
ab= ba

associativite

A (B C) = (A B) C
A (B C) = (A B) C

a + (b + c) = (a + b) + c
a (b c) = (a b) c

e lements neutres

A 6 o = A
AE =A

a+0=a
a1 =a

absorption

AE =E
A 6 o =6 o

a+1=1
a0=0

distributivites

A (B C) = (A B) (A C) a (b + c) = a b + a c
A (B C) = (A B) (A C) a + b c = (a + b) (a + c)

involution

E \ (E \ A) = A

a=a

complementation

E\ 6 o = E
E \ E =6 o

0=1
1=0

partition

A (E \ A) = E
A (E \ A) =6 o

a+a=1
aa = 0

(( Lois de De Morgan ))

E \ (A B) = (E \ A) (E \ B)
E \ (A B) = (E \ A) (E \ B)

a+b =ab
ab=a+b

R EMARQUE 1. Les signes operatoires utilises sont les memes que ceux de laddition
et de la multiplication des reels. Cependant, ces operations nont e videmment pas les
memes proprietes, et ne portent pas sur les memes e lements.

Exercice 1 (Somme disjonctive). On consid`ere une alg`ebre de Boole quelconque (E, +, , ).


On definit loperation (( somme disjonctive )), notee , par a b = ab + ab.
1.
2.
3.
4.

Que vaut a 0 ? a 1 ?
Calculez a a et a a.
Calculez a b.
Montrez que est associative et commutative.

107

Exercice 2 (Operateurs de Sheffer et de Peirce). Soit (E, +, , ) une alg`ebre de Boole.


1. On definit loperation de Sheffer1 par : a|b = a + b (cest le NAND des informaticiens).
Comment obtenir a, a + b, a b en nutilisant que loperateur | ? Faire de meme
pour a + b ; e tudier lassociativite de cette operation.

2. On definit la fl`eche de Peirce2 par : a b = ab (cest le NOR). Memes questions.

R EMARQUE 2. Ces connecteurs sont donc remarquables, puisquils sont universels


(tous les autres connecteurs peuvent sexprimer avec uniquement la barre de Scheffer,
ou uniquement avec la fl`eche de Peirce).
Cependant, par manque de concision et absence totale de lisibilite, ces connecteurs
ne sont pas utilises en logique.
2 R`egles de calcul dans une alg`ebre de Boole
2.1 Particularites du calcul booleen
1. Les priorites habituelles sont respectees pour la somme et le produit booleen.
2. Les e lements neutres sont notes 0 et 1, par analogie avec les entiers de meme
symbole (ne pas oublier que ces calculs ne se deroulent pas dans R...
3. Labsence delements symetriques pour la somme et pour le produit interdit les
simplifications que lon a lhabitude de pratiquer (( sans y reflechir )) :
a + b = a + c ne donne pas b = c,
ab = ac nentrane pas b = c.
En particulier, ne jamais perdre de vue que
a + b = 0 nest realisable en alg`ebre de Boole que si a = b = 0
a.b = 1 nest realisable en alg`ebre de Boole que si a = b = 1 (c.f. A B =
E A = E et B = E)
a.b = 0 peut e tre realise avec a 6= 0 et b 6= 0 (par exemple, avec b = a, mais
ce nest pas la seule solution...). On parle de (( diviseurs de zero )). (Ainsi,
A B = est possible sans avoir obligatoirement A = et B = ).
4. Il faut shabituer aussi a` celle des deux distributivites qui nest pas habituelle,
celle de la somme sur le produit (booleens), et, par exemple, ne pas hesiter a`
e crire directement (a + b)(a + c)(a + d)(a + e)(a + f ) = a + bcdef !
1

Dapr`es le logicien H.M. Sheffer


Lorsque les logiciens, dans les annees 1930, cherch`erent un symbole pour exprimer le connecteur
decouvert par C.S. Peirce (1839-1914)...Pierce Arrow e tait le nom dune cel`ebre marque de voiture !
2

108

2.2 R`egles de (( redondance ))


Dans une expression booleenne, une sous-expression est dite (( redondante )) lorsquon peut la supprimer sans changer la (( valeur )) de lexpression :
1. Dans une somme booleenne, tout terme absorbe ses multiples.
Autrement dit : a + a b = a.
P REUVE En effet, a + a b = a (b + b) + a b = a b + a b + a b =
a b + a b (par idempotence) = a (b + b) = a.
2. Dans un produit booleen, tout facteur absorbe tout autre facteur qui le contient
en tant que terme.
Autrement dit : a (a + b) = a.
P REUVE En effet, a (a + b) = a a + a b = a + a b = a.
3. Enfin, la troisi`eme r`egle de redondance sexprime par :
a+ab =a+b
P REUVE a + a b = (a + a) (a + b) = 1 (a + b) = a + b.

E XEMPLE 1. ab + ac + bc = ab + (a + b) c = ab + ab c = ab + c

R EMARQUE 3. Lapplication de cette troisi`eme r`egle peut e tre combinee avec celle
des autres, comme par exemple dans le calcul suivant :
a b + a c + b.c = a b + a c
P REUVE a b + a c + b c = a b + a c + (a + a) b c = a b + a c + a b c + a b c ;
a b absorbe a b c et a c absorbe a b c, do`u le resultat.

Exercice 3 (Somme disjonctive). Montrez que lon a a = b si et seulement si a b =


0).

109

Exercice 4 (Calcul booleen e lementaire). Effectuez les calculs suivants :


1. (a + b) (b + c) (c + a)

2. (a + b) (a + c) + (b + c) (a + b) + (a + c) (b + c)
3. (a + b + c) (a + b + c) (a + b + c)

4. a + a b c + a + a b

5. a b + a b c + a b c

6. a b + a b c + a b c d

7. (a + b + c) (a + b + c + d)

Exercice 5 (Calcul booleen). Simplifier les expressions suivantes.


(Il nest pas interdit de saider e ventuellement dun diagramme de Karnaugh c.f.
ci-dessous mais toutes les simplifications proposees doivent e tre justifiees par calcul
algebrique.)
A = (a + b)(c + a b + a b) .
B = (a + b + c) (a + b) (b + c).
C = (a + b + c + b d) (b + c).
D = a + b + c + a + b + a + c.
E = (a + b + c) (a + b + c + d) + a + b + d a + b + a + d.
F = [(a + c) + (b + d)] (c + d) + a + b .
G = a (b + c) (a b + a c) + a (b + c) a b + a c.
H = (a b c + a b d) (a + b + c + d) + a b (c + d) (a + b + c + d) .
I = a b + a b + b c + b c.
J = a + b + a b + a b + c.
K = a b + c + d (a c + b + d) + (a b + c + d) a c + b + d.
L = (a + c) (a + d) (b + e) (b c + b c) (d + c e) (c + d).
M = (a a (b + c) + a (b + c)) (b a + c + (a + c) b) (a b c + a b c).

II. Fonctions booleennes


1 Definitions
Soit A une alg`ebre de Boole.

110

D E FINITION 2 (F ONCTION BOOL E ENNE ). On appelle fonction booleenne de n variables toute application de An dans A dont lexpression ne contient que :
les symboles des operations booleennes,
des symboles de variables, de constantes,

deventuelles parenth`eses.

E XEMPLE 2. f (a, b, c) = a b + c.

R EMARQUE 4. Si a est une variable booleenne, elle peut intervenir dans lexpression
dune fonction booleenne sous la forme a ou sous la forme a, qui sont appelees les
deux aspects de cette variable : affirme et nie.

D E FINITION 3 (F ONCTION BOOL E ENNE NULLE ). On appelle fonction booleenne nulle


(`a n variables) la fonction booleenne qui, a` chaque valeur des variables, associe la valeur 0.
Son expression est f (x1 , x2 , . . . , xn ) = 0.

D E FINITION 4 (F ONCTION R E F E RENTIEL ). On appelle fonction referentiel (`a n variables) la fonction booleenne qui, a` chaque valeur des variables, associe la valeur 1.
Son expression est f (x1 , x2 , . . . , xn ) = 1.

2 Fonctions booleennes e lementaires


D E FINITION 5 (M INTERME , MAXTERME ). Un minterme a` n variables est une fonction booleenne a` n variables dont lexpression se presente sous la forme du produit
dun aspect et dun seul de chacune des variables.
Definition analogue pour un maxterme , en remplacant dans la definition precedente
(( produit )) par (( somme )).

D E FINITION 6 (F ONCTIONS BOOL E ENNES E L E MENTAIRES ). Pour un nombre de variables n fixe, les fonctions booleennes e lementaires sont les mintermes et les maxtermes (`a n variables).

111

E XEMPLE 3 (M INTERME A` TROIS

E XEMPLE 4 (M AXTERME A` TROIS

VARIABLES ).

VARIABLES ).

abc

a + b + c.

Exercice 6. Pour 3 variables a, b et c, reperez les mintermes et les maxtermes : bc,


a + b + c, abbc, abc, a + bc.

Exercice 7. Dressez la liste des mintermes et des maxtermes pour deux variables a et
b.

P ROPRI E T E I (N OMBRE DE MINTERMES ET DE MAXTERMES ) : Les mintermes


et maxtermes, pour un nombre donne n de variables, sont au nombre de 2n chacun.

(n)
N OTATION (R EPR E SENTATION DES MINTERMES ) : On les represente par mi pour
(n)
un minterme, et Mi pour un maxterme.
Lindice i varie entre 0 et 2n 1, et fait lobjet dune convention de numerotation
des mintermes (et maxtermes).

Pour que cette numerotation ait un sens, il est indispensable dadopter un ordre
denumeration des variables, et, une fois que celui-ci a e te defini, de sy tenir une fois
pour toutes.
E XEMPLE 5. Si les variables sont a, b, c et d et quon decide de les e numerer dans
lordre alphabetique, il sera, par exemple, strictement interdit decrire un produit sous
la forme c a d b, et ceci, meme de mani`ere transitoire au cours dun calcul : la seule
expression admissible est alors a b c d.
112

La convention est la suivante : a` chaque variable, on associe 0 ou 1 selon que cette


variable apparat sous son aspect nie ou sous son aspect affirme dans lexpression du
minterme.
En e crivant ces chiffres les uns a` cote des autres, et dans le meme ordre que les
variables correspondantes, on obtient une expression quon peut considerer comme
lecriture dun entier positif en base 2.
D E FINITION 7 (I NDICE D UN MINTERME ). L indice du minterme (ou du maxterme)
est la valeur decimale de cet entier.

E XEMPLE 6. Pour 3 variables a, b et c rangees par ordre alphabetique :


minterme (ou Maxterme)

code binaire associe indice decimal representation

abc

010

m2

abc

100

m4

a+b+c

111

M7

Exercice 8. Pour 3 variables a, b et c rangees par ordre alphabetique, trouvez lindice


des mintermes et maxtermes suivants : a + b + c, a + b + c, a b c et a b c.

3 Correspondance entre maxtermes et mintermes

P ROPRI E T E II : La negation (booleenne) dun minterme est un maxterme (et


reciproquement).

P REUVE Lois de De Morgan : la negation e change les operations booleennes binaires...

113

E XEMPLE 7. a b c = a + b + c

Si lindice du minterme (ou du maxterme) dont on prend la negation est i et si


lindice de cette negation est j, on a des expressions du type :
i
= 0011 0100 1110 . . . . . . 0110
j
= 1100 1011 0001 . . . . . . 1001
i + j = 1111 1111 1111 . . . . . . 1111
Lexpression en syst`eme binaire de la valeur de i + j est donc, quelles que soient
les valeurs de ces deux indices, 111.....1 (n chiffres).
La valeur correspondante est 2n 1.
Autrement dit,

P ROPRI E T E

III

: La negation dun minterme est un maxterme, et reciproquement.


(n)

i {0, ..., 2n 1}, mi

(n)

(n)

= M2n 1i et Mi

(n)

= m2n 1i .

4 Principaux resultats concernant mintermes et maxtermes

P ROPRI E T E

IV

: Les mintermes a` n variables sont disjoints


(n)

i 6= j, alors mi

(n)

mj

=0

Exercice 9. Verifiez la derni`ere propriete dans le cas de deux variables.

P REUVE Si i 6= j, les e critures en syst`eme binaire des entiers i et j comportent au


moins un chiffre different, en loccurrence au moins un (( 1 )) a` la place dun (( 0 )).
Il y a donc au moins une variable qui figure sous deux aspects differents.
Or, on sait que a a = 0. Donc, lorsque lon calcule le produit des deux mintermes, celui-ci est necessairement nul.
114

R EMARQUE 5. On prend la negation de chacun des membres de legalite, et lon ob(n)


(n)
tient : si i 6= j, alors Mi + Mj = 1. Ainsi, la somme de deux maxtermes distincts
vaut 1.

P ROPRI E T E

: Les mintermes forment une partition de lunite :


n 1
2X

(n)

mi

=1

i=0

P REUVE En effet, il y a un nombre pair de mintermes.


On les ordonne, dans cette somme, par indice croissant, puis on les regroupe
deux a` deux. Dans chacun de ces groupes, seul diff`ere laspect de la derni`ere variable.
On met les autres en facteur de la somme xn + xn , cest-`a-dire 1 : le facteur qui
subsiste est un minterme a` (n 1) variables.
n 1
2X
2n1
X1 (n1)
(n)
Donc
mi =
mi
.
i=0

i=0

Par recurrence, cette somme est e gale a` x1 + x1 , cest-`a-dire finalement 1.

Exercice 10. Le verifier dans le cas de deux variables.

R EMARQUE 6. Par negation (booleenne) de cette propriete, on obtient : le produit de


tous les maxtermes a` n variables est nul.
5 Formes canoniques dune fonction booleenne
5.1 Definition et theor`eme

D E FINITION 8 (M ON OMES
). Un monome est une fonction booleenne dans lexpression de laquelle ninterviennent que le produit et la negation booleennes.

P ROPRI E T E VI : Quelle que soit lexpression de la fonction booleenne, il est possible de la mettre sous la forme dune somme de monomes.

115

P REUVE En effet, comme elle ne fait intervenir que les trois operations booleennes,
il suffit de lui appliquer les r`egles du calcul booleen.
On developpe les negations (en appliquant les r`egles a + b = a b et a b =
a + b), jusqu`a ce quil ny ait plus de negations que sur les variables.
Puis on developpe les produits qui portent sur des sommes, en utilisant la distributivite du produit sur la somme.
On obtient ainsi une expression qui secrit sans parenth`eses, et qui ne contient
que des sommes de produits de variables e ventuellement niees.

P ROPRI E T E VII : Chaque monome peut ensuite e tre mis sous la forme dune
somme de mintermes.

P REUVE 2 :
En effet, si, dans lexpression de ce monome, toutes les variables interviennent,
cest dej`a un minterme.
Dans le cas contraire, il manque (par exemple) la variable a dans son expression : on la fait intervenir sous la forme (a + a). On developpe, les deux monomes
obtenus font intervenir la variable a.
Ou bien, il sagit de mintermes et le processus est termine, ou bien il manque
encore une variable, quon fait intervenir en utilisant le meme procede, et ainsi de
suite jusqu`a aboutir aux mintermes.

On fait e videmment disparatre du resultat, par idempotence, les occurrences multiples de mintermes, pour pouvoir e noncer le resultat suivant :

P ROPRI E T E VIII (F ORME CANONIQUE DISJONCTIVE ) : Toute


fonction
booleenne a` n variables (autre que la fonction nulle) peut se mettre sous la
forme dune somme de mintermes a` n variables.
Cette forme, unique, sappelle Forme Canonique Disjonctive (dans la suite,
FCD).

R EMARQUE 7. Lunicite de cette FCD permet la comparaison des fonctions booleennes


entre elles.
Par negation booleenne de ce resultat, on obtient :
116

P ROPRI E T E IX (F ORME CANONIQUE CONJONCTIVE ) : Toute


fonction
booleenne de n variables (autre que la fonction referentiel) peut se mettre
sous la forme dun produit de maxtermes a` n variables.
Cette forme, unique, est la Forme Canonique Conjonctive (FCC dans la suite).

5.2 Obtention des formes canoniques


La methode algebrique consiste a` :
tout developper pour mettre lexpression sous la forme dune somme,
dans chaque terme de cette somme, faire apparatre les valeurs qui ny figurent
pas.
E XEMPLE 8. On illustre cela :
f (a, b, c) = a + bc = a(b + b)(c + c) + (a + a)bc
= abc + abc + abc + abc + abc + abc = m3 + m4 + m5 + m6 + m7 .

Pour la FCC, on peut imaginer une methode analogue.


E XEMPLE 9. f (a, b, c) = a + bc = (a + b)(a + c) = (a + b + cc)(a + bb + c)
= (a + b + c) (a + b + c) (a + b + c) (a + b + c) = M5 M6 M7

R EMARQUE 8. Si on prend la negation de la FCD, on obtient bien sur une FCC... mais
pas celle de la fonction, celle de sa negation !
Il suffit de prendre la negation de la fonction, de calculer sa FCD puis de prendre
la negation du resultat.

Exercice 11. Obtenir la FCC de x + yz.

Il existe une autre methode pour obtenir ces formes canoniques : la methode des
diagrammes.

117

III. Representation et simplification des fonctions


1 Diagrammes de Karnaugh
1.1 Presentation
La representation des fonctions booleennes par diagrammes de Karnaugh-Veitch :
est fondee sur les proprietes des mintermes (ils realisent une partition de lunite),
et est copiee de la representation des ensembles par diagrammes dEuler-Venn
(les fameuses (( patates ))).
Ces derniers diagrammes deviennent rapidement inextricables quand le nombre
de variables augmente, cest pourquoi, dans les diagrammes de Karnaugh, on divise
systematiquement l(( univers )) (le referentiel E) en deux parties e gales en superficie
pour representer la partie concernee et son complementaire.
` chaque introduction de variable supplementaire, chaque case du precedent diaA
gramme est divisee en 2.
E XEMPLE 10. On obtient, par exemple :
a

b ab ab
b ab ab
Pour obtenir un diagramme de Karnaugh, on place dans ce diagramme les numeros
des mintermes :
H
HH
a
H
b
HH

E XEMPLE 11. Cas de trois variables :


les deux premi`eres colonnes correspondent a` a, les deux derni`eres a` a,
la premi`ere et la derni`ere colonne correspondent a` b, les deux centrales a` b,
enfin, la premi`ere ligne est associee a` c, la deuxi`eme a` c.
...ce qui donne

118

H
HH ab
HH
c
H

00 01

11 10

E XEMPLE 12. Cas de quatre variables :


HH
H ab
cd HHH

00 01

11 10

00

12

01

13

11

15 11

10

14 10

Dans un tel diagramme, chaque case represente un minterme. Les autres monomes
regroupent un nombre de cases qui est une puissance de 2, selon le nombre de variables
presentes.

Exercice 12. Faire un diagramme a` cinq variables.

Reponse :
HH
HHabc
de
HH

000 001 011

010 110 111 101 100

00

12

28

24

20

16

01

13

29

25

21

17

11

11

15

31

27

23

19

10

10

14

30

26

22

18

119

Cest-`a-dire :
les quatre premi`eres colonnes correspondent a` a, les quatre derni`eres a` a,
les deux premi`eres, et les deux derni`eres colonnes correspondent a` b, les quatre
centrales a` b,
les colonnes 1, 4, 5 et 8 a` c, les autres a` c,
les deux premi`eres lignes a` d, les deux derni`eres a` d,
enfin, la premi`ere et la derni`ere ligne sont associees a` e, les deux centrales a` e.
1.2 Utilisation
Les diagrammes peuvent e tre utilises (( en reunion )) comme (( en intersection )).

Ils permettent :
dobtenir la FCD dune fonction booleenne plus aisement que par le calcul
algebrique (utilise pour decouvrir la forme en question),
une premi`ere approche du probl`eme de la simplification des fonctions booleennes
(dans des cas simples et pour un petit nombre de variables)...
Utilisation des diagrammes de Karnaugh pour representer les fonctions booleennes...
En reunion . Soit par exemple f (a, b, c) = a + bc. Son diagramme est :
H
HH ab
HH
c
H

00 01

11 10

On lit aisement la FCD de f sur le diagramme : f (a, b, c) = m1 + m4 + m5 +


m6 + m7 .
En intersection . Soit f (a, b, c) = (a + b)(a + c).
On peint en rouge les cases correspondant a` a + b, et on note en italique et en
gras les nombres correspondant a` a + c :
H
HH ab
HH
c
H

00 01

11 10

La representation de f est contenue dans les cases rouges possedant les nombres
en italique et gras : on retrouve la meme FCD.
120

En complementation . Soit f (a, b, c) = a + bc, de diagramme :


H
HH ab
HH
c
H

00 01

11 10

Alors la negation de a + bc est dans les cases pas rouge : la FCD de f est m0 +
m2 + m3 .

Exercice 13 (Fonctions booleennes). Donner la forme canonique disjonctive de la


fonction booleeene dont lexpression est
f (a, b, c, d, e) = a [b e (c + d) + b (c d e + c d e)].

La simplification des fonctions booleennes doit e tre laissee aux methodes algebriques
dans les cas plus complexes, de mani`ere a` pouvoir affirmer avoir trouve une forme minimale, et e ventuellement toutes, si necessaire.
Il existe diverses methodes, nous nen exposerons ici quune seule, la methode de
Quine-Mac Cluskey, dite aussi methode des consensus.
2 Methode des consensus
La methode des consensus est une methode algebrique permettant :
detre certain dobtenir la forme minimale,
de les obtenir toutes.
Commencons par introduire la notion de consensus...
2.1 Les consensus
Lorsque, dans une somme booleenne, deux monomes admettent dans leur expression une et une seule variable qui se presente sous son aspect affirme dans lun et sous
son aspect nie dans lautre, on dit que ces deux monomes presentent un consensus (ou
sont en consensus).
Le consensus de ces deux monomes est alors le produit de toutes les autres variables des deux.

121

E XEMPLE 13. Les monomes a b d e et a c d f presentent un consensus, car le


premier contient a et le second a.
Le consensus de ces deux termes est b c d e f .

E XEMPLE 14. abc et bcd presentent un consensus (acd), quand abc et bcd dune part,
et abc et bcd dautre part, nen presentent pas.

Exercice 14. Trouvez tous les consensus de


f (a, b, c, d) = abc + acd + abcd + acd + bcd

P ROPRI E T E X (R E SULTAT FONDAMENTAL ) : Rajouter, a` une somme booleenne,


le consensus de deux termes de la somme (qui en presentent un) ne modifie pas sa
valeur.

P REUVE En effet, soit m et m deux termes de la somme ne contenant pas la variable a et ne presentant pas de consensus.
Alors le consensus de a m et de a m est m m , et on peut constater que
am+am +mm = am+am +(a+a)mm = am+am +amm+amm =
a m + a m .
2.2 La methode des consensus
Venons-en a` la methode proprement dite. Elle se deroule en trois e tapes...

Etape
preliminaire Developper lexpression pour quelle soit sous forme de somme
de monomes, et en suppprimer les termes redondants (par idempotence et application
de la r`egle n1) : on obtient ainsi lexpression de depart.
Toute autre tentative de simplification est, dans cette e tape, parfaitement inutile.

122

Obtention dune forme stable par consensus Repeter les deux phases suivantes
jusqu`a ce que lexpression obtenue ne soit plus modifiee :
1. Rajouter tous les consensus des termes qui en presentent.
2. Supprimer les termes redondants introduits (idempotence et r`egle n1 exclusivement).
R EMARQUE 9. Lintroduction des consensus fait parfois apparatre des redondances,
la suppression de celles-ci fait parfois apparatre de nouvelles possibilites de consensus, etc.

D E FINITION 9 (E XPRESSION STABLE , MON OMES


PRINCIPAUX ). Lexpression obtenue est dite stable du point de vue des consensus ; elle est unique.
Ses termes sappellent les monomes principaux (pour lexpression de depart).
La somme des monomes principaux dune expression booleenne est generalement
plus longue que lexpression de depart, quelquefois plus courte, mais, meme dans ce
cas, rien ne prouve quil nexiste pas une expression encore plus courte.
Cest pourquoi, dans tous les cas, une nouvelle e tape est necessaire.
E XEMPLE 15. Dans a + a b, les deux termes presentent un consensus, qui est b, et
on a alors a + a b = a + a b + b = a + b (comme on le sait, cest la r`egle n3).
Ici, il y a simplification.

E XEMPLE 16. Mais dans a b + a c, les deux termes presentent un consensus, qui est
b c, on a alors a b + a c = a b + a c + b c.
Ici, il apparat un terme de plus.

Exercice 15. Trouvez la forme stable par consensus de


f (a, b, c, d) = abc + acd + abcd + acd + bcd

123

Choix dun nombre minimal de monomes principaux


fonction booleenne a` simplifier.

On calcule la FCD de la

Pour chacun des mintermes de cette forme, on dresse la liste des monomes principaux qui le contiennent (dont ce minterme est un multiple).
Toute forme e gale a` lexpression donnee doit contenir tous les mintermes (cest-`adire, pour chacun dentre eux, au moins un des monomes principaux qui le contiennent).
On exprime cette condition en associant a` chaque monome principal une variable
booleenne binaire (lorsque celle-ci prend la valeur 1, cela signifie que ce monome doit
figurer dans toute forme representant la fonction a` simplifier) et en reprenant alors les
mintermes lun apr`es lautre.
Exprimer que ce minterme doit e tre contenu dans toute forme representant la fonction booleenne a` simplifier se fait en posant lequation booleenne dont le premier
membre est la somme des variables booleennes associees aux monomes principaux
qui contiennent ce minterme et dont le second membre est 1.
Ensuite, on forme le produit des premiers membres de ces diverses e quations (en
alg`ebre de Boole, un produit ne peut e tre e gal a` 1 que si tous ses facteurs sont e gaux a`
1).
On developpe ce produit, et on choisit le terme qui comporte le moins de facteurs
(ou lun de ceux qui comportent le moins de facteurs) : il correspond a` la (ou une)
forme minimale de lexpression de depart.
Exercice 16. On reconsid`ere
f (a, b, c, d) = abc + acd + abcd + acd + bcd
Trouvez sa FCD.
En deduire ses formes minimales.

2.3 Exercices corriges


Premier exercice :
Exercice 17. Appliquez la methode des consensus a`
f (a, b, c) = (a + b)(a + b + c)
124

1. On developpe : f (a, b, c) = ab + ac + ab + bc.


Il ny a pas de simplification possible par idempotence et r`egle 1 : cest donc
notre expression de depart.
2. Obtention dune forme stable par consensus.
ab, ac : pas de consensus,
ac, ab : consensus bc,
ab, ab : pas de consensus,
ac, bc : pas de consensus,
ab, bc : consensus ac,
ab, bc : pas de consensus,
Do`u f (a, b, c) = ab + ac + ab + bc + ac + bc.
Par idempotence : f (a, b, c) = ab + ac + ab + bc.
Rajouter des consensus ne change alors rien : cest notre forme stable.
Soient p1 , p2 , p3 , p4 les quatre monomes principaux.
3. La FCD...
HH
HH ab
c
HH

00 01

11 10

Do`u la FCD : m2 + m3 + m4 + m5 + m7 .
4. Choix dun nombre minimal de monomes principaux :
hhhh
hhhh
hhh mintermes
monomes principaux hhhhhhh

1
2
3
4

p3

X
X

X
X

p3
p4

p1

p1
p2

Tout minterme de la FCD doit e tre pris au moins une fois. Donc :

125

p2
p4

pour avoir m2 , pas le choix : il faut prendre p3 . Mais, comme on a pris p3 , on


a recupere m3 .
pour avoir m4 , il faut prendre p1 . Avec cela, on recolte m5 .
enfin, pour avoir m7 , on a le choix entre p2 et p4 .
Il y a donc deux formes minimales :
p1 , p2 , p3 ,
p1 , p3 , p4 .
Deuxi`eme exercice :
Exercice 18. Appliquez la methode des consensus a`
S = ab+ac

La somme des monomes principaux de S est a b + a c + b c.


Posons :
P1 = a b,
P2 = a c
P3 = b c.
La FCD de S est m1 + m3 + m6 + m7 .
m1 est contenu dans P2 . Le choix de P2 est donc obligatoire, ce que lon exprime
par lequation booleenne p2 = 1.
m3 est contenu dans P2 et P3 . On a donc le choix entre ces deux monomes, ce
que lon exprime par lequation booleenne p2 + p3 = 1 (evidemment, le choix
precedent rend cette condition inutile, mais on expose ici la methode).
m6 est contenu dans P1 , soit p1 = 1.
m7 est contenu dans P1 et P3 , soit p1 + p3 = 1.
Il faut donc developper le produit p2 (p2 + p3 )p1 (p1 + p3 ) = p1 p2 qui prouve que la
forme minimale (unique, dans cet exemple) de la fonction donnee est obtenue avec la
somme de P1 et de P2 ; il sagit, bien entendu, de a b + a c.
Troisi`eme exercice :
Exercice 19. Appliquez la methode des consensus a`
S = ac+abd+abc+abc+bcd+abc

126

1. Suppression des multiples : a c absorbe a b c


Il reste :
ac+abd+abc+abc+bcd
2. Premiers consensus :
ac+abd+abc+abc+bcd+bcd+ab+bc+abd+b
cd+acd+acd+acd+abd
3. Suppression des multiples :
a b absorbe a b c
b c absorbe a b c
Il reste :
ac+abd+bcd+bcd+ab+bc+abd+bcd+acd+acd+acd+abd
4. Nouveaux consensus (on na fait figurer quune seule fois chacun dentre eux) :
ac+abd+bcd+bcd+ab+bc+abd+bcd+acd+acd+acd+
abd+abd+cd+ad+bcd+bd+abc+b d+bcd+abc+abc+cd
5. Suppression des multiples :
a b absorbe a b d et a b c,
b c absorbe b c d et a b c,
c d absorbe b c d et a c d
a d absorbe a b d et a c d,
b d absorbe a b d et b c d,
b d absorbe b c d et a b d
c d absorbe a c d et b c d
Il reste : a c + a b + b c + c d + a d + b d + a b c + b d + c d
6. Nouveaux consensus (on na fait figurer quune seule fois chacun dentre eux) :
ac+ab+bc+cd+ad+bd+abc+bd+cd+bc+abd+bcd+acd
7. Suppression des multiples :
b d absorbe a b d,
c d absorbe a c d et b c d,
b c absorbe a b c
Il reste : a c + a b + b c + c d + a d + b d + b d + c d + b c
8. Un dernier tour de consensus montre que cette expression est stable par consensus.
127

A laide dun diagramme de Karnaugh, on determine les mintermes contenus dans


chacun des monomes principaux.
On en deduit la FCD, et, dans le tableau qui suit, on fait apparatre les monomes
principaux et les mintermes quils contiennent :
```
```minterme
```
monome
`

m0

m1

P1 = a c

m2

P2 = a b
P3 = b c

P4 = c d
P5 = a d

P8 = c d

m5

m6

m7

m9

m10

m13

m14

m15

m8

P6 = b d
P7 = b d

m4

P9 = b c

La premi`ere colonne, par exemple, sinterpr`ete comme suit : dans toute forme
(reduite ou non) pretendant representer lexpression donnee au depart, il est necessaire
quun monome au moins contienne le minterme m0 , puisque ce dernier figure dans la
FCD.
Cette condition peut e tre realisee en choisissant le monome principal P1 , ou P3 , ou
P5 , ou P7 . Elle peut e tre exprimee par lequation booleenne p1 + p3 + p5 + p7 = 1, etc.
On obtient lequation booleenne :
(p1 + p3 + p5 + p7 )(p1 + p3 + p4 )(p5 + p7 + p8 )(p1 + p2 + p5 )(p1 + p2 + p4 + p6 )(p2 +
p5 + p8 + p9 )(p2 + p6 + p9 )(p3 + p7 )(p3 + p4 )(p7 + p8 )(p4 + p6 )(p8 + p9 )(p6 + p9 ) = 1
On supprime e videmment les conditions qui sont automatiquement realisees lorsque
dautres le sont (si p3 + p7 vaut 1, alors p1 + p3 + p5 + p7 aussi), il reste
(p1 + p2 + p5 )(p3 + p7 )(p3 + p4 )(p7 + p8 )(p4 + p6 )(p8 + p9 )(p6 + p9 ) = 1
On developpe le produit, mais pas le premier facteur, car il est le seul a` contenir
les monomes principaux p1 , p2 et p5 , donc on sait dej`a quil faudra en prendre un (et
un seul, pour une forme minimale...) des trois.
On obtient
(p1 +p2 +p5 )(p3 +p4 p7 )(p8 +p7 p9 )(p6 +p4 p9 ) = (p1 +p2 +p5 )(p3 p8 p3 p7 p9 +p4 p7 p8 +
p4 p7 p9 )(p6 + p4 p9 ) = (p1 + p2 + p5 )(p3 p6 p8 + p3 p4 p8 p9 + p3 p6 p7 p9 + p3 p4 p7 p9 +
p4 p6 p7 p8 + p4 p7 p8 p9 + p4 p6 p7 p9 + p4 p7 p9 ) = (p1 + p2 + p5 )(p3 p6 p8 + p3 p4 p8 p9 +
p3 p6 p7 p9 + p4 p6 p7 p8 + p4 p7 p9 ) = 1
128

On constate quil est possible de realiser la condition de la seconde parenth`ese en


ne choisissant que 3 monomes principaux : P3 , P6 et P8 , ou encore P4 , P7 et P9 (les
autres choix possibles en necessitent 4).
En plus, il faut choisir lun des trois de la premi`ere parenth`ese, comme on la dit
plus haut.
On obtient donc 6 formes minimales :

bc+bd+cd
ou

cd+bd+bc

ac

ou
ab

ou
ad

IV. Complement : Resolution dequations booleennes


1 Presentation de la methode
Soit une e quation booleenne de la forme la plus generale :
f (x1 , x2 , . . . , xn ) = g(x1 , x2 , . . . , xn )
1. Puisque A = B A B = 0, on se ram`ene immediatement a` une e quation
du type :
F (x1 , x2 , . . . , xn ) = 0
2. On met F sous la forme :
F (x1 , x2 , . . . , xn ) = x1 r + x1 s = 0
Cette derni`ere e quation est e quivalente, en alg`ebre de Boole, aux deux e quations

(1) x1 r = 0
(2) x1 s = 0
3. Une e quation du type de (2) se resout par introduction dune variable auxiliaire
y1 . En effet,
x1 s = 0 y1 E, x1 = y1 s
.
4. Dans ces conditions, x1 = y1 + s, valeur que lon porte dans (1), pour obtenir
lequation y1 r + r s = 0, qui est elle-meme e quivalente aux deux e quations
129

(3) y1 r = 0
.
(4) r s = 0

En utilisant la variable auxiliaire z1 , (3) se resout comme (2) par :


z1 E, y1 = z1 + r

5. Finalement, lequation proposee est e quivalente aux e quations :


(5) x1 = (z1 + r) s ;(qui donne les valeurs de x1 )
(4) r s = 0 (qui ne comporte plus que n-1 variables).
On recommence donc les memes operations pour x2 dans (4), et ainsi de suite.

2 Exercice

Exercice 20. Resoudre lequation : x + y = x + z.

Exercice 21. Resoudre lequation : x y + x z = 0

Exercice 22. Resoudre le syst`eme dequations :

nx + y = x + z
xy =xz

V. Exercices
Exercice 23 (Methode des consensus). Utiliser la methode des consensus pour obtenir toutes les formes minimales des fonctions booleennes suivantes :
1. Celles des precedents exemples et exercices.
2. d e + a c + b c + a b + a d e + a d e
130

Exercice 24. Pour chacune des expressions suivantes...


E1 = xyz + xyz + xyz + xyz
E2 = xyz + xyz + xyz + xyz
E3 = xyz + xyz + xyz + xyz + xyz
donner la forme minimale en exploitant les diagrammes de Karnaugh

Exercice 25 (Implicants premiers). Un monome de P est un implicant premier de


lexpression booleenne E si P + E = E et tout autre monome inclus P na pas cette
proprite.
Etant donne E = xy + xyz + xyz, montrer que xz est un implicant premier de E.

Reponse : xz + E = E, x + E 6= E et z + E 6= E.
Exercice 26 (Application de la methode des consensus). Utiliser la methode du consensus pour trouver une forme minimale de E et F avec E = xy + xyz + xyz et
F = xy + yt + xyz + xyzt.

Exercice 27 (Application de la methode de Karnaugh). Trouver une forme minimale


de E = xy + xyz + xyz + xyzt.

Exercice 28 (Composition de la methode de Karnaugh). On consid`ere deux fonctions booleennes u et v des quatres variables a, b, c, d definies par u = (a + d)(b + c)
et v = (a + c)(b + d).
1. Dessiner les diagrammes de Karnaugh de u et de v.
2. En deduire le diagramme de Karnaugh de w = uv + uv.
131

3. Donner une forme minimale pour w

Exercice 29 (Fonction caracteristique des parties dun ensemble). On appelle fonction caracteristique de la partie A de lensemble E (E 6= , A 6= , A E) lapplication fA : E {0, 1}, definie par
x A, fA (x) = 1,
x E \ A, fA (x) = 0.
On pose de plus x E, f (x) = 0 et fE (x) = 1.

Etudier
les fonctions caracteristiques dune reunion, dune intersection de deux
parties, ainsi que celle du complementaire dune partie.

Exercice 30. On definit, dans {0, 1}, trois lois de composition, de mani`ere que, x
E, on ait fA (x) fB (x) = fAB (x), fA (x) + fB (x) = fAB (x) et fA (x) = fE\A (x).
Montrer que ({0, 1}, +, , ) est une alg`ebre de Boole binaire.

Exercice 31 (Fonctions booleennes universelles). On consid`ere une fonction booleenne


de deux variables, mise sous forme canonique disjonctive : f (x, y) = x y + x
y + x y + x y, o`u ( , , , ) {0, 1}4
Montrer que cette fonction nest susceptible dexprimer la negation que si = 1
et = 0.
Dans ce cas, montrer quil ny a que deux couples de valeurs possibles pour
et , si lon veut que f puisse aussi exprimer la somme x + y et le produit x y.

Fin du Chapitre

132

Chapitre 10
Calcul Propositionnel
I. Introduction
1 Objets de la logique
Lobjet de la Logique est danalyser le raisonnement humain et, si possible, de le
formaliser de mani`ere a` le rendre aussi independant que possible des diverses contingences materielles qui pourraient influer sur lui.
Cest une discipline philosophique, dont on e tudiera les aspects mathematiques.
Cette formalisation poursuit aussi dautres buts :
essai dunification de diverses theories qui presentent, du point de vue des raisonnements qui sont utilises, des analogies,
essai de production automatique de resultats dans certains domaines.
R EMARQUE 1. Independamment de la (( beaute theorique )) de la chose, le premier
point presente un interet pratique : faire profiter telle branche de la science des resultats
qui pourraient avoir e te obtenus ailleurs.
Cest surtout le deuxi`eme aspect qui nous occupera dans ce chapitre (et les suivants).
2 Production automatique
Chacun sait que, si un ordinateur calcule vite et bien, il est parfaitement incapable
de produire de lui-meme quelque (( raisonnement )) que ce soit.
Mais sil e tait possible de programmer les raisonnements e tudies par la logique
sous forme de calculs, precisement, il serait raisonnable de penser que lordinateur
serait alors, de ce point de vue aussi, bien plus rapide et efficace que lesprit humain.

133

Les divers domaines de recherche de ce que lon appelle de nos jours l(( Intelligence Artificielle )) convergent presque tous vers ce but.
Meme si certains espoirs ont e te decus, comme dans le domaine de la traduction
automatique (on arrive tout juste a` traduire quelques textes techniques (( standard )), et
il sav`ere tr`es difficile de (( donner le sens des nuances )) a` un algorithme...), de nombreux resultats interessants et prometteurs ont e te obtenus dans divers autres domaines
(diagnostic medical, etc.)
3 Des probl`emes de levidence
Avant de rechercher a` (( programmer un raisonnement )), il convient de savoir precisement
de quoi il sagit.
Il faut apprendre a` dissequer nos demarches intellectuelles, et, avant tout, ne pas se
laisser paralyser par l(( e vidence )) : rien ne lest pour un ordinateur. Le plus difficile
est peut-etre de pourchasser, pour les expliciter clairement, tous les sous-entendus qui
nous permettent de produire des raisonnements intelligibles.
Finalement, il convient toujours dadapter son discours au niveau de son auditoire :
le niveau de lordinateur, de ce point de vue, peut e tre considere comme e gal a` zero.

II. Les fondements de la logique des Propositions


1 Les Propositions
1.1 Articulation dun raisonnement
Lhomme exprime son raisonnement par un discours, et ce discours utilise une
langue (une langue naturelle, francais, anglais,...).
Dune mani`ere generale, ce discours est articule en phrases, dun niveau de complexite variable, et cest letude de ces (( e nonces )) que se propose de faire la logique.
1.2 Les propositions, intuitivement
D E FINITION 1 (P ROPOSITION ). Parmi tous les e nonces possibles qui peuvent e tre
formules dans une langue, on distingue ceux auxquels il est possible dattribuer une
(( valeur de verite )) : vrai ou faux.

Ces e nonces porteront le nom de propositions .

134

E XEMPLE 1. Ainsi, (( Henri IV est mort assassine en 1610 )), (( Napoleon Bonaparte a
e te guillotine en 1852 )) sont des propositions, puisquon peut leur attribuer une valeur
de verite ((( vrai )) pour la premi`ere, (( faux )) pour la seconde).

R EMARQUE 2. Ce nest pas la logique qui decide de ce qui est vrai et de ce qui est
faux : les valeurs de verite sont attribues en-dehors de la logique.

Exercice 1. Si je dis : (( la presente affirmation est vraie )), cette affirmation poss`edet-elle une valeur de verite ?

Exercice 2. Les affirmations suivantes sont-elles des propositions ?


1. (( laffirmation qui suit est vraie )),
2. (( laffirmation qui prec`ede est fausse )).

1.3 Des e nonces netant pas des propositions


Un e nonce (( hypothetique )) comme (( Dans six mois, il y aura une exceptionnelle
periode de beau temps )) est exclu du domaine des propositions et donc de notre e tude.
Il en est de meme pour ce quon appelle les (( paradoxes )) de la logique comme,
par exemple, celui du menteur.
En effet, il est impossible dattribuer une valeur de verite a` ces e nonces : nous les
rejetons en dehors du cadre des propositions.
1.4 Les propositions, plus rigoureusement
Dune mani`ere generale et plus precise, les (( propositions )) quetudie la logique
des valeurs de verite repondent aux axiomes suivants :
Principe de non-contradiction : Une proposition ne peut e tre simultanement vraie
et fausse.
Principe du tiers-exclu : Une proposition est vraie ou fausse (il ny a pas dautre
possibilite).
Notons a` nouveau que lobjet de la logique nest pas de savoir qui attribue les valeurs
de verite, ni sur quels crit`eres, mais seulement de manipuler ces valeurs de verite.
135

1.5 Dautres logiques


Il existe, bien entendu, dautres logiques :

fondees sur dautres axiomes,


qui admettent une troisi`eme (( valeur de verite )) : le (( possible )),
qui attribuent des (( coefficients de vraisemblance )) aux e nonces,
etc.

Ces logiques sortent du cadre de notre e tude.


2 Les connecteurs logiques
Lanalyse logique dune phrase (reconnue comme proposition) fait apparatre des
sous-phrases qui constituent elles-memes des propositions.
Ces (( membres de phrases )) sont relies entre eux par des (( connecteurs logiques )),
de la mani`ere suivante...
2.1 Analyse logique des propositions
Considerons lenonce : (( Jai obtenu une mauvaise note a` cet examen parce que je
nai pas assez travaille ou parce que le cours est trop difficile )).
On suppose quil est possible dattribuer une valeur de verite a` cet e nonce (( global )), ce qui le classe parmi les propositions.
On peut alors mener ce quen grammaire francaise on appelle lanalyse logique de
cette phrase, de mani`ere a` en extraire les propositions (au sens grammatical du terme) :
(( Jai obtenu une mauvaise note a` cet examen )), (( je nai pas assez travaille )), (( le cours
est trop difficile )), qui sont aussi des propositions au sens logique du terme.
Ces propositions, au sens grammatical du terme, sont reliees entre elles par (( parce
que )) et par (( ou )), qui sont grammaticalement parlant des conjonctions (respectivement de subordination et de coordination) :
parce que : introduit habituellement un lien de (( cause a` effet )),
ou : se contente de juxtaposer les propositions (au meme niveau).

2.2 Vers une formalisation


Bref, cette proposition exprime que (( ma mauvaise note est consequence de lune
(au moins) des deux causes suivantes :
136

mon manque de travail,


lexcessive difficulte du cours )).
Autrement pose (il sagit dun debut de formalisation) :
((manque de travail) ou (cours trop difficile)) entrane (ma mauvaise note).
R EMARQUE 3. Il ne faut pas sous-estimer la difficulte de ce travail danalyse :
le langage courant est souvent imprecis ou ambigu,
il faut souvent se livrer a` une veritable interpretation pour parvenir a` formaliser
une phrase.
R EMARQUE 4. Lanalyse en logique des propositions sarrete au niveau des connecteurs logiques (qui vont e tre presentes).
Elle ne permet pas de prendre en compte certaines nuances, la concordance des
temps, ou dautres liens qui peuvent exister entre des propositions.
E XEMPLE 2. En logique des propositions, les propositions (( il y a des gens qui font
ceci ou cela )) et (( les gens font ceci ou cela )) sont simplement differentes, et les connecteurs logiques ne permettent pas detablir un rapport semantique (au niveau du sens)
entre les deux.

Dune mani`ere generale, le calcul propositionnel ne se preoccupe que des valeurs


de verite, et pas du tout des liens semantiques qui peuvent exister entre des propositions. Ces derni`eres sont reliees entre elles syntaxiquement par des connecteurs comme
(( ou )) ou (( entrane )).
Les connecteurs logiques sont donc des symboles qui permettent de produire des
propositions ((( plus complexes ))) a` partir dautres propositions ((( plus simples ))).
Ils sont definis (axiomatiquement) a` partir de leurs tables de verite.
2.3 Tables de verite des connecteurs logiques
Disjonction logique :

Connecteur (( ou )), symbole .

` partir de deux propositions P et Q, ce connecteur permet la construction de la


A
nouvelle proposition (P ou Q) [notee P Q], dont la valeur de verite est definie en
fonction de celles de P et de Q par la table de verite :

137

P Q

Le (( ou )) dont il sagit, comme lindique la table de verite, est le (( ou )) inclusif.


Cest la definition, qui est conforme a` lusage general qui en est fait dans la langue
francaise.
R EMARQUE 5. Meme si lon conteste cette derni`ere assertion, par exemple en produisant le fameux exemple du (( fromage ou dessert )) (dans lequel le (( ou )) semble
bien e tre exclusif dans lesprit du restaurateur)... IL FAUT traduire un (( ou )) par une
disjonction logique.
Cette r`egle de traduction vient de ce que :
cette interpretation ne risque pas de conduire a` des fautes de raisonnement (alors
que le traduire par un (( ou exclusif )) peut mener a` une telle erreur),
et aussi parce quil y aura toujours un plus grand nombre de solutions en utilisant
un (( ou )) inclusif et quil est plus facile deliminer une solution qui vous deplat
que den inventer une que le syst`eme na pas propose.
Conclusion : on ne traduira un (( ou )) par un (( ou exclusif )) que dans le cas o`u
mention explicite est faite de lexclusion mutuelle des possibilites.
Conjonction logique :

Connecteur (( et )), symbole .

` partir de deux propositions P et Q, ce connecteur permet la construction de la


A
nouvelle proposition (P et Q) [notee P Q], dont la valeur de verite est definie en
fonction de celles de P et de Q par la table de verite :

Negation logique :

P Q

Connecteur (( non )), symbole .

` partir dune proposition P , ce connecteur permet de construire la nouvelle proA


position (non P ) [notee P ], dont la valeur de verite est definie en fonction de celle
de P par la table de verite :
138

Implication logique :

Connecteur (( si...alors )), symbole .

` partir de deux propositions P et Q, ce connecteur permet la construction de la


A
proposition (Si P , alors Q) [notee P Q], dont la valeur de verite est definie en
fonction de celles de P et de Q par la table de verite :
P

P Q

R EMARQUE 6. La proposition (( Si P , alors Q )) est vraie, quelle que soit la valeur de


verite de la proposition Q, lorsque la proposition P est fausse.
E XEMPLE 3. La proposition : (( Si le pole Nord est lendroit le plus chaud de la
plan`ete, alors les poules ont des dents )) doit e tre consideree comme ayant la valeur
de verite (( vrai )).
Le connecteur logique (( )) ne contient aucune idee de raisonnement, et ne soccupe
nullement (on la dit) des liens semantiques qui peuvent exister entre la temperature
qui r`egne au pole Nord et la dentition des poules.
Il sagit simplement dune proposition, qui forme un tout, et qui a la valeur de verite
(( vrai )) lorsque, notamment, P et Q ont toutes les deux la valeur de verite (( faux )).

Exercice 3. Trouver un raisonnement qui donne la valeur de verite de la proposition :


(( Si Napoleon et Jules Cesar sont une seule et meme personne alors 5 = 0 )).
On se souviendra que Napoleon a vecu 52 ans et Jules Cesar 57...

La mani`ere de mener un raisonnement qui utilise e ventuellement des propositions


qui se presentent sous la forme dimplications logiques est lobjet de la theorie de la
deduction qui sera e tudiee plus loin.
139

e quivalence logique :

Connecteur (( si et seulement si )), notation : .

` partir de deux propositions P et Q, ce connecteur permet la construction de la


A
nouvelle proposition (P si et seulement si Q) [notee P Q], dont la valeur de
verite est donnee par la table de verite :
P

P Q

R EMARQUE 7. Meme remarque que pour limplication logique : lequivalence logique de deux propositions fausses est une proposition vraie.
2.4 Exercices
Exercices corriges
Exercice 4. En notant P et Q les affirmations suivantes :
P = (( Jean est fort en Maths )),
Q = (( Jean est fort en Chimie )),
representer les affirmations qui suivent sous forme symbolique, a` laide des lettres P
et Q et des connecteurs usuels.
1. (( Jean est fort en Maths mais faible en Chimie ))
2. (( Jean nest fort ni en Maths ni en Chimie ))
3. (( Jean est fort en Maths ou il est a` la fois fort en Chimie et faible en Maths ))
4. (( Jean est fort en Maths sil est fort en Chimie ))
5. (( Jean est fort en Chimie et en Maths ou il est fort en Chimie et faible en Maths ))

Reponses : P (Q) ; (P ) (Q) ; P (P Q) ; Q P ; (P Q) (P Q).


Exercice 5. En notant P , Q et R les trois affirmations suivantes :
P = (( Pierre fait des Maths ))
Q = (( Pierre fait de la Chimie ))
R = (( Pierre fait de lAnglais ))
representer les affirmations qui suivent sous forme symbolique, a` laide des lettres P ,
Q, R et des connecteurs usuels.
140

1. (( Pierre fait des Maths et de lAnglais mais pas de Chimie ))


2. (( Pierre fait des Maths et de la Chimie mais pas a` la fois de la Chimie et de
lAnglais ))
3. (( Il est faux que Pierre fasse de lAnglais sans faire de Maths ))
4. (( Il est faux que Pierre ne fasse pas des Maths et fasse quand meme de la chimie ))
5. (( Il est faux que Pierre fasse de lAnglais ou de la Chimie sans faire des Maths ))
6. (( Pierre ne fait ni Anglais ni Chimie mais il fait des Maths ))

Reponses : P R (Q) ; (P Q) ((Q R)) ; (R (P )) ; ((P ) Q) ;


(R) (Q) P .

Exercice 6. Enoncer
la negation des affirmations suivantes en e vitant demployer
lexpression : (( il est faux que ))
1. (( Sil pleut demain ou sil fait froid je ne sortirai pas ))
2. (( Le nombre 522 nest pas divisible par 3 mais il est divisible par 7 ))
3. (( Ce quadrilat`ere nest ni un rectangle ni un losange ))
4. (( Si Paul ne va pas travailler ce matin il va perdre son emploi ))
5. (( Tout nombre entier impair peut e tre divisible par 3 ou par 5 mais jamais par
2 ))
6. (( Tout triangle e quilateral a ses angles e gaux a` 60 ))

Reponses :
1. Sil pleut demain ou sil fait froid je sortirai
2. Le nombre 522 est divisible par 3 ou il nest pas divisible par 7
3. Ce quadrilat`ere est un rectangle ou un losange
4. Paul nira pas travailler ce matin mais il ne perdra pas son emploi
5. Il existe un nombre entier impair divisible par 2
6. Il existe un triangle e quilateral dont les angles ne sont pas e gaux a` 60

Exercice 7. Quelles sont les valeurs de verite des propositions suivantes ?


1. vaut 4 et la somme des angles dun triangle vaut 180
2. vaut 3,141592... implique que la somme des angles dun triangle vaut 180
141

3. vaut 4 implique que la somme des angles dun triangle vaut 182
4. Il nest pas vrai quun entier impair ne puisse pas e tre divisible par 6
5. Si 2 est plus grand que 3 alors leau bout a` 100C
6. Si 6 est plus petit que 7 alors 7 est plus petit que 6
7. Si 7 est plus petit que 6 alors 6 est plus petit que 7
8. 84 est divisible par 7 implique que 121 est divisible par 11
9. Si 531617 + 1 est divisible par 7 alors 531617 + 1 est plus grand que 7
10. Si 531617 + 1 est divisible par 7 alors 531617 13 est divisible par 43

11. La decimale de qui porte le numero 10400 est 3 implique que si ce nest pas 3
alors cest 3.

Reponses : F ; V ; V ; F ; V ; F ; V ; V ; V ; F ; V.
Exercice 8. Partant des deux affirmations P et Q, on peut en construire une autre,
notee P Q, batie sur le mod`ele : (( ni P , ni Q )).
Cette operation est-elle une connexion ? Si oui, quelle est sa table de verite ?

Reponse : cest une connexion, puisque P Q = (P ) (Q).


Exercices sans correction
Exercice 9. A et B sont des variables propositionnelles, susceptibles de representer
nimporte quelles propositions.
Formaliser, a` laide de connecteurs logiques appropries, les e nonces suivants :
1. (( A si B ))
2. (( A est condition necessaire pour B ))
3. (( A sauf si B ))
4. (( A seulement si B ))
5. (( A est condition suffisante pour B ))
6. (( A bien que B ))
7. (( Non seulement A, mais aussi B ))
8. (( A et pourtant B ))
9. (( A a` moins que B ))
10. (( Ni A, ni B ))
142

Exercice 10. Les variables propositionnelles N et T serviront, dans cet exercice, a`


representer (respectivement) les propositions (( Un e tudiant a de bonnes notes )) et (( Un
e tudiants travaille )).
A` laide des variables propositionnelles N et T , formaliser les propositions suivantes (si, pour lune ou lautre dentre elles, la traduction vous parat impossible,
dites-le et expliquez pourquoi) :
1. Cest seulement si un e tudiant travaille quil a de bonnes notes.
2. Un e tudiant na de bonnes notes que sil travaille.
3. Pour un e tudiant, le travail est une condition necessaire a` lobtention de bonnes
notes.
4. Un e tudiant a de mauvaises notes, a` moins quil ne travaille.
5. Malgre son travail, un e tudiant a de mauvaises notes.
6. Un e tudiant travaille seulement sil a de bonnes notes.
7. A` quoi bon travailler, si cest pour avoir de mauvaises notes ?
8. Un e tudiant a de bonnes notes sauf sil ne travaille pas.

3 Variables et Formes Propositionnelles


3.1 Definitions
Comme le calcul propositionnel ne soccupe que des valeurs de verite, il est possible, dans une expression logique, de remplacer une proposition donnee par un symbole (en general, une lettre de lalphabet majuscule), ou variable propositionnelle.
D E FINITION 2 (F ORMES PROPOSITIONNELLES ). Les expressions ainsi obtenues sont
appelees formes propositionnelles .

R EMARQUE 8. Ce ne sont plus des propositions, en ce sens quelles nont en general


pas de valeur de verite determinee.
Cette derni`ere est une fonction des valeurs de verite des variables propositionnelles
qui interviennent dans lexpression de la forme propositionnelle consideree.

Exercice 11. Combien de lignes contient la table de verite dune forme propositionnelle qui depend de n variables ?
143

Reponse : 2n .
3.2 R`egles de formation

P ROPRI E T E I : Les r`egles (de syntaxe) qui permettent de former des formes propositionnelles correctes sont les suivantes :
Toute variable propositionnelle est une forme propositionnelle
Si F et G sont des formes propositionnelles, alors (F ), (F ) (G), (F )
(G), (F ) (G) et (F ) (G) sont des formes propositionnelles.
Lorsquon remplace, dans une forme propositionnelle, les variables propositionnelles par des propositions, lassemblage obtenu est une proposition.
Cependant, une forme propositionnelle nest pas une proposition : A B nest
ni vrai ni faux.

P ROPRI E T E II (R E` GLES DE PRIORIT E DES CONNECTEURS LOGIQUES ) : Les


conventions de priorite des connecteurs logiques sont les suivantes (par ordre de
priorite decroissante) :
la negation,
la conjonction et la disjonction (au meme niveau),
limplication et lequivalence (au meme niveau).

E XEMPLE 4. A B C doit e tre interprete par ((A) B) C et A B C


na pas de sens, car les deux connecteurs ont meme niveau de priorite.

P ROPRI E T E III (A SSOCIATIVIT E DES OP E RATEURS ET ) : Les operateurs


et sont associatifs :
(A B) C = A (B C) = A B C,
(A B) C = A (B C) = A B C.
Mais le parenthesage est obligatoire quand et se trouvent dans la meme proposition, puisquil ny a pas de priorite entre et : (A C) C 6= A (B C).

144

R EMARQUE 9. Limplication nest pas associative : A (B C) 6= (A


B) C. Donc les parenth`eses sont obligatoires.
Il en est de meme pour eqv, et a fortiori quand ces deux operateurs sont melanges
dans une meme proposition.

Exercice 12. Quelles sont les facons de placer des parenth`eses dans p q r afin
dobtenir lexpression correcte dune forme propositionnelle ? Determiner la table de
verite de chacune des formes obtenues. Que remarque-t-on quand les trois propositions
sont fausses ?

Reponses : 1) (p) (q (r)) ; 2) ((p) q) (r) ; 3) ((p q)) (r) ; 4)


(p (q (r))) ; 5) ((p q) (r)).
Tables de verite :
p

V
V
V
V
F
F
F
F

V
V
F
F
V
v
F
F

V
F
V
F
V
F
V
F

F
V
F
F
V
V
V
V

F
V
F
F
F
V
F
V

F
F
F
F
F
F
F
V

F
F
F
F
V
F
V
V

V
F
V
F
V
F
V
V

On remarque que la proposition obtenue est vraie quelle que soit la facon de placer les
parenth`eses.
3.3 Exercices
Exercices corriges
Exercice 13. Construire les tables de verite des formes propositionnelles suivantes :
1. (p) q

2. (p) (p q)
3. ((p) (q))

4. (p q) (q)

5. (p q) (q p)

6. (p (q)) (q (p))
145

7. (p (q)) ((p) q)
8. p ((p) p)

Reponse :
p

V
V
F
F

V
F
V
F

F
F
V
F

V
V
V
F

V
V
V
F

F
V
V
V

V
V
V
V

F
V
V
V

V
F
F
V

V
V
V
V

Exercice 14. Faire de meme avec


1. (p q) (r)

2. p ((q r))

3. (p) ((q) r)

4. (p r) (r (p))

5. (p (q)) (q r)

6. (p (q)) ((p) r)
7. (p (r)) (q (r))

8. (p q) ((q r) (p r))

Reponse :
p

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
V
V
V
V
V
F
V

V
V
V
V
F
V
V
V

V
V
V
V
V
F
V
V

V
F
V
F
V
V
V
V

V
F
V
V
V
V
V
V

V
F
V
F
V
V
V
V

V
V
F
V
V
V
V
V

V
V
V
V
V
V
V
V

146

Exercices sans correction


Exercice 15 (Les animaux de la maison). Formalisez, en logique des propositions :
1. Les seuls animaux de cette maison sont des chats.
2. Tout animal qui aime contempler la lune est apte a` devenir un animal familier.
3. Quand je deteste un animal, je levite soigneusement.
4. Aucun animal nest carnivore, a` moins quil naille roder dehors la nuit.
5. Aucun chat ne manque jamais de tuer les souris.
6. Aucun animal ne sattache jamais a` moi, sauf ceux qui sont dans cette maison.
7. Les panth`eres ne sont pas aptes a` devenir des animaux familiers.
8. Aucun animal non carnivore ne tue de souris.
9. Je deteste les animaux qui ne sattachent pas a` moi.
10. Les animaux qui vont roder dehors la nuit aiment toujours contempler la lune.

Exercice 16 (Les exercices de Logique). Faire de meme avec


1. Quand un e tudiant resout un exercice de logique sans soupirer, vous pouvez e tre
sur quil le comprend.
2. Ces exercices de logique ne se presentent pas sous la forme habituelle.
3. Aucun exercice de logique facile ne donne mal a` la tete.
4. Les e tudiants ne comprennent pas les exercices de logique qui ne se presentent
pas sous la forme habituelle.
5. Les e tudiants ne soupirent jamais devant un exercice de logique, a` moins quil
ne leur donne mal a` la tete.

Exercice 17 (Mes idees sur les chaussons aux pommes). Toujours pareil avec
1. Toute idee de moi qui ne peut sexprimer sous forme de syllogisme est vraiment
ridicule.
2. Aucune de mes idees sur les chaussons aux pommes ne merite detre notee par
e crit.
3. Aucune idee de moi que je ne parviens pas a` verifier ne peut e tre exprimee sous
forme de syllogisme.
147

4. Je nai jamais didee vraiment ridicule sans la soumettre sur le champ a` mon
avocat.
5. Mes reves ont tous trait aux chaussons aux pommes.
6. Je ne soumets aucune de mes idees a` mon avocat si elle ne merite pas detre
notee par e crit.

Exercice 18 (Les mati`eres enseignees a` lIUT). Encore pareil avec


1. Aucune mati`ere nest primordiale, sauf lACSI.
2. Toute mati`ere enseignee par des professeurs dynamiques est susceptible de plaire
aux e tudiants.
3. Je ne travaille pas les mati`eres que je naime pas.
4. Les seules mati`eres interessantes sont les mati`eres informatiques.
5. Aucune mati`ere informatique nevite labstraction.
6. Aucune mati`ere ne me reussit, excepte les mati`eres interessantes.
7. Les mathematiques ne sont pas susceptibles de plaire aux e tudiants.
8. Aucune mati`ere non primordiale ne tombe dans labstraction.
9. Je naime pas les mati`eres qui ne me reussissent pas.
10. LACSI est enseignee par des professeurs dynamiques.

III. Premier point de vue : la Logique des valeurs de


verite
1 Fonctions de verite
Soit F une forme propositionnelle, dans lexpression de laquelle interviennent les
variables propositionnelles P1 , P2 , P3 , . . . , Pn .
` chacune de ces variables propositionnelles, on associe une variable booleenne
A
(generalement la meme lettre de lalphabet, mais en minuscules), qui represente la
valeur de verite quelle peut prendre (faux ou vrai, F ou V, 0 ou 1).
D E FINITION 3 (F ONCTION DE V E RIT E DE F ). La fonction de verite de F est la fonction booleenne F des n variables binaires concernees, obtenue de la mani`ere suivante :

148

Si F est de la forme P , o`u P est une variable propositionnelle, alors F (p) = p.


Si F est de la forme G, o`u G est une forme propositionnelle, alors F = G .
Si F est de la forme G H , o`u G et H sont des formes propositionnelles, alors
F = G + H .
Si F est de la forme G H , o`u G et H sont des formes propositionnelles, alors
F = G H .
Si F est de la forme G H , o`u G et H sont des formes propositionnelles,
alors F = G + H .
Si F est de la forme G H , o`u G et H sont des formes propositionnelles,
alors F = G H + G H .

E XEMPLE 5. Si F = P Q, alors F = p + q.

E XEMPLE 6. Si G = Q P , alors G = Q + P = q + p.

R EMARQUE 10. On remarque que les deux fonctions de verites des exemples precedents
sont identiques. On en deduit que F et G sont logiquement e quivalentes. G est appelee
implication contraposee de limplication F .

E XEMPLE 7. Soit F = A B (B C). On a alors :


F (a, b, c) = a + b b + c + (a + b) (b + c) = a b b c + b + a c = b + a c + a c.

R EMARQUE 11. Il est clair que les (( tables de verite )) des connecteurs logiques sont
les memes que les tables des operations booleennes sur {faux,vrai}...
de la negation booleenne (pour la negation logique),
de la somme booleenne (pour la disjonction logique),
149

du produit booleen (pour la conjonction logique),


de la fonction booleenne de deux variables appelee (( implication )) (pour limplication logique)
de la fonction booleenne de deux variables appelee (( e quivalence )) (pour lequivalence
logique).
Ainsi, la determination de la valeur de verite dune proposition composee se ram`ene
a` un simple calcul en alg`ebre de Boole sur la fonction de verite de la forme propositionnelle associee.
2 Tautologies, antilogies, consequences logiques
2.1 Tautologies
D E FINITION 4 (TAUTOLOGIE ). Toute forme propositionnelle dont la fonction de verite
est la fonction referentiel est appelee tautologie .

Ainsi, une tautologie est une forme propositionnelle dont la fonction de verite est
independante des valeurs de verite associees a` ses variables.
Autrement dit, quelle que soit la valeur de verite des propositions par lesquelles on
remplacerait les variables propositionnelles, la proposition obtenue serait vraie.
N OTATION : La notation utilisee pour marquer une tautologie F est |= F (se lit : (( F
est une tautologie ))).

E XEMPLE 8. Soit F = A A.
F (a) = a + a = 1, donc : |= F (F est une tautologie).
Par exemple : (( Si un e tudiant est serieux, alors il est serieux )).

E XEMPLE 9. F = (A C) ((B C) (A B C)).


F = AC + BC + ABC = a + c + b + c + a + b + c
= ac + bc + abc = a + b + ab + c = 1 + c = 1

Il ne faudrait pas croire, au vu de ces exemples simples, que les tautologies se


ram`enent toutes a` des trivialites totalement ininteressantes et indignes detre e noncees.
Ainsi, dans une theorie methematique, tous les theor`emes sont des tautologies ; la
reconnaissance de cette propriete nest cependant pas toujours compl`etement e vidente...

150

Exercice 19. Les formes propositionnelles suivantes sont-elles des tautologies ?


1. (p q) p

2. (p q) (p q)

3. (p q) (p q)

4. p (p q)

5. p ((p) p)
6. p (p q)

7. p (p p)

8. (p q) ((q r) (p r))

Reponses : 1, 3, 4, 5, 7 et 8 sont des tautologies.


2.2 Antilogies
D E FINITION 5 (A NTILOGIE ). Toute forme propositionnelle dont la fonction de verite
est la fonction nulle est appelee antilogie .

La proposition obtenue en remplacant les variables par des propositions ne peut


alors jamais e tre vraie.
E XEMPLE 10. Soit F = A A.
F (a) = a a = 0. Donc F est bien une antilogie.

R EMARQUE 12. Le caract`ere dantilogie dune forme propositionnelle nest pas toujours aussi e vident.
2.3 Consequences logiques
Soit F un ensemble de formes propositionnelles.
D E FINITION 6 (C ONS E QUENCE LOGIQUE ). On dit que la forme propositionnelle A
est consequence logique des formules de lensemble F lorsque, chaque fois que les
fonctions de verite des formes de lensemble F prennent simultanement la valeur
(( vrai )) (ou 1), il en est de meme pour la fonction de verite de la forme A.

151

N OTATION : On note ce resultat : F |= A (se lit : A est consequence logique de F ).


E XEMPLE 11. {P Q, P } |= Q. En effet :
P Q P Q
F F

F V

Il ny a quun seul cas dans lequel P Q et P sont simultanement vrai. Dans ce


cas, Q est vrai.

Exercice 20. Dans chacun des cas suivants, que peut-on dire dune forme propositionnelle :
1. qui a pour consequence une antilogie,
2. qui a pour consequence une tautologie,
3. qui est consequence dune antilogie,
4. qui est consequence dune tautologie.

Reponses : 1) cest une antilogie, 2) rien, 3) rien, 4) cest une tautologie.


E XEMPLE 12. On reconsid`ere lensemble des deux formes propositionnelles
{P, P Q}
et on va montrer autrement que Q est consequence logique de ces deux formes.
Autrement dit, on va remontrer que : {P , P Q}|= Q.
P (p) = p : prend la valeur 1 lorsque p prend la valeur 1.
P Q (p, q) = p + q : prend la valeur 1 lorsque p = 0 (quelle que soit la valeur
de q) et lorsque p = 1 et q = 1.
P (p) et P Q (p, q) prennent simultanement la valeur 1 uniquement lorsque
p = 1 et q = 1 ; dans ce cas, Q (q) = q = 1 aussi. Donc Q est consequence
logique de {P, P Q}.
152

Exercice 21. Dans chacun des cas suivants, determiner si la premi`ere forme a pour
consequence logique la deuxi`eme forme (celle qui est sur la meme ligne) :
1
pq
2
q
3
(p q)
4
(p q) r
5 (p q) (q r)
6
p (q r)
7
p (q r)
8
(p q) r
9
p (q r)

p
p q
p
p (q r)
p (q r)
p r
p q
(p r) (q r)
(p q) (p r)

Reponse : oui pour 1, 2, 3, 5, 7, 9.


2.4 Formes e quivalentes
D E FINITION 7 (F ORMES E QUIVALENTES ). Si la forme propositionnelle G est consequence logique de la forme propositionnelle F et si F est aussi consequence logique
de G,
Alors ces deux formes sont dites e quivalentes, soit :
{F } |= G et {G} |= F F G.
Cest cette notion de formes e quivalentes qui autorise le remplacement dune expression par une autre (equivalente, bien sur) dans une forme propositionnelle.
E XEMPLE 13. On est autorise a` remplacer A par A, puisque ces formes sont e quivalentes.

2.5 Exercices

153

Exercice 22. Dans chacun des cas suivants, dire si les deux formes propositionnelles
inscrites sur la meme ligne sont e quivalentes :
1
(p)
2
p (p q)
3
p q
4
p q
5
pq
6
pq
7
p
8
p (q r)
9
p (q r)
10
p (q r)
11
(p q) (q p)
12 (p q) (q r) (r p)

p
pq
(p) (p q)
(p) (q)
((p) (q))
((p) (q))
((p q)) ((p) q)
(p q) r
(p q) (p r)
(p q) (p r)
(p q) (p q)
(p q) (q r) (p r)

Reponse : oui pour 1, 2, 3, 5, 6, 7, 9, 10, 12.


Exercice 23. La forme propositionnelle f e tant fixee, que peut-on dire dune forme
propositionnelle g qui poss`ede chacune des deux proprietes :
f g est une tautologie,
f g est une antilogie.

Reponse : la forme g est e quivalente a` la negation de la forme f .


Exercice 24. Soit f une forme propositionnelle dependant de trois variables p, q, r qui
poss`ede deux proprietes :
f (p, q, r) est vraie si p, q, r sont toutes les trois vraies,
la valeur de verite de f (p, q, r) cha nge quand celle dune seule des trois variables change.
Construire la table de verite de f , et determiner une formule possible pour f .

Reponse : table de verite

154

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
F
F
V
F
V
V
F

Formule : (p q r) (p (q) r) (p q (r)) ((p) q r)


Exercice 25. Determiner des formes propositionnelles f, g, h dependant des variables
p, q, r qui admettent les tables de verite :
p

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
F
V
F
F
V
V
V

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

F
V
V
F
F
V
V
F

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
V
V
F
F
V
V
V

Reponses :
f = (pqr)(p(q)r)((p)q(r))((p)(q)r)((p)(q)(r))
g = (p q (r)) (p (q) r) ((p) q (r)) ((p) (q) r)
h = (p q r) (p q (r)) (p (q) r) ((p) q (r)) ((p) (q)
r) ((p) (q) (r))
3 Simplification du calcul des fonctions de verite
3.1 Theor`eme de substitution

P ROPRI E T E IV (T H E OR E` ME DE SUBSTITUTION ) : Soit F une forme propositionnelle dans laquelle interviennent les variables propositionnelles P1 , P2 ,
P3 ,. . . , Pn .
155

Supposons que lon remplace ces variables par des formes propositionnelles
G1 , G2 , G3 ,. . . , Gn ; la nouvelle forme propositionnelle obtenue est notee F .
Dans ces conditions : si |= F , alors |= F .
P REUVE F e tant une tautologie, sa fonction de verite ne depend pas des valeurs de
verite des variables propositionnelles, qui peuvent donc e tre remplacees par nimporte quelle fonction booleenne.
Attention, la reciproque nest pas vraie...,
E XEMPLE 14. Soit F = P P Q.
La fonction de verite est F (p, q) = p p + q = 0 + q = 1 + q = 1 : il sagit dune
tautologie.
Mais, si F = A B, F nest pas une tautologie, et F est obtenue a` partir de F
en remplacant A par P P et B par Q...

Exemple dutilisation de ce resultat :


E XEMPLE 15. Soit
F = ((P Q R) (S T )) ((P Q R) (S T )),
cest-`a-dire une forme compliquee a` 5 variables ; il y a donc 32 lignes a` calculer pour
obtenir les valeurs de la fonction de verite.
Il suffit de remarquer que F est obtenue a` partir de F = A A, qui est une
tautologie ; donc F en est une aussi.

Ce resultat peut e videmment e tre applique aussi a` des parties de formes propositionnelles, pour accelerer le calcul de leurs fonctions de verite :
Si une partie dune forme propositionnelle constitue a` elle seule une tautologie,
la partie correspondante de la fonction de verite peut e tre avantageusement remplacee
par 1.
3.2 Theor`eme de la validite

156

P ROPRI E T E V (T H E OR E` ME DE LA VALIDIT E ) : Soit {G1 , G2 , . . . , Gn } un ensemble de formes propositionnelles et H une forme propositionnelle ; alors :
{G1 , G2 , . . . , Gn } |= H si et seulement si {G1 , G2 , . . . , Gn1 } |= Gn H

P REUVE Hypoth`ese {G1 , G2 , . . . , Gn } |= H.


(Cest a` dire, chaque fois que les formes de {G1 , G2 , . . . , Gn } sont vraies, H
lest aussi).
Supposons que les formes de {G1 , G2 , . . . , Gn1 } soient vraies :
Alors, si Gn est vraie, toutes les formes de {G1 , G2 , . . . , Gn } sont vraies, et
donc, dapr`es lhypoth`ese, H est vraie.
Dans ce cas (voir table de verite de limplication logique), Gn H est
vraie.
Et si Gn nest pas vraie, alors Gn H est vraie.
Donc, dans tous les cas, chaque fois que les formes de {G1 , G2 , . . . , Gn1 } sont
vraies, Gn H est vraie. Cest a` dire : {G1 , G2 , . . . , Gn1 } |= Gn H.
Hypoth`ese : Reciproquement, supposons {G1 , G2 , . . . , Gn1 } |= Gn H.
Chaque fois que les formes de {G1 , G2 , . . . , Gn1 } sont vraies, Gn H est
vraie.
Et Gn H est vraie dans deux cas :
soit lorsque Gn nest pas vraie, independamment de la valeur de verite de H
sur laquelle on ne peut alors rien dire, mais peu importe, puisque, dans ce cas,
les formes de {G1 , G2 , . . . , Gn } ne sont pas toutes vraies, puisque Gn nest
pas vraie.
soit lorsque Gn est vraie, et, dans ce cas, on sait que H est obligatoirement
vraie aussi. Ceci se produit chaque fois que toutes les formes de {G1 , G2 , . . . , Gn }
sont vraies, et, dans ce cas, H lest aussi.
Donc {G1 , G2 , . . . , Gn } |= H.

E XEMPLE 16 (E XEMPLE D APPLICATION ). Soit a` montrer que :


|= (A (B C)) ((A B) (A C)).
On pourrait bien entendu determiner la fonction de verite de cette forme.
Mais, dapr`es le theor`eme precedent, la demonstration du resultat demande est
e quivalente a` celle de :
{A (B C)} |= (A B) (A C).
157

Une nouvelle application de ce meme theor`eme nous montre que la demonstration


demandee est encore e quivalente a` celle de :
{A (B C), (A B)} |= (A C).
Et enfin a` celle de :
{A (B C), (A B), A} |= C.
Or, dire que les formes de {A (B C), (A B), A} sont simultanement
vraies revient a` dire que A est vraie.
Dans ce cas, (A B) ne peut e tre aussi vraie que si B est vraie et, de meme,
A (B C) ne peut e tre vraie que si (B C) est vraie. B e tant vraie,
(B C) ne peut e tre vraie que si C est vraie.
Donc, chaque fois que {A (B C), (A B), A} sont simultanement
vraies, C est necessairement vraie. Donc
{A (B C), (A B), A} |= C,
ce qui, dapr`es le theor`eme e nonce ci-dessus, est e quivalent a`
|= (A (B C)) ((A B) (A C)).
La propriete est e tablie.

4 Conclusion
Le calcul sur les fonctions de verite parat tout-`a-fait satisfaisant et seduisant, lorsquil sagit de calculer des valeurs de verite ou dexaminer des consequences logiques.
Il est vrai quil est simple, necessite un minimum de reflexion (tr`es important dans
le cas des ordinateurs !) et quil est tr`es facile a` programmer.
Mais, pour une forme propositionnelle qui comporte 10 variables propositionnelles
(ce qui nest pas beaucoup pour les probl`emes que lon cherche a` programmer !), la
table des valeurs de la fonction de verite comporte 210 = 1024 lignes.
Celui qui op`ere a` la main a dej`a demissionne.
Lordinateur demissionne un peu plus loin, certes, mais il finit aussi par avouer son
incapacite :
Sur les machines modernes, il nest plus impossible denvisager decrire et dexecuter
une (( boucle vide )) qui porte sur toutes les valeurs enti`eres representables sur 32
bits, donc de 0 a` 232 1, le temps dexecution est recemment devenu raisonnable.
158

Il ne faut cependant pas exiger que ce temps demeure raisonnable d`es quil
sagit dexecuter un algorithme un peu complique. Et 32 variables constituent
un nombre ridiculement petit pour un syst`eme expert, dans lequel les expressions offrent souvent une complexite qui na aucune commune mesure avec ce
que lon peut imaginer de plus complique. . .
Les (( raccourcis )) qui viennent detre e tudies et qui permettent daccelerer, voire
de supprimer totalement, le calcul dune fonction de verite, sont plus utiles lorsque
lon op`ere (( a` la main )) que pour la programmation dalgorithmes de logique.
Il faut donc garder en reserve la methode des fonctions de verite : celle-ci peut
e tre tr`es utile dans certains cas, essentiellement lorsque le probl`eme peut e tre resolu
(( a` la main )), mais il faut aussi trouver une autre methode pour songer a` aborder des
probl`emes plus complexes.
Cette methode, qui supprime toute reference aux valeurs de verite, fait lobjet du
paragraphe suivant.
5 Exercices
5.1 Sur les fonctions de verite

Exercice 26. Prouver les tautologies suivantes


1. |= A (B A)

2. |= (A B) ((A (B C)) (A C))


3. |= A (B A B)

4. |= A B A

5. |= A A B

|= A B B

6. |= B A B

7. |= (A C) ((B C) (A B C))
8. |= (A B) ((A B) A)
9. |= A A

10. |= (A B) ((B A) (A B))


11. |= (A B) (A B)

|= (A B) (B A)

Exercice 27. Calculer les fonctions de verite des formes propositionnelles suivantes,
et dire sil sagit e ventuellement de tautologies ou dantilogies :
159

(A B) (A B) B
(A C) (B D) (A B) C D
(A B) A B C
(A C) (B D) (A B C D)
(A C) (B D) (A B C D)
(A B) (A C) (B C)
((B C) (C A) (B C) (C A)) ((A C)
(A B))
(A B) (C (A B))
A A (B C (C A))
((A B) A) A
(A C) (B D) (C D) A B
A (A B) A
(A B (A A B)) (A B (A (A B)))
(A B) (A C) B C
(A B) (A C) (A C)

Exercice 28 (Le club des Ecossais).


Pour constituer un club, on a e nonce le r`eglement
suivant :

Article 1 : Tout membre non Ecossais


porte des chaussettes oranges.
Article 2 : Tout membre porte une jupe ou ne porte pas de chaussettes oranges.
Article 3 : Les membres maries ne sortent pas le dimanche.

Article 4 : Un membre sort le dimanche si et seulement sil est Ecossais.

Article 5 : Tout membre qui porte une jupe est Ecossais et marie.

Article 6 : Tout membre Ecossais


porte une jupe.
Determiner le nombre de membres de ce club.

5.2 Application des fonctions de verite

Exercice 29. Trois dirigeants dune Societe (Pierre P., Marc M. et Alain A.) sont
prevenus de malversations financi`eres ; au cours de lenquete, lagent du fisc enregistre leurs declarations :
Pierre P. : Marc est coupable et Alain est innocent.
Marc M. : Si Pierre est coupable, Alain lest aussi.
Alain A. : Je suis innocent, mais lun au moins des deux autres est coupable.
160

Ces trois temoignages sont-ils compatibles ? En supposant quils sont tous les trois
innocents, lequel a menti ? En supposant que chacun dit la verite, qui est innocent et
qui est coupable ? En supposant que les innocents disent la verite et que les coupables
mentent, qui est innocent et qui est coupable ?

Exercice 30. Simplifier le r`eglement suivant :


Les membres de la Direction Financi`ere doivent e tre choisis parmi ceux de la
Direction Generale.
Nul ne peut e tre a` la fois membre de la Direction Generale et de la Direction
Technique sil nest membre de la Direction Financi`ere.
Aucun membre de la Direction Technique ne peut e tre membre de la Direction
Financi`ere.

Exercice 31. Un inspecteur des services de sante visite un hopital psychiatrique o`u
des phenom`enes e tranges lui ont e te signales.
Dans cet hopital, il ny a que des malades et des medecins, mais les uns comme les
autres peuvent e tre sains desprit ou totalement fous. Linspecteur doit faire sortir de
lhopital les personnes qui nont rien a` y faire, cest a` dire les malades sains desprit
et les medecins totalement fous (quitte a` les reintegrer ulterieurement en tant que malades...). Il part du principe que les personnes saines desprit ne disent que des choses
vraies, alors que les personnes folles ne disent que des choses fausses.
Dans une salle, il rencontre deux personnes (appelons-les A et B pour preserver
leur anonymat). A affirme que B est fou et B affirme que A est medecin.
Apr`es une intense reflexion, linspecteur fait sortir lun des deux de lhopital.
Lequel (et pourquoi ?)
Peut-il dire quelque chose au sujet de lautre ?

Exercice 32. Le prince de Beaudiscours est dans un cruel embarras. Le voici au pied
du manoir o`u la mechante fee Antinomie maintient prisonni`ere la douce princesse
Verite. Deux portes y donnent acc`es. Lune delles conduit aux appartements de la
princesse, mais lautre souvre sur lantre dun dragon furieux. Le prince sait seulement que lune de ces deux portes souvre lorquon e nonce une proposition vraie, et
lautre si on e nonce une proposition fausse.
Comment peut-il delivrer la princesse ?
161

IV. Deuxi`eme point de vue : theorie de la demonstration


1 Presentation
Il sagit ici dexplorer les mecanismes du raisonnement humain, cest-`a-dire les
schemas de pensee qui nous permettent de decider dagir dune certaine mani`ere, dans
le but dobtenir un certain resultat.
Nous disposons en fait dune (( base de connaissances )) qui fait que nous savons
que, dans telles ou telles circonstances, certaines causes produisent certains effets.
Pour obtenir ces effets, nous essayons de nous replacer dans les conditions de leurs
realisations.
1.1 Le syst`eme formel, ses r`egles dinferences
Le syst`eme formel qui est charge de reproduire mecaniquement ce fonctionnement
est constitue daxiomes logiques , qui jouent le role de (( connaissances de base )) ;
il sagit de formules de logique qui servent de (( points de depart )) aux deductions
ulterieures.
Puis, le syst`eme est muni de (( r`egles dinference )), qui sont chargees de simuler les
divers modes de raisonnement que nous utilisons. Elles se presentent sous la forme de
r`egles qui, lors de la rencontre de formules dun type donne, autorisent la production
de nouvelles formules auxquelles on attachera le meme credit que celui qui est attribue
aux formules dont elle sont issues. Ces formules auront le statut de nouveaux resultats
consideres comme e tablis, et pourront venir enrichir la (( base de connaissances )), on
les appellera des theor`emes logiques .
1.2 Status des axiomes logiques
Il convient de distinguer les axiomes logiques des autres axiomes qui peuvent
e tre poses dans divers domaines, par exemple, en geometrie, laxiome dEuclide ; ces
axiomes nappartiennent pas a` la logique et autorisent la construction dune theorie (la
geometrie euclidienne en loccurence).
Il faut aussi les distinguer des axiomes poses au sujet de la logique elle-meme,
comme, par exemple, celui que nous avons appele le principe de non-contradiction.
Ces axiomes e nonces au sujet de la logique, ne sont pas non plus des axiomes logiques.

162

Ils jouent le meme role, pour la logique, que laxiome dEuclide pour la geometrie :
ils conduisent a` la construction dune certaine logique, e tant bien entendu que dautres
axiomes peuvent conduire a` la construction dautres logiques que celle qui est lobjet
du present chapitre.
Plus precisement :

Theor`eme logique
D E FINITION 8 (T H E OR E` ME LOGIQUE ). Un resultat obtenu par une deduction correcte ou une suite de deductions correctes (cest-`a-dire qui utilisent explicitement
les r`egles dinference autorisees) a` partir des axiomes logiques et, e ventuellement,
dautres resultats du meme type dej`a e tablis par ailleurs sappelle un theor`eme lo
gique.
D E FINITION 9 (D E MONSTRATION ). La chane de deductions qui conduit a` un theor`eme
logique est appelee demonstration de ce resultat.

D E FINITION 10 (A XIOME LOGIQUE ). Cette chane peut e ventuellement ne comporter quun seul e lement.
Dans ce cas, le (( resultat )) est un axiome logique.

Un axiome logique est donc un theor`eme logique, et il ne se demontre pas.


N OTATION : On exprime que la formule F est un theor`eme par la notation : F , qui
se lit (( F est un theor`eme )).
Deduction sous hypoth`ese Il est possible dutiliser des formules logiques supplementaires (autres que des axiomes ou des theor`emes) et de mener un raisonnement
correct a` partir de ces formules (et des axiomes et des theor`emes dej`a connus).
D E FINITION 11. On parle alors, non plus de demonstration, mais de deduction sous

hypoth`eses.
N OTATION : Lexpression : (( la formule logique H est obtenue par deduction sous
les hypoth`eses G1 , G2 , . . . , Gn )) est notee : {G1 , G2 , . . . , Gn } H.
2 Les axiomes logiques
Il existe plusieurs syst`emes daxiomes qui permettent de construire la Logique
propositionnelle.
Nous nous en tiendrons aux axiomes et r`egles dinference suivants.
163

Axiomes relatifs a` limplication logique :


Axiome 1 : P (Q P )
Axiome 2 : (P Q) ((P (Q R)) (P R))
Axiomes relatifs a` la conjonction logique :
Axiome 3 : P (Q P Q)
Axiome 4 : P Q P
Axiome 5 : P Q Q
Axiomes relatifs a` la disjonction logique :
Axiome 6 : P P Q
Axiome 7 : Q P Q
Axiome 8 : (P R) ((Q R) (P Q R))
Axiomes relatifs a` la negation logique :
A9 = P P
A10 = (P Q) ((P Q) P )
Axiomes relatifs a` lequivalence logique :
Axiome 11 : (P Q) ((Q P ) (P Q))
Axiome 12 : (P Q) (P Q)
Axiome 13 : (P Q) (Q P )
R EMARQUE 13. Il ne sagit pas l`a dun syst`eme daxiomes minimal, mais il nest pas
contradictoire.
3 Les r`egles dinference
La logique classique utilise les r`egles dinference suivantes :
le (( modus ponendo ponens )) (le mode (( en posant, on pose ))) :
{P, P Q} Q.
(( Des formules P et P Q, on peut deduire par modus ponens la formule
Q )).
le (( modus tollendo tollens )) (le mode (( en supprimant, on supprime ))) :
{P Q, Q} P .
le )) modus ponendo tollens )) (le mode (( en posant, on supprime ))) :
{(P Q), P } Q.
le (( modus tollendo ponens )) (le mode (( en supprimant, on pose ))) :
{P Q, P } Q.
R EMARQUE 14. Les noms sont traditionnellement des noms latins, utilises depuis les
philosophes du XVIe`me si`ecle.

164

Ces noms utilisent une forme verbale - le gerondif - qui na pas dequivalent en
francais, et constituent donc des latinismes intraduisibles.
Une br`eve e tude montrerait que ces quatre r`egles sont e quivalentes.
Il est donc possible de nen conserver quune seule, quon appelle le (( modus (sousentendu : ponendo) ponens )), ou r`egle de detachement et qui est la premi`ere.
R EMARQUE 15. Sinon, il serait possible de supprimer quelques axiomes. Mais il vaut
mieux, dans un but ultime de programmation, diminuer le nombre de r`egles dinference
que celui daxiomes.
Cependant, dans le but de raccourcir au maximum les demonstrations ou deductions
a` faire a` la main, nous nous conformerons a` lusage et conserverons les quatre r`egles
classiques.
4 Demonstrations et deductions sous hypoth`eses
Le raisonnement logique peut prendre deux formes : la demonstration, et la deduction
sous hypoth`eses.
4.1 Cas de la demonstration
Une demonstration (la demonstration dun theor`eme) est constituee :
1. dun en-tete, portant lindication (( Demonstration )) (de mani`ere a` lisoler totalement du contexte),
2. puis dun certain nombre de lignes, numerotees (pour pouvoir e tre referencees
dans la suite). Chacune dentre elles doit comporter deux champs :
Le premier indique pourquoi le resultat suivant peut e tre avance (il est indispensable pour pouvoir juger de la correction de la demonstration).
Le second consiste en une formule, qui est le (( resultat )) de la ligne courante.
3. La conclusion de la demonstration est la formule e crite sur la derni`ere ligne.
4. Elle est repetee dans une derni`ere ligne, non numerotee, qui porte len-tete
(( conclusion )).
Dans une ligne, on peut avancer :
un axiome,
un theor`eme considere comme connu (dont la demonstration a e te vue par ailleurs),
le resultat de lapplication dune r`egle dinference sur des formules qui sont
e crites dans les lignes precedentes.

165

4.2 Cas de la deduction sous hypoth`eses


Une deduction sous hypoth`eses...
1. Commence par une premi`ere ligne qui comporte les mots (( Deduction sous les
hypoth`eses )).
2. Cette premi`ere ligne est suivie de lecriture de lensemble des hypoth`eses utilisees...
3. Puis, comme dans une demonstration, de lignes numerotees dans lesquelles peuvent
figurer les memes e lements, auxquels il faut rajouter les hypoth`eses, dont on a le
droit de se servir comme sil sagissait de resultats e tablis.
4. La ligne indiquant la conclusion doit rappeler les hypoth`eses.
Dans la pratique, dans un but deconomie de place (la moindre deduction peut tr`es
vite prendre de nombreuses lignes), on sautorisera dautres e lements (par exemple,
lutilisation de la technique de lhypoth`ese supplementaire), qui seront vus dans la
suite.
4.3 Exemples
Voici, par exemple, comment on peut obtenir un (( modus (tollendo) tollens )) a`
laide du (( modus ponens )) et des axiomes (il sagit donc de deduire P sous les
hypoth`eses P Q et Q) :
E XEMPLE 17 (M ODUS ( TOLLENDO )

TOLLENS ).

Deduction sous les hypoth`eses

{P Q , Q}
:
1
2
3

Axiome 10
Hypoth`ese
m.p. sur 1 , 2

4
5

Axiome 1
Hypoth`ese

m.p. sur 4 , 5

7 m.p. sur 3 , 6
Conclusion : P .

(P Q) ((P Q) P )
P Q
(P Q) P
Q (P Q)
Q

(P Q)
P

Autre exemple : la demonstration du theor`eme appele theor`eme didempotence


P P
166

Ou encore :
(P P )
E XEMPLE 18 (T H E OR E` ME D IDEMPOTENCE ). Demonstration :
1 Axiome 2
(P (Q P )) ((P ((Q P ) P )) (P P ))
(en remplacant Q par Q P et R par P
2 Axiome 1
P (Q P )
3 m.p. sur 1 , 2 (P ((Q P ) P )) (P P )
P ((Q P ) P )
(en remplacant Q par Q P )
5 m.p. sur 3 , 4 (P P )
Conclusion : (P P )
4

Axiome 1

Les demonstrations sont souvent considerablement simplifiees par lutilisation du


theor`eme de la deduction (mais la demonstration de ce dernier utilise le theor`eme
didempotence).
Exercice 33. En theorie de la demonstration, demontrer les r`egles dinference :
1. (( modus tollendo ponens )) : {A, A B} B
2. (( modus ponendo tollens )) : {A, (A B)} B.

Pour la premi`ere, on pourra utiliser le theor`eme de la contradiction et, pour la


seconde, le theor`eme de la contraposee.

5 Theor`eme de la deduction
5.1 Le theor`eme
Il sagit du resultat qui e quivaut, en theorie de la demonstration, au theor`eme de la
validite en theorie des valeurs de verite.

P ROPRI E T E VI (T H E OR E` ME DE LA D E DUCTION ) : Ce theor`eme senonce par :


{G1 , G2 , . . . , Gn } H si et seulement si {G1 , G2 , . . . , Gn1 } Gn H

167

5.2 Demonstration
La demonstration seffectue par recurrence sur la longueur de la deduction.
Hypoth`ese : {G1 , G2 , . . . , Gn } H.
Soit p la longueur de la deduction qui am`ene a` H.
Si p = 1 : une (( deduction de longueur 1 )) nautorise lecriture que dune seule
ligne. Cela signifie donc que lon peut directement e crire H dans celle-ci. Ce
nest possible que si H est un axiome ou une hypoth`ese
Si H est un axiome :
Deduction sous les hypoth`eses {G1 , G2 , . . . , Gn1 } :
1
2

Axiome 1
Axiome j

H (Gn H)
H

3 m.p. sur 1 , 2 Gn H
Conclusion : {G1 , G2 , . . . , Gn1 } Gn H
Dans ce premier cas : {G1 , G2 , . . . , Gn } H implique {G1 , G2 , . . . , Gn1 }
Gn H (Les hypoth`eses ne sont en fait pas utilisees, donc elles ninterviennent pas).
Si H est lune des hypoth`eses {G1 , G2 , . . . , Gn1 }, posons H = Gi (0 < i <
n) :
Deduction sous les hypoth`eses {G1 , G2 , . . . , Gn1 } :

1 Axiome 1
Gi (Gn Gi )
2 Hypoth`ese
Gi
3 m.p. sur 1 , 2 Gn Gi
Conclusion : {G1 , G2 , . . . , Gn1 } Gn H
Dans ce deuxi`eme cas : {G1 , G2 , . . . , Gn } H implique {G1 , G2 , . . . , Gn1 }
Gn H (Seule lhypoth`ese Gi a e te utilisee, les autres ne sont en fait pas
utilisees, elles ninterviennent pas).
Si H est lhypoth`ese Gn : Alors on sait que : Gn Gn (voir paragraphe
precedent).
Dans ce troisi`eme cas : {G1 , G2 , . . . , Gn } H implique {G1 , G2 , . . . , Gn1}
Gn H.
Conclusion : la propriete est vraie pour p = 1.
Hypoth`ese de recurrence : Soit p un entier tel que la propriete soit vraie pour
tous les entiers i de 1 a` p (recurrence generalisee) ; on suppose que la longueur
de la deduction qui m`ene a` H est (p + 1).
Si H est un axiome ou lune des hypoth`eses, le cas se traite comme ci-dessus.
Dans le cas contraire, H ne peut avoir e te obtenu que par un (( modus ponens ))
sur des formules P et P H. Ces formules ont elles-memes e te obtenues
par des deductions de longueur inferieure ou e gale a` p, donc on peut dire que
{G1 , G2 , . . . , Gn } P implique {G1 , G2 , . . . , Gn1 } Gn P et que
{G1 , G2 , . . . , Gn } P H implique {G1 , G2 , . . . , Gn1 } Gn
168

(P H).
Deduction sous les hypoth`eses {G1 , G2 , . . . , Gn1 } :
1
2
3

Resultat intermediaire 1
Resultat intermediaire 2
Axiome 2

m.p. sur 1 , 3

Gn P
Gn (P H)
(Gn P ) ((Gn (P H)) (Gn H))
(Gn (P H)) (Gn H)

5 m.p. sur 2 , 4
Gn H
Conclusion {G1 , G2 , . . . , Gn1 } Gn H,
et donc : {G1 , G2 , . . . , Gn } H implique {G1 , G2 , . . . , Gn1} Gn H,
lorsque la deduction est de longueur p + 1.
Le resultat est e tabli.
Hypoth`ese : Reciproquement, supposons {G1 , G2 , . . . , Gn1 } (Gn H). Alors,
Deduction sous les hypoth`eses {G1 , G2 , . . . , Gn }
1

Resultat obtenu sous les hyp {G1 , G2 , . . . , Gn1 } Gn H

2 Hypoth`ese n
3 m.p. sur 1 , 2
Conclusion {G1 , G2 , . . . , Gn } H

Gn
H

Donc : {G1 , G2 , . . . , Gn1} Gn H entrane {G1 , G2 , . . . , Gn } H.


Le theor`eme est e tabli.
5.3 Exemples dutilisation du theor`eme de la deduction

E XEMPLE 19. Le (( modus tollens )) {P Q, Q}

E XEMPLE 20. Soit a` demontrer : (A (B C)) (B (A C)).


La demonstration de ce theor`eme e quivaut a` la deduction
{A (B C)} (B (A C))
Cette derni`ere est e quivalente a` la deduction
{A (B C), B} (A C)
Elle-meme e quivalente a` la deduction :
{A (B C), B, A} C
e tablissons ce resultat :
Deduction sous les hypoth`eses {A (B C), B, A}

169

1
2
3

Hypoth`ese 3
Hypoth`ese 1
m.p. sur 1 , 2

A
A (B C)
B C

4 Hypoth`ese 2
B
5 m.p. sur 3 , 4 C
Conclusion {A (B C), B, A} C.
Deduction e quivalente a` la demonstration du theor`eme dechange des premisses :
(A (B C)) (B (A C)).

R EMARQUE 16. Cette methode est beaucoup plus rapide que celle qui consisterait a`
essayer de demontrer ce theor`eme a` partir des axiomes et de la r`egle dinference.

E XEMPLE 21. On a demontre la r`egle dinference du (( modus (tollendo) tollens )) :


{P Q, Q} P .
Dapr`es le theor`eme de la deduction, ce dernier resultat est e quivalent a` :
{P Q} (Q P ).
Une nouvelle application de ce meme theor`eme donne :
(P Q) (Q P ).

D E FINITION 12 (C ONTRAPOS E E ). Limplication Q P est appelee contraposee de limplication P Q.

P ROPRI E T E

(T H E OR E` ME DE LA CONTRAPOS E E ) : Le theor`eme
(P Q) (Q P )
sera utilise dans la suite sous le nom de theor`eme de la contraposee.
VII

R EMARQUE 17. Lutilisation principale du theor`eme de la deduction consiste a` remplacer la demonstration dimplication par des deductions sous hypoth`eses.
6 Quelques theor`emes classiques et quelques r`egles dinference annexes
Nous avons dej`a e voque le theor`eme didempotence ( P P ), le theor`eme de
la contraposee, et le theor`eme dechange des premisses. Citons encore...
170

6.1 Theor`eme de transitivite de limplication

P ROPRI E T E

VIII

(T H E OR E` ME DE TRANSITIVIT E DE L IMPLICATION ) : On a
(A B) ((B C) (A C)).

P REUVE (A B) ((B C) (A C))


e quivalent {A B} (B C) (A C)
e quivalent {A B, B C} A C
e quivalent {A B, B C, A} C
Cette deduction est e vidente avec le modus ponens, avec :
1. A B et B,
2. B C et B obtenu en 1,
3. on obtient C en 2.
6.2 Theor`eme de la contradiction
Deduction sous les hypoth`eses {A , A}
1

Hypoth`ese 1

2
3

Axiome 1
m.p. sur 1 , 2

4
5

Hypoth`ese 2
Axiome 1

A (B A)
B A

A
A (B A)

6
m.p. sur 4 , 5
B A
7
Axiome 10
(B A) ((B A) B)
8
m.p. sur 4 , 7
(B A) B
9
m.p. sur 6 , 8
B
10 Axiome 9
B B
11 m.p. sur 9 , 10 B
Conclusion {A , A} B.
Ce qui est e quivalent, dapr`es le theor`eme de la deduction, au theor`eme
A (A B)
ou encore...
P ROPRI E T E

IX

(T H E OR E` ME

DE LA CONTRADICTION )

A (A B)

171

: On a

6.3 R`egle de disjonction des cas


Considerons laxiome 8
(P R) ((Q R) (P Q R))
En appliquant deux fois de suite le theor`eme de la deduction, il est e quivalent a` la
deduction
{P R , Q R} P Q R
que lon peut utiliser sous cette forme comme r`egle dinference annexe : elle sappelle
r`egle de disjonction des cas .

P ROPRI E T E

(R E` GLE DE DISJONCTION DES CAS ) : On a


{P R , Q R} P Q R

6.4 R`egle de reduction a` labsurde


Pour finir, laxiome 10
(P Q) ((P Q) P )
En appliquant deux fois de suite le theor`eme de la deduction, il est e quivalent a` la
deduction
{P Q , P Q} P
que lon peut utiliser sous cette forme comme r`egle dinference annexe : elle sappelle
r`egle de reduction a` labsurde .

P ROPRI E T E

XI

(R E` GLE

DUCTION A` L ABSURDE )
DE R E

: On a
{P Q , P Q} P

Exercice 34 (Demonstrations et deductions sous hypoth`eses). Demontrer les theor`emes


logiques suivants (seuls les axiomes, regles dinference, regles dinference annexes et
theor`emes du cours sont autorises)
1. (A B) ((B C) (A C))

2. (A (B C)) (B (A C))
3. (A (B C)) (A B C)
4. (A B) (B A)

5. A A

172

6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.

(A B) (B C) (A C)
A (B C) (A B) (A C)
A (B C) (A B) (A C)
(A A)
(A B) A B
(A B) A B
A B (A B)
A B (A B)
(A B) A B
(A B) (A B)
(A B) A B

7 Technique de lhypoth`ese supplementaire


7.1 Introduction et suppression dune hypoth`ese supplementaire
Supposons quau cours dune demonstration ou deduction sous hypoth`eses, il arrive que lon ne sache plus quoi e crire pour progresser en direction du resultat recherche, mais que lutilisation dune hypoth`ese qui ne figure pas dans lensemble
declare au depart semble pouvoir debloquer la situation.
On admettra alors lecriture dune ligne contenant la declaration de cette hypoth`ese,
appelons-la H, avec la justification (( Hypoth`ese supplementaire )).
Cette hypoth`ese pourra alors e tre utilisee pour progresser, et pour atteindre, quelques
lignes plus loin, un certain resultat, disons R.
La deduction a alors lallure suivante :
Deduction sous les hypoth`eses {H1 , H2 , . . . , Hn }
1
..
.

..
.

..
.

i
..
.

Hypoth`ese supplementaire
..
.

H
..
.

Dans une telle deduction, le resultat obtenu est celui qui est e crit sur la derni`ere
ligne e crite (meme si ce nest pas le resultat recherche !).

173

Autrement dit, si la deduction sarretait a` cet endroit, le resultat obtenu serait R


mais, pour lobtenir, une hypoth`ese non prevue au depart a e te utilisee.
Le veritable resultat obtenu est en fait
Conclusion {H1 , H2 , . . . , Hn , H} R.
(en rajoutant H a` lensemble des hypoth`eses de depart).
Mais on sait que ce resultat est e quivalent a` :
Conclusion {H1 , H2 , . . . , Hn } H R.
Cest-`a-dire un resultat e tabli en utilisant les seules hypoth`eses de depart.
On pourra donc rajouter une ligne contenant la justification : (( Suppression de lhypoth`ese supplementaire )) et comme resultat H R et, comme ce resultat est obtenu
avec les seules hypoth`eses de depart, il est utilisable dans la suite (`a la difference de
ceux qui sont e crits dans les lignes i a` j incluses).
On obtient
Deduction sous les hypoth`eses {H1 , H2 , . . . , Hn }
1
..
.

..
.

..
.

i
..
.

Hypoth`ese supplementaire
..
.

H
..
.

j+1 Suppression hyp. suppl. H H R


..
..
..
.
.
.
On esp`ere e videmment que ce dernier resultat a rendu le resultat recherche plus
accessible.
Cependant, les lignes e crites dans le domaine de validite de lhypoth`ese suplementaire
(de i + 1 a` j) ne peuvent pas e tre utilisees dans la suite de la deduction.
Dans certains cas complexes, il est possible de faire successivement plusieurs hypoth`eses supplementaires.
Il faut dans ce cas respecter la regle selon laquelle, lorsque plusieurs hypoth`eses
supplementaires coexistent, elles doivent e tre supprimees dans lordre inverse de leur
introduction.
7.2 Utilisation de cette technique dans une disjonction des cas
Lorsque le resulat a` e tablir a la forme {A B} C, o`u C est une formule quelconque, le raisonnement (( par disjonction des cas )) prend la forme suivante, lorsque le
174

resultat nest pas immediat.


Deduction sous l hypoth`ese {A B}
1
..
.

Hypoth`ese supplementaire
..
.

A
..
.

i
i+1

Suppression hyp. suppl. A

i+2
..
.

Hypoth`ese supplementaire
..
.

C
A C

B
..
.
C

j+1

Suppression hyp. suppl. B

j+2

Disjonction des cas sur i+1 , j+1

j+3

Hypoth`ese

B C

A B C
AB
C

j+4
m.p. sur j+2 , j+3
Conclusion {A B} C.

R EMARQUE 18. Il faut veiller que ce soit bien le resultat final attendu qui soit obtenu
avant la suppression des hypoth`eses supplementaires.
8 Methodes de demonstration
Il peut sembler a priori difficile de trouver les idees qui permettent de mener a` bien
une deduction sous hypoth`eses.
On pourra sinspirer des principes suivants qui sont souvent dune aide precieuse
bien quon ne puisse affirmer quils fournissent dans tous les cas la solution la plus
courte, ni meme la solution elle-meme.
La premi`ere chose a` faire est de faire intervenir au maximum le theor`eme de la
deduction. On conseille ensuite dobserver...
Les hypoth`eses. Une hypoth`ese (ou un resultat intermediaire) qui se presente sous la
forme dune
conjonction : sutilise par application des axiomes 4 et 5
disjonction : sutilise par une disjonction des cas (voir paragraphe precedent)
negation : sutilise par application du theor`eme de la contraposee
implication logique : souvent la technique de lhypoth`ese supplementaire (utilisee aussi dans le cas precedent) permet de lutiliser.
e quivalence logique : sutilise par application des axiomes 12 et 13
175

Lapplication de ces quelques principes permet en general de bien demarrer les


deductions, par leurs premi`eres lignes. On observe ensuite...
La conclusion. Si elle se presente sous la forme dune
conjonction : elle peut sobtenir par application de laxiome 3.
disjonction : elle peut sobtenir par application de laxiome 6 ou de laxiome
7.
negation : elle peut sobtenir par une reduction a` labsurde.
implication : vous navez pas suivi les conseils dutiliser le theor`eme de la
deduction au maximum !
e quivalence logique : elle peut sobtenir par application de laxiome 11 (concr`etement,
on effectue en general separement les demonstrations des deux implications et on peut sabstenir de (( reconstruire )) lequivalence logique a` partir
des deux implications, de laxiome 11 et de deux (( modus ponens ))).
Lapplication de ces quelques principes permet en general de decouvrir un bon
chemin vers le resultat, cest-`a-dire les derni`eres lignes de la deduction.
Au total, sauf dans des cas tr`es compliques, on devrait avoir ainsi lintegralite de la
deduction.
9 Exercices

Exercice 35 (Validite de raisonnements). Formaliser, puis e tudier la validite des raisonnements suivants :
1. Un e tudiant ne peut resoudre un exercice si on ne lui dit pas comment faire. On
ne lui dit pas comment faire sil ne pose pas de questions. Il a trouve, donc il a
pose des questions.
2. Ce qui est comprehensible ne mintrigue jamais ; la logique mintrigue. Donc,
la logique est incomprehensible.
3. Aucun professeur nest ignorant ; les gens ignorants sont ennuyeux. Donc, aucun
professeur nest ennuyeux.
4. Tout professeur de mathematiques est logique ; un homme illogique est toujours
tetu. Donc, aucun professeur de mathematiques nest tetu.
5. Un parapluie est utile en voyage ; toute chose inutile en voyage doit e tre laissee
a` la maison. Il faut donc emporter son parapluie en voyage.
6. Aucun probl`eme ne minteresse sil est possible de le resoudre ; tous ces probl`emes
minteressent. Ils sont donc impossibles a` resoudre.

176


Exercice 36. Etude
de raisonnements concrets :
1. Peut-on conclure quelque chose au sujet de la reussite de lattaque envisagee
dans les conditions suivantes ?
Lattaque reussira seulement si lennemi est surpris ou si la position est peu
defendue. Lennemi ne sera pas surpris, a` moins quil ne soit temeraire. Lennemi nest pas temeraire lorsque la position est peu defendue.
2. Peut-on conclure quelque chose au sujet de la culpabilite du suspect decrit dans
les propositions suivantes ?
Si le suspect a commis le vol, celui-ci a e te minutieusement prepare ou le suspect
disposait dun complice dans la place. Si le vol a e te minutieusement prepare,
alors, si le suspect avait un complice dans la place, le butin aurait e te beaucoup
plus important.
3. La conclusion du raisonnement suivant est-elle valide ? :
A` moins que nous ne continuions la politique de soutien des prix, nous perdrons
les voix des agriculteurs. Si nous continuons cette politique, la surproduction se
poursuivra, sauf si nous contingentons la production. Sans les voix des agriculteurs, nous ne serons pas ree lus. Donc, si nous sommes ree lus et que nous ne
contingentons pas la production, la surproduction continuera.
4. Quelles sont les conclusions que lon peut tirer des renseignements suivants :
Jaime les tomates a` la provencale, ou je suis ne un 29 fevrier, ou je sais jouer
du cornet a` pistons. Si je sais jouer du cornet a` pistons, alors je suis ne un 29
fevrier ou jaime les tomates a` la provencale. Si je naime pas les tomates a` la
provencale et si je suis ne un 29 fevrier, alors je ne sais pas jouer du cornet a`
pistons. Je naime pas les tomates a` la provencale ou je ne sais pas jouer du
conet a` pistons.

Exercice 37 (Un probl`eme de logique). Trois artisans coiffeurs (Aristide, Barnabe et


Clotaire) tiennent un salon de coiffure. Celui-ci ne peut rester sans surveillance pendant les heures douverture, donc lun au moins des trois artisans est obligatoirement
present. On sait, de plus, quAristide ne peut sortir seul ; lorsquil sabsente, il se fait
obligatoirement accompagner par Barnabe.
Oncle Jim et oncle Joe, deux sympathiques logiciens, se dirigent vers le salon, en
e changeant les propos suivants :
177

Jesp`ere bien que Clotaire est l`a. Barnabe est tr`es maladroit, et la main dAristide
tremble constamment depuis quil a eu cet acc`es de fi`evre qui le handicape, dit oncle
Jim.
Clotaire est surement l`a, affirme oncle Joe.
Quen sais-tu ? Je te parie cent sous que non, reprend oncle Jim.
Je peux te le prouver logiquement, retorque oncle Joe, qui poursuit : Prenons
comme hypoth`ese de travail que Clotaire est absent , et voyons ce quil resulte de cette
supposition. Pour cela, je vais utiliser le principe de reduction a` labsurde .
Je men doutais, grommelle oncle Jim. Je ne tai encore jamais entendu discuter
quelque chose sans que cela se termine par quelque absurdite !
Sans me laisser demonter par tes propos venimeux, dit noblement oncle Joe, je
continue ; Clotaire e tant absent, tu maccordes que, si Aristide est e galement absent,
Barnabe est obligatoirement present ?

Evidemment,
dit oncle Jim en haussant les e paules, sinon il ny aurait plus personne pour garder le salon.
Nous voyons par consequent que labsence de Clotaire fait intervenir une implication logique, (( si Aristide est absent, Barnabe est present )), et que cette implication
reste vraie tant que Clotaire est absent.
Admettons, fait Oncle Jim, et apr`es ?
Il nous faut a` present tenir compte dune autre hypothetique, que je formule par
(( Si Aristide est absent, alors Barnabe est absent )), laquelle est toujours vraie,
independamment de la presence de Clotaire, nest-ce pas ?
Sans doute, dit oncle Jim, qui semble gagne par linquietude, je confirme quAristide, sil sabsente, se fait obligatoirement accompagner par Barnabe.
Nous somme donc places en presence de deux implications. La premi`ere est vraie
tant que Clotaire est absent. La seconde, qui est toujours vraie, lest en particulier
lorsque Clotaire est absent. Or ces deux implications me paraissent parfaitement incompatibles. Donc, par une tr`es belle reduction a` labsurde, je conclus quil est impossible que Clotaire soit absent, tu vas donc le voir tout de suite.
Il y a quand meme quelque chose qui me parat douteux, dans ton (( incompatibilite )), dit oncle Jim, qui semble totalement decontenance. Il reflechit, puis reprend :
Pourquoi, en effet, seraient-elles contradictoires ? Tu ne prouves en fait quune seule
chose : cest que cest Aristide qui est present !
Tr`es cher et tr`es illogique fr`ere, fait oncle Joe, ne vois-tu pas que tu es en train
de decomposer une implication logique en premisse et conclusion ? Qui te permet
daffirmer que limplication (( si Aristide est absent, Barnabe est present )) est vraie ?
Nas-tu jamais appris que, de la valeur de verite dune implication, on ne peut rien
deduire sur celles de ses e lements ?
A` laide des variables propositionnelles A (pour : (( Aristide est present ))), B (pour :
(( Barnabe est present ))) et C (pour : (( Clotaire est present ))), formaliser les raisonnements doncle Joe (dont la conclusion est C) et doncle Jim (dont la conclusion est
A). Qui a raison et qui a tort ?

178

10 Tableaux de Beth
Il sagit dune autre methode de demonstration formelle, ignorant tout syst`eme
daxiomes, mais comportant de nombreuses r`egles dinference.
Elle est particuli`erement adaptee a` lautomatisation des demonstrations, et constitue une ouverture sur les algorithmes e tudies en seconde annee (utilisation systematique
du (( theor`eme de falsification )) qui sera envisage plus loin).
10.1 Principe de la methode
Il sagit de montrer quune formule F est un theor`eme( F ) ; le resultat est obtenu
en montrant que la (( refutation )) de F conduit a` une contradiction.
La (( refutation )) se conduit dans un arbre (appele tableau de Beth (logicien neerlandais).
(( Refuter )) F , cest le (( nier )), selon sa forme, en suivant les r`egles dinferences qui
sont donnees dans le tableau :
R`egles daffirmation R`egles de refutation
A
A

A
A

AB

A
B

AB
A
B

AB
A
B

AB

A
B

A B

A
B

A B
A
B

A
La r`egle de contradiction est A .

Ecrire,
dans un tableau de Beth, A signifie (( jaffirme A )) et A signifie (( je nie A ))
(ne pas confondre avec A).

179

Une branche dun tableau de Beth est consideree comme terminee lorsque plus
aucune r`egle ne peut sappliquer et elle est consideree comme close lorsquelle contient
le symbole de contradiction .
Il nest pas necessaire, pour lapplication de la r`egle de contradiction, que A et A
figurent dans cet ordre, ni meme consecutivement, dans larbre : il suffit quils soient
dans la meme branche.
10.2 Justification de la methode
Le theor`eme suivant fonde cette methode :

P ROPRI E T E XII (T H E OR E` ME DE B ETH ) : La formule F est un theor`eme si et


seulement si F est la racine dun arbre dont toutes les branches sont closes.

10.3 Exemple
Demonstration de ((P Q) P ) P
((P Q) P ) P
P

(P Q) Q

P Q

V. Completude du calcul propositionnel


1 Theor`eme de completude
On a jusqu`a maintenant deux points de vue :
1. La theorie des valeurs de verite, avec ses
tables de verites,
fonctions de verites,
tautologie, consequence, hypoth`ese.
2. La theorie de demonstration, avec ses
axiomes,
180

r`egles dinference,
demonstrations (ou deductions sous hypoth`eses).
On peut se demander si les resultats obtenus dans chacune des deux theories sont
identiques, cest-`a-dire faire letude de la completude du calcul propositionnel...
1.1 Theor`eme
Le theor`eme de completude du calcul propositionnel senonce ainsi :

P ROPRI E T E XIII (T H E OR E` ME DE COMPL E TUDE ) : Tout theor`eme est une tautologie et reciproquement, soit :
F si et seulement si |= F .

Autrement dit, les deux points de vue (theorie des valeurs de verite, theorie de la
demonstration) sont e quivalents pour les theor`emes et les tautologies.
1.2 Demonstration
Hypoth`ese : F (cest-`a-dire : F est un theor`eme) : La demonstration utilise les
resultats suivants :
Tous les axiomes du calcul propositionnel sont des tautologies (simple calcul sur
leurs fonctions de verite, qui ne sera pas developpe ici).
La r`egle de detachement est valide (voir exemple du paragraphe 3.3.2 : {P, P
Q} |= Q.
Il resulte de ces considerations que, lorsquon effectue une demonstration (donc :
une deduction sans hypoth`eses), cette demonstration utilise des axiomes, qui sont des
tautologies, cest-`a-dire des formes propositionnelles (( toujours vraies )), et en deduit
dautres formes propositionnelles ; dapr`es la validite du (( modus ponens )), les formes
propositionnelles qui ont e te deduites sont (( vraies )) chaque fois que les formes dorigine le sont aussi ; or, ces derni`eres le sont toujours, donc les formes deduites le sont
aussi toujours ; autrement dit, les formules deduites en theorie de la demonstration sont
des tautologies. Conclusion : |= F .
Hypoth`ese : |= F (cest-`a-dire : F est une tautologie) : Plus complique : il faut
exhiber une demonstration dune tautologie. La demonstration se fait en trois e tapes :
e tape 1 : On montre que, si |= F , alors {P1 P1 , P2 P2 , . . . , Pn Pn } F
[Dans cette expression, P1 , P2 , . . . , Pn sont les variables propositionnelles qui
interviennent dans lexpression de F , a` lexclusion de toute autre].
e tape 2 : On montre que A A.

181

e tape 3 : On montre que, si, i {1, 2, ..., p}, Bi et si {B1 , B2 , . . . , Bp }


C , alors C ou transitivite de la deductibilite [ est un ensemble, e ventuellement
vide, dhypoth`eses].
Conclusion : Letape 3, appliquee a` P1 P1 , P2 P2 , . . . , Pn Pn
[lensemble dhypoth`eses est ici vide] permet dobtenir : F .
Voici le detail de la demonstration des trois e tapes :
e tape 1 : Toute ligne dune table de verite concernant une forme propositionnelle
peut e tre interpretee comme introduisant une (( r`egle de deductibilite )). Exemple :
P Q P Q
de la table de verite de la disjonction logique peut
la ligne
V F
V
e tre interpretee comme representant une deduction : {P, Q} (P Q). Cette
(( r`egle de deductibilite )) resulte immediatement des considerations suivantes :
Deduction sous les hypoth`eses {P , Q}
1
2

Hypoth`ese 1
Axiome 6

P
P P Q

3 m.p. sur 2 , 3 P Q
Conclusion (P, Q) P Q.
[remarque : lhypoth`ese Q ne sert en fait pas, mais peu importe]. Il suffit alors
detablir ces (( r`egles de deductibilite )) pour toutes les lignes des tables de verite
des connecteurs logique (ce qui est un peu long -il y en a 18 - mais ne presente
pas de veritable caract`ere de difficulte, elles sont proposees en TD) ; comme la
table de verite de F est obtenue a` partir de celles des connecteurs logiques, chacune de ses lignes peut aussi e tre consideree comme une r`egle de deductibilite ;
comme F est une tautologie, sa derni`ere colonne est uniquement composee
de (( V )), autrement dit, les r`egles de deductibilite qui la concernent pourront
secrire :
{ P1 , P2 , . . . , Pn1 , Pn } F
{ P1 , P2 , . . . , Pn1 , Pn } F
. ...
...
..
......
.... . . .
{ P1 , P2 , . . . , Pn1 , Pn } F
{ P1 , P2 , . . . , Pn1 , Pn } F
[Le tableau comporte 2n lignes]. Il ne reste plus qu`a e tablir que, si est un
ensemble quelconque de formes propositionnelles, et si on a {A} C et
{B} C, alors on a {A B} C, ce qui se fait de la mani`ere suivante
(il sagit en fait dune disjonction des cas) :
{A} C est e quivalent a` A C [dapr`es le theor`eme de la
deduction].
{B} C est e quivalent a` B C [dapr`es le theor`eme de la
deduction].
Donc, dans une
Deduction sous les hypoth`eses :
182

1
2
3
4

Resultat intermediaire 1 A C
Resultat intermediaire 2 B C
Axiome 8
(A C) ((B C) (A B C))
m.p. sur 1 , 3

(B C) (A B C)

5 m.p. sur 2 , 4
A B C
Conclusion A B C
Donc, si on suppose {A} C et {B} C, il existe une deduction sous les
hypoth`eses dont la conclusion est A B C. Cest a` dire : A B
C. Dapr`es le theor`eme de la deduction, ce dernier resultat est e quivalent a` :
{A B} C. Cest la conclusion qui e tait recherchee.
Ce resultat est a` present applique n fois de suite aux 2n (( r`egles de deductibilite )),
que lon prend deux par deux, pour obtenir enfin : {P1 P1 , P2 P2 , . . . , Pn
Pn } F .
e tape 2 : Il faut montrer que : A A (theor`eme du tiers-exclu).
Demonstration :
1
Axiome 6
A A A
2
Th. de la contrap. (A A A) ((A A) A)
3

m.p. sur 1 , 2

Axiome 7

Th. de la contrap.

m.p. sur 4 , 5

Axiome 10

m.p. sur 3 , 7

m.p. sur 6 , 8

10

Axiome 9

(A A) A
A A A

(A A A) ((A A) A)

(A A) A

((A A) A) (((A A) A) (A A))

((A A) A) (A A)
(A A)

(A A) A A

11 m.p. sur 9 , 10
A A
Conclusion : A A.
e tape 3 : Il faut montrer que, si, i {1, 2, ..., p}, Bi et si {B1 , B2 , . . . , Bp }
C, alors C. Pour cela, il suffit de remarquer quune (( conclusion partielle )),
cest a` dire une formule obtenue au cours dune deduction, est dument e tablie, et
peut donc servir pour des inferences dans la suite (cette remarque a dej`a e te utilisee dans plusieurs des demonstrations de ce cours). Ainsi, il suffit de regrouper
au sein dune meme deduction (sous les hypoth`eses de ), les deductions qui
m`enent aux Bi (pour 1 6 i 6 p). Ceux-ci seront consideres, dans la suite,
comme (( conclusions partielles )) ou (( resultats intermediaires )). Et ils seront
donc reutilises en tant que tels dans la suite de la deduction, qui consistera a`
recopier la deduction de C (sous les hypoth`eses Bi ). Dans cette deduction, les
references aux Bi , en tant quhypoth`eses, seront remplacees par les references
aux lignes qui prec`edent dans lesquelles les Bi ont e te obtenus comme (( conclu183

sions partielles )). Cette nouvelle deduction sera bien une deduction de C sous
les hypoth`eses de .
Le theor`eme de completude est e tabli.
2 Theor`eme de completude generalise
Le resultat e nonce dans le theor`eme de completude au sujet des theor`emes (donc
des deductions sans hypoth`eses) et des tautologies est e tendu aux deductions sous
hypoth`eses et aux consequences logiques ; cest-`a-dire :

P ROPRI E T E XIV (T H E OR E` ME DE COMPL E TUDE G E N E RALIS E ) : On a


{P1 , P2 , . . . , Pn } Q si et seulement si {P1 , P2 , . . . , Pn } |= Q

La demonstration de ce theor`eme est obtenue aisement en appliquant, pour la partie


(( theorie de la demonstration )), le theor`eme de la deduction, et, pour la partie (( theorie
des valeurs de verite )), le theor`eme de validite. Il ne reste plus alors qu`a appliquer le
theor`eme de completude.
Ainsi, {P1 , P2 , . . . , Pn } Q est remplace par (P1 (P2 (Pn
Q) ))
et {P1 , P2 , . . . , Pn } |= Q est remplace par |= (P1 (P2 (Pn
Q) )).
Fin du Chapitre

184

Chapitre 11
Calcul des predicats
I. Introduction
1 Insuffisances de la formalisation en Calcul Propositionnel
La Logique des propositions ne soccupe, on le sait, que des liens entre les propositions realises a` laide des connecteurs logiques.
Autrement dit, une fois quune proposition (( complexe )) a e te analysee suivant ces
connecteurs, il subsiste des (( atomes )) (non secables en Logique des Propositions) et
lanalyse ne peut pas e tre poussee plus profondement... alors quil existe cependant
encore des (( relations )) entre ces atomes, relations que la Logique des Propositions ne
permet pas de prendre en compte.
1.1 Introduction des (( predicats ))

E XEMPLE 1. La proposition (( Pierre est le p`ere de Marc )) ne comporte aucun connecteur logique, elle nest plus analysable en Logique des Propositions, on ne peut la
formaliser que par une variable propositionnelle, par exemple : A.
Alors que la proposition (( Jean est le p`ere de Sylvie )) entretient des rapports
e vidents avec la precedente, elle ne peut e tre formalisee en Logique des Propositions,
elle aussi, que par une (autre) variable propositionnelle, par exemple : B.
Apr`es la formalisation, donc, on se retrouve avec deux variables propositionnelles
A et B, sans lien aucun entre elles, alors quil est e vident que ces deux propositions e voquent un meme lien de parente (la paternite), simplement entre des individus
differents.

185

Ce premier exemple sugg`ere la necessite, pour poursuivre lanalyse des propositions, de la creation dun langage qui permettrait de decrire des proprietes accordees
(ou non) a` des individus, ou les reliant.
Cette preoccupation est aussi celle des Mathematiciens, qui soccupent, par exemple,
de decrire les proprietes des entiers naturels.
Il faudra donc envisager des (( variables )) , dans un certain domaine, et, pour certaines (( valeurs )) de ces variables, certaines proprietes seront (( vraies )) ou (( fausses )).
1.2 Introduction de l(( univers du discours ))

E XEMPLE 2. Soit la proposition (( 7 na pas de racine carree )).


En calcul propositionnel, elle ne peut e tre formalisee que par une variable propositionnelle.
De plus, il semble meme difficile de lui accorder une (( valeur de verite )) ; en effet, si
lon se place dans lensemble des entiers naturels, cette proposition est (( vraie )), alors
que si lon se place dans lensemble des nombres reels, elle est e videmment fausse.

Dans ce second exemple, comme dans le premier, la proposition e voque une propriete, accordee ou refusee, a` un objet bien precis (7).
Bien entendu, la valeur de verite depend de la valeur de cet objet, mais aussi de
lensemble dans lequel ces valeurs peuvent e tre choisies.
On pourra envisager de formaliser (partiellement) une telle proposition par une
expression du type (( x a une racine carree )), et la valeur de verite de la proposition
obtenue en (( donnant a` x une valeur )) depend, non seulement de cette valeur, mais
aussi de lensemble dans lequel cette valeur peut e tre prise.
Dune mani`ere generale, et avant de donner une definition precise de ces concepts,
on dira quune (( propriete )) possedee (ou non) par un objet est un predicat.
La valeur de verite de la proposition obtenue en appliquant ce predicat a` un (ou
plusieurs) objets depend de lunivers du discours, cest a` dire de lensemble des valeurs
reconnues comme possibles (par exemple, dans lexemple precedent, N ou R), et aussi,
bien entendu, de cette valeur elle-meme.
1.3 Introduction de la (( quantification ))

E XEMPLE 3. Considerons les propositions (( Tous les e tudiants sont serieux )) et (( certains e tudiants sont serieux )).
186

La Logique des Propositions est incapable de faire apparatre le lien manifeste qui
existe entre elles. Elle ne pourra les formaliser que par A et B, parce quelles sont
differentes et que lune nest pas la negation de lautre.

La generalisation du calcul propositionnel suggeree ici est encore plus grande que
dans les exemples precedents, puisque la propriete e voquee ((( e tre serieux )) ) est accordee, par ces propositions, non pas seulement a` un individu bien precis, mais a` certains individus, consideres dans leur ensemble, ou meme a` toute une categorie dindividus, sans quaucun ne soit nommement designe.
Ce troisi`eme exemple sugg`ere la notion de quantification dune variable (tous les...,
certains...).
Lobjet du calcul des predicats est detudier et de formaliser les notions qui viennent
detre bri`evement e voquees, et que le calcul propositionnel ne permet pas de faire apparatre.
2 Univers du discours, sujets et individus
Le calcul des predicats fait intervenir des variables, qui prennent des valeurs dans
un certain ensemble appele, on la dit, univers du discours.
Les e lements de cet univers sont appeles sujets.
Un sujet distingue ou individu est une (( valeur particuli`ere )) dune variable (dun
sujet) dans lunivers du discours.
E XEMPLE 4. 7 est un individu, ou un sujet distingue, dans lunivers du discours des
entiers naturels. Le nom de cet individu est (( sept )) , il est represente par le symbole 7.

3 Groupes operatoires et termes


Il existe deux mani`eres de distinguer un sujet de lunivers du discours.
le nommer (donner explicitement son nom, ou le symbole qui le represente),
comme dans lexemple precedent, pour lentier 7.

187

le designer indirectement par une (( propriete )) caracteristique (quil doit donc


e tre le seul a` posseder, de mani`ere a` ce quil soit identifie sans aucune ambigute).
E XEMPLE 5. Par exemple, si P ierre est le p`ere de Jean, il est possible de distinguer P ierre sans le nommer explicitement par la locution (( le p`
ere de Jean )).

E XEMPLE 6. Lentier 7 peut e tre distingue sans e tre nomme explicitement par
lexpression 5 + 2 qui designe un et un seul entier positif.

De mani`ere tout a` fait precise :


D E FINITION 1 (O P E RATION N - AIRE ). Soit U lunivers du discours.
On appelle operation n-aire definie sur U toute application de U n dans U .

Soit f une telle operation n-aire.


D E FINITION 2 (G ROUPE OP E RATOIRE ). Lexpression f (x1 , x2 , . . . , xn ) est appelee
groupe operatoire a` n places.
f (le symbole de lapplication) est plutot appele, en calcul des predicats, symbole
operatoire ou symbole fonctionnel.

Comme toute application donne une image et une seule de tout e lement de son
domaine, un groupe operatoire a` n places represente bien, sans ambigute, un individu
de lunivers du discours.
E XEMPLE 7. Laddition ordinaire des entiers est une operation binaire sur IN et +(x, y).
Le groupe operatoire correspondant designe, de mani`ere unique, un e lement de cet
ensemble, d`es que les variables x et y ont e te remplacees dans son expression par des
sujets distingues (par une methode ou une autre).
Ainsi, +(5, 2) est lindividu qui peut aussi e tre represente par 7.

188

E XEMPLE 8. Le groupe operatoire a` 1 place p`


ere(x) designe sans ambigute un et un
seul individu dans lunivers des e tres humains, d`es que la variable x a e te remplacee
par un sujet distingue.
Si Jean est bien un nom dindividu (cest a` dire, designe bien un individu unique),
sil en est de meme de P ierre, et si P ierre est le p`ere de Jean, alors p`
ere(Jean)
distingue lindividu P ierre.

Par extension, et par convention, un nom dindividu est considere comme groupe
operatoire zero-aire (sans variable).

D E FINITION 3 (T ERME ). En calcul des predicats, on fait intervenir des groupes operatoires
a` n places. Le resultat est un terme du calcul des predicats :
une variable,
une (( constante )) (un groupe operatoire zero-aire),
un groupe operatoire n-aire (n > 1) f (t1 , t2 , . . . , tn ), dans lequel t1 , t2 , . . . , tn
sont des termes et f un symbole operatoire (ou fonctionnel).

R EMARQUE 1. Cest une definition recursive.


4 Groupes relationnels et atomes
Il sagit ici de faire intervenir les relations qui peuvent lier des individus de lunivers du discours.
E XEMPLE 9. (( 22 est le double de 11 )), (( 46 est le double de 45 )) sont des propositions
(vraies ou fausses !) qui e voquent la relation (( e tre le double de )) .

Tr`es precisement, soit U lunivers du discours.


D E FINITION 4 (R ELATION N - AIRE ). On appelle relation n-aire definie sur U toute
application de U n dans {0, 1} (ou {faux,vrai}).

D E FINITION 5 (G ROUPE RELATIONNEL , PR E DICAT ). Si r est une telle relation naire, on appelle groupe relationnel a` n places, ou predicat de poids n lexpression
r(t1 , t2 , . . . , tn ) dans laquelle t1 , t2 , . . . , tn sont des termes.

189

R EMARQUE 2. r (le symbole de lapplication) est encore appele symbole relationnel,


ou symbole de predicat.
Par extension et par convention, un groupe relationnel zero-aire (sans (( variables )))
est une proposition (qui a donc une valeur de verite).
R EMARQUE 3. On notera que, lorsque les termes qui interviennent dans un groupe
relationnel sont des individus, ce groupe devient une proposition (vraie ou fausse) :
double de(x, y) est un predicat, ou groupe relationnel a` deux places defini sur
U = N.
double de(22, 11) est une proposition (vraie).
double de(+(23, 23), +(40, 5)) en est une autre (fausse !).
Dans une formule du calcul des predicats, un groupe relationnel est un atome.
5 Les quantificateurs
Considerons la proposition (( Tous les e tudiants travaillent les mathematiques ))
pour lanalyser du point de vue du calcul des predicats.
Aucun connecteur logique napparat. Par contre, on peut remarquer lintervention
dun predicat (de poids deux) qui peut e tre formalise par travaille(x, y), et qui signifie
quun individu x travaille une certaine mati`ere y.
Il faut preciser lunivers du discours, il sagit ici dun ensemble produit cartesien
de deux ensembles :
le premier est lensemble des e tudiants,
le second un ensemble de noms de mati`eres (celles qui sont susceptibles detre
enseignees).
Il est bien clair quil sagit dune proposition. Or, si la seconde variable (y) est
bien remplacee par un symbole dindividu (maths), aucun nom, explicite ou implicite, nest donne pour designer un e tudiant particulier : on a (( travaille(x, maths) ))
sans que lon sache (( qui est x )) .
Il sagit dune construction particuli`ere, qui permet dobtenir des propositions a`
partir de groupes relationnels sans quune variable soit distinguee, et qui porte le nom
de quantification : le sujet x nest pas distingue, il est quantifie.
N OTATION : La notation utilisee pour cette quantification est (( x travaille(x, maths) )).

190

D E FINITION 6 (Q UANTIFICATEUR UNIVERSEL ). est un symbole de quantificateur,


appele le quantificateur universel. On dit alors que x est le quantificateur universel

de la variable x.
R EMARQUE 4. Dans une expression quantifiee, un symbole de variable (x) subsiste,
bien que le resultat de lexpression quantifiee soit une proposition.
Mais ce symbole na plus la meme signification que dans lexpression (non quantifiee) (( travaille(x, maths) )) qui, elle, nest pas une proposition.
travaille(x, maths) nest pas une proposition :
valeur de verite si on ne sait pas (( qui est x )).

impossible de lui attribuer une

D E FINITION 7 (VARIABLE LIBRE ). La variable representee par le symbole x est dite


libre, ce qui signifie quelle est susceptible de recevoir nimporte quelle valeur (de
lunivers du discours).

Le fait de remplacer ce symbole par un terme qui distingue un individu transforme


lexpression en proposition, qui a alors une valeur de verite.

E XEMPLE 10. Cest ainsi que travaille(Jean, maths) est vrai ou f aux, et que travaille(f ils(P ierre), m
est aussi vrai ou f aux.

x travaille(x, maths) est une proposition : la variable representee par le symbole x nest plus libre (on dit quelle est liee par le quantificateur x).
En effet, il est devenu impossible de lui attribuer une valeur quelconque de lunivers
du discours, que ce soit par un nom ou par un terme, sous peine de perte totale de sens.
R EMARQUE 5. Il nest pas possible de substituer quoi que ce soit a` x dans cette expression, si ce nest un autre symbole de variable : en effet, y travaille(y, maths) a
tr`es exactement le meme sens, et la meme valeur de verite.

E XEMPLE 11. Les (( variables liees )) (on dit aussi variables muettes) sont dun emploi
courant en Mathematiques.
Par exemple, considerons lexpression

3
X
i=1

191

i = 1 + 2 + 3 = 6.

Bien quun symbole de variable (i) intervienne dans cette expression, le resultat ne
fait pas intervenir de variable : cest une simple valeur numerique.
On pourrait, sans changer cette valeur, attribuer un autre symbole a` la variable
3
X
muette, par exemple, on a aussi
j = 6.
j=1

Bref, la variable nest en fait presente que (( fictivement )), elle nintervient pas dans
le resultat. Il est par consequent impossible de lui attribuer quelque valeur que ce soit,
alors que cest possible pour une variable libre.
Par exemple dans lexpression (i + j) (qui na pas de valeur), on peut (( donner a` i
la valeur 3 )) pour obtenir (3+j) et a` j la valeur 5 pour obtenir (3+5), qui a maintenant
une valeur.

Dans lexemple prededent, la proposition e tait obtenue a` partir du groupe relationnel par substitution de la seconde variable par un individu et par quantification de la
premi`ere.
Toutes les variables dun groupe relationnel peuvent e tre quantifiees, pour obtenir
toujours une proposition.
E XEMPLE 12. Dans la proposition (( Tous les e tudiants travaillent une mati`ere )) , intervient le meme groupe relationnel a` deux places travaille(x, y) ; on remarque quaucun
e tudiant nest explicitement nomme, pas plus que la mati`ere quil travaille.
Il faut formaliser cette proposition en calcul des predicats par (( pour tout e tudiant,
il y a une mati`ere, et cet e tudiant travaille cette mati`ere )) , soit xy travaille(x, y) :
la variable x est liee par le quantificateur universel x et la variable y est liee par le
quantificateur existentiel y

R EMARQUE 6. Dans dautres Logiques, on fait intervenir dautres symboles de quantificateurs.


Ces autres Logiques se situent en dehors du cadre de notre e tude.
ATTENTION : Il est interdit dintervertir des quantificateurs de symboles differents
(si lon desire que la proposition conserve le meme sens, bien entendu).
E XEMPLE 13.
La proposition xy travaille(x, y) signifie que tout e tudiant
travaille une mati`ere (au moins).
192

Autrement dit, la mati`ere travaillee est fonction de letudiant, elle depend de cet
e tudiant, elle nest e ventuellement pas la meme pour tous les e tudiants.
La liaison des variables x et y par des quantificateurs xy (dans cet ordre)
introduit donc une relation entre x et y.
Selon la valeur de x, y pourra prendre telle ou telle valeur, a priori pas la meme
pour chaque valeur de x.
La proposition yx travaille(x, y) signifie : il y a une mati`ere que tous les
e tudiants travaillent.
La difference fondamentale avec le cas precedent est que, dans cette derni`ere
proposition, on affirme que tous les e tudiants travaillent la meme mati`ere.

E XEMPLE 14. Un autre exemple, plus mathematique :


xy (x + y = x), soit : (( pour tout x, on peut trouver un y, tel que x + y = x ))
. Si lunivers du discours est une alg`ebre de Boole, il est clair que la proposition
est vraie : il suffit pour sen convaincre de choisir y = x, et on a bien, en alg`ebre
de Boole, x + x = x : la valeur de y depend bien de celle de x (cest la meme).
yx (x + y = x), soit : (( il existe une valeur de y telle que, pour tout x, x +
y = x )) . Si lunivers du discours est une alg`ebre de Boole, il est clair que la
proposition est vraie : la valeur 0 pour y convient, et, si y = 0, on a bien, quelle
que soit la valeur de x, x + 0 = x.

E XEMPLE 15. En supposant que (a, b, c) prenne ses valeurs dans un univers du discours qui est une partie de R3 telle que b2 4ac > 0, la proposition :
abcx (ax2 + bx + c = 0) est une proposition vraie (une e quation du second
degre dont le discriminant est positif admet des racines reelles, et tout le monde
sait que les valeurs de ces racines dependent de celles de a, de b et de c.
xabc (ax2 + bx + c = 0) est une proposition fausse : il ny a pas de reel
qui soit solution de nimporte quelle e quation du second degre !

193

6 Formules du calcul des predicats


Comme les groupes relationnels produisent des propositions
soit quand les variables sont remplacees par des individus,
soit quand elles sont liees par quantification,
il est possible de relier de telles expressions par les connecteurs logiques habituels,
comme en calcul propositionnel.
On obtient ainsi une formule du calcul des predicats...
D E FINITION 8 (ATOME ). On appelle atome un groupe relationnel n-aire, dans lexpression duquel les e ventuelles variables sont des termes.

D E FINITION 9 (F ORMULE ). La definition dune formule est alors :


Une formule est un atome,
si P est une formule, si q est un symbole de quantificateur et si x est un symbole
de variable, alors qx (P ) est une formule,
si P est une formule, alors (P ) est une formule,
si P et Q sont des formules, alors (P ) (Q), (P ) (Q), (P ) (Q), (P )
(Q) sont des formules.

7 Champ dun quantificateur


D E FINITION 10 (C HAMP D UN QUANTIFICATEUR ). Le champ dun quantificateur dans
une formule du calcul des predicats est la partie de cette formule couverte par ce quantificateur.

Par convention, dans lecriture dune formule, un quantificateur est prioritaire sur
tout connecteur logique, son champ est donc generalement clairement delimite par
une paire de parenth`eses (dapr`es la r`egle de priorite, sil ny a pas de parenth`eses, son
champ est limite au premier connecteur rencontre).
E XEMPLE 16. Ainsi, dans la formule : x p(x, y) q(x), le champ du quantificateur
x est strictement limite a` latome p(x, y).
Autrement dit, q(x) se trouve en dehors de ce champ.
On remarquera que, dans q(x), x est donc libre, alors quelle est liee dans p(x, y),
ce qui signifie donc que le symbole x na pas la meme signification dans lensemble
de la formule :
dans q(x), elle peut e tre remplacee par nimporte quel terme ou individu,
ce nest pas le cas dans p(x, y).
194

R EMARQUE 7. Une telle expression serait consideree comme incorrecte en calcul


algebrique, par exemple, de meme que dans tout langage de programmation.
En effet, un meme symbole ou identificateur ne peut designer quun seul objet a` la
fois et, pour des objets differents, dans une meme formule, il faut utiliser des symboles
differents.
Par contre, en calcul des predicats, une telle expression est parfaitement licite.
Il vaut e videmment mieux sabstenir dexpressions qui entretiennent de telles ambigutes, mais elles sont admises parce quelles peuvent intervenir (( independamment
de notre volonte )) lors de substitutions (voir plus loin).
Toujours est-il que, si le champ du quantificateur x est lensemble de la formule
precedente, lecriture de celle-ci doit e tre : x (p(x, y) q(x)).

II. Theorie de la validite en calcul des predicats


1 Extension des valeurs de verite au calcul des predicats
1.1 Valeurs de verite en calcul des predicats
Le calcul des predicats utilise, comme le calcul propositionnel, les connecteurs logiques, et produit des propositions.
Il est possible detendre la notion de (( valeur de verite )) au calcul des predicats.
Mais letude de la valeur de verite dune formule du calcul des predicats est beaucoup plus compliquee.
1. Une expression typique (une forme propositionnelle) du calcul propositionnel
est P Q.
Les (( atomes )) sont ici des variables propositionnelles qui peuvent e tre remplacees par nimporte quelle proposition. Quelle que soit cette proposition, sa
valeur de verite ne peut e tre que (( vrai )) ou (( faux )).
Cela permet de lui associer une simple variable booleenne, sa valeur de verite,
pour obtenir simplement la fonction de verite p + q.
2. Une expression analogue (une formule) du calcul des predicats pourrait e tre
p(x, y) q(x, z).
Les atomes sont ici des predicats de poids deux qui, eux aussi, ne peuvent
prendre que les valeurs (( vrai )) ou (( faux )), mais pas independamment du predicat
195

considere.
Il nest donc pas possible de remplacer un atome par une simple variable booleenne.
Seule une fonction booleenne (de variables non booleennes) peut convenir, pour faire
intervenir les valeurs des variables qui sont les arguments du groupe relationnel.
si f (x, y) est la fonction booleenne associee au predicat p(x, y)
si g(x, z) est celle qui est associee a` q(x, z),
alors la fonction de verite de la formule est : f (x, y) + g(x, z).
Attention, x, y et z ne sont pas ici des variables booleennes, mais elles prennent
leurs valeurs dans lunivers du discours. Il nest donc pas question de (( calculer avec
x, y et z comme en alg`ebre de Boole )).
Le seul moyen, en general, pour e tudier une telle fonction de verite est de construire
le tableau de ses valeurs, en donnant a` x, y et z successivement toutes les valeurs
possibles dans lunivers du discours (si celui-ci est infini, on imagine aisement les
probl`emes qui vont se poser...).

1.2 Definitions
Les definitions de tautologie et de consequence logique (en calcul des predicats,
on dira plutot consequence valide) sont les memes...

D E FINITION 11 (TAUTOLOGIE , CONS E QUENCE


sont des formules du calcul des predicats

QUIVALENCE ).
VALIDE , E

si P et Q

|= P [P est une tautologie] si et seulement si, pour tous les univers du discours
possibles, pour tous les predicats qui peuvent intervenir dans P , et pour toutes
les valeurs des variables dans chacun des univers, la valeur de verite de P est
(( vrai )).
P |= Q [Q est consequence valide de P ] si et seulement si, dans les memes
conditions que ci-dessus, chaque fois que P est vraie, Q lest aussi.
P Q [les formules P et Q sont e quivalentes] si et seulement si P |= Q et
Q |= P .
Il faut donner la definition de la fonction de verite pour les nouveaux symboles
introduits (les quantificateurs)...

196

la valeur de verite de x p(x) est obtenue en faisant la liste des valeurs de verite
de p(x) pour toutes les valeurs possibles de x dans lunivers du discours (liste
effective lorsque cest possible, ou demonstration). Si, pour toute valeur de x, la
valeur de verite de p(x) est vrai, alors la valeur de verite de x p(x) est vrai.
Sil y a une seule valeur de x pour laquelle la valeur de verite de p(x) est f aux,
alors la valeur de verite de x p(x) est f aux.
la valeur de verite de x p(x) est obtenue en faisant la liste des valeurs de verite
de p(x) jusqu`a ce quon trouve vrai. Si on trouve vrai, la valeur de verite de
x p(x) est vrai. Si, pour tout e lement x de lunivers du discours, la valeur de
verite de p(x) est f aux (liste effective ou demonstration), alors celle de x p(x)
est f aux.
Bien entendu, dans certains cas, il nest pas necessaire detablir effectivement la
table de verite dune formule du calcul des predicats pour prouver quil sagit dune
tautologie. Par exemple, il est bien clair que, pour un atome p(x, y, z) (mais aussi pour
toute formule P ), on a : |= p(x, y, z) p(x, y, z).
Mais, pour donner un exemple de la complexite introduite en theorie des valeurs
de verite par le calcul des predicats, e tudions la formule p(x) p(y) pour savoir sil
sagit dune tautologie (p(x) est e videmment un predicat unaire : difficile de proposer
un exemple plus simple). Pour prouver quil sagit dune tautologie, il faut prouver
que :
pour tout predicat unaire p,
pour tout univers du discours U,
pour toutes valeurs des variables x et y dans U,
la valeur de verite de la formule est vrai. (( Pour tout univers du discours )) : il faut
envisager des univers a` 1, puis 2,... e lements et essayer den deduire un resultat general,
si cest possible.
Dans un univers a` un seul e lement, x, comme y, ne peut prendre quune seule
valeur ; on a donc x = y, et donc la valeurs de verite de p(x) est la meme que
celle de p(y), et donc p(x) p(y) est vraie [table de limplication].
Dans un univers a` deux e lements, pour que la valeur de verite de p(x) soit
definie, il faut se la donner pour chacune des deux valeurs de x ; or, il faut le faire
(( pour tout predicat unaire p )) , donc envisager toutes les fonctions booleennes
de deux variables : il y en a quatre, que nous noterons z, i, n, et r. Designons
les deux e lements de U par 1 et 2 (pour ne pas les confondre avec des variables
booleennes) :
x

z(x)

i(x)

n(x)

r(x)

f aux f aux

vrai

vrai

2 f aux vrai f aux vrai


Puis il faut faire le tableau des valeurs de verite de p(x), p(y) et de p(x) p(y)
197

en fonction des valeurs de x et de y et de la fonction booleenne associee a` p (z,


i, n, ou r)
fonction booleenne de p x y
z

p(x)

p(y)

p(x) p(y)

f aux f aux

vrai

f aux f aux

vrai

f aux f aux

vrai

f aux f aux

vrai

f aux f aux

vrai

f aux

vrai

vrai

vrai

f aux

f aux

.....

.....

.............

n
. . ..... ..... .............
Inutile de construire le reste du tableau : on a trouve f aux dans une ligne, donc
p(x) p(y) nest pas une tautologie [en effet, il existe un predicat unaire, un
univers a` deux e lements, et, dans cet univers, une valeur de x et une valeur de y
pour lesquels la formule est fausse...].
Exemples Donnons enfin deux exemples pour lesquels la construction dune table
de verite nest pas necessaire :
E XEMPLE 17 (M ONTRER QUE |= x p(x, x) xy p(x, y).). Soit U un univers
du discours, p une relation binaire sur U.
Premier cas : dans U, x p(x, x) est f aux ; alors limplication est vraie.
Deuxi`eme cas : dans U, x p(x, x) est vrai ; donc, pour chaque valeur de x dans
U, p(x, x) est vrai. Alors xy p(x, y) est vrai car, pour toute valeur de x, il
suffit de prendre pour y la meme valeur que celle de x pour que p(x, y) soit
vrai.

E XEMPLE 18 (M ONTRER QUE x (r(x) s(x)) x (r(x) s(x)) N EST NI UNE


Pour montrer que cette formule nest pas une antilogie, il suffit dexhiber un exemple
dans lequel elle est vraie ; pour montrer quelle nest pas une tautologie, il suffit dexhiber un exemple dans lequel elle est fausse.
U est lensemble des habitants de la France ; r(x) est le predicat (( x habite Belfort )) et s(x) est le predicat (( x habite la France )) . Puisque Belfort est en France,
198

ANTILOGIE , NI U

tout habitant de Belfort habite la France, donc x (r(x) s(x)) est vrai.
Mais tous les habitants de la France ne sont pas concentres a` Belfort, autrement dit : il existe des habitants de la France qui nhabitent pas Belfort, donc :
x (r(x) s(x)) est vrai ; enfin, dapr`es la table de verite de la conjonction
logique, la formule est vraie.
U est un ensemble E, dans lequel on a defini deux parties R et S, telles que
S R ; r(x) est le predicat (( x R )) et s(x) est le predicat (( x S )) . Comme
S R, tout e lement exterieur a` R ne peut pas e tre dans S, donc x (r(x)
s(x)) est f aux, et donc la formule est fausse.

2 Equivalences
classiques entre formules
De la definition de la valeur de verite dune formule quantifiee, on peut deduire :
x p(x) x p(x)
x p(x) x p(x).
` titre dillustration de cette propriete, voici un exemple ; considerons la proposition :
A
(( Lensemble des entiers naturels admet un e lement maximum )) (cette proposition est,
bien sur, fausse !). Pour formaliser cette proposition en calcul des predicats, il faut
introduire le predicat classique dinegalite quil faudrait, en toute rigueur, noter 6
(x, y), qui signifie que x est inferieur ou e gal a` y, mais pour lequel nous conserverons
la notation usuelle x 6 y. Lunivers du discours est e videmment N, et, pour exprimer
que N admet un e lement maximum, on exprime que tout e lement de N est inferieur ou
e gal a` cet e lement maximum. Soit : Mn (n 6 M) (en calcul des predicats, on ne
precise jamais lunivers du discours dans la formule, comme on le fait habituellement
en mathematiques : M N, n N, n 6 M). Cette proposition e tant fausse, sa
negation est vraie, soit (Mn (n 6 M)). Dapr`es ce que nous venons de voir, cette
negation a meme valeur de verite que : Mn (n 6 M), ou encore Mn (M <
n) ; cest a` dire, pour tout entier M, on peut trouver un entier n qui est plus grand
(autrement dit, on ne pourra jamais en trouver un plus grand que tous les autres, ce qui
exprime bien la propriete que N na pas delement maximum).
Voici dautres resultats dequivalences entre formules :
x (p(x) q(x)) x p(x) x q(x)
x (p(x) q(x)) x p(x) x q(x)
x (p(x) q(x)) x p(x) x q(x)
En effet, si, pour toute valeur de x, p(x) et q(x) sont simultanement vrais, alors, pour
toute valeur de x, p(x) est vrai, et, pour toute valeur de x, q(x) est vrai. Reciproquement,
si, pour toute valeur de x, p(x) est vrai, et, si, pour toute valeur de x, q(x) est aussi vrai,
il est bien e vident que, pour toute valeur de x, p(x) et q(x) sont simultanement vrais.
Sil existe une valeur de x pour laquelle lune au moins des deux proprietes p(x) ou
q(x) est vraie, il est bien clair quil existe une valeur de x pour laquelle p(x) est vraie
ou quil en existe une pour laquelle q(x) est vraie ; la reciproque est aussi e vidente.
199

Mais attention : dans lunivers du discours U = R, x (x < 0) est vraie, x (x > 0)


est vraie aussi, mais x ((x < 0) (x > 0)) nest pas vraie ! Dans le meme univers,
x ((x < 0) (x > 0)) est e videmment vraie, alors que x (x < 0) x (x > 0)
nest, e videmment aussi, pas vraie !
Dapr`es les tables de verite des connecteurs logiques, x (p(x) q(x)) est
e quivalente a` x (p(x) q(x)), qui est e quivalente a` x p(x) x q(x), or x p(x)
est e quivalente a` x p(x) (voir ci-dessus), donc notre formule est encore e quivalente
a` x p(x) x q(x), soit, finalement, a` x p(x) x q(x).
On remarquera bien que dans, par exemple, x p(x)x q(x), les deux occurrences
de x ne representent pas la meme variable, mais deux variables liees ou muettes, tandis que dans x (p(x) q(x)), les deux occurrences de x representent bien la meme
variable (toujours muette).
3 Substitutions libres
On notera par A(x) une formule du calcul des predicats (eventuellement compliquee !) dans laquelle la variable x presente des occurrences ; ces occurrences peuvent
e tre libres ou liees, et A peut presenter des occurrences libres et des occurrences liees
de x ; bien entendu, il peut aussi ny avoir aucune occurrence libre, ou aucune occurrence liee ; enfin, dautres variables peuvent aussi presenter des occurrences dans A.
Soit ensuite t un terme du calcul des predicats, qui presente des occurrences de diverses variables (toutes libres, dans un terme, e videmment ; un terme ne comporte pas
de quantificateurs).
On dit que ce terme t est libre pour x dans A lorsque les occurrences libres de x
dans A ne rentrent dans le champ daucun quantificateur portant sur une variable de t.
Exemple : Soit la formule A(x) = x r(x, y) y s(x, y, z) [Cette formule presente
une occurrence liee et une occurrence libre de x].
Examinons le terme y (une variable est un terme) par rapport a` la variable x dans
A. Comme loccurrence libre de x dans A (la seconde) entre dans le champ du
quantificateur y, et que y est une variable (et meme la seule...) du terme y, le
terme y nest pas libre pour x dans A.
Examinons le terme t = f (x, z) [o`u f est un symbole operatoire, t est bien un
terme] par rapport a` la variable x dans A. Comme loccurrence libre de x dans
A nentre pas dans le champ dun quantificateur portant sur x (et pour cause...),
ni dans celui dun quantificateur portant sur z (il ny en a pas...), ce terme t est
libre pour x dans A.
On appelle substitution libre de la variable x par le terme t dans la formule A le remplacement de x, dans toutes ses occurrences libres dans A (et uniquement celles-ci...)
par le terme t, a` condition que ce terme soit libre pour x dans A. La nouvelle formule
obtenue est notee (x | t)A.
il est impossible deffectuer la substitution libre de x par y dans la formule de
lexemple ci-dessus (y nest pas libre pour x dans A).

200

il est possible deffectuer la substitution libre de x par t = f (x, z) dans A, car


ce terme est libre pour x dans A. Le resultat est (x | f (x, z))A = x r(x, y)
y s(f (x, z), y, z).
Par convention, si x ne presente pas doccurrences libres dans A, la substitution libre
de x par nimporte quoi est toujours possible, et elle laisse la formule A inchangee.

4 Elimination
et introduction des quantificateurs
Soit A(x) une formule repondant a` la definition du paragraphe precedent et A(r)
le resultat de la substitution libre de x par r dans A (r libre pour x dans A). Alors :
Tautologie 1 : |= x A(x) A(r)
Tautologie 2 : |= A(r) x A(x)
La premi`ere est le (( principe de particularisation )) : si, pour toute valeur de x, A(x)
est vrai, alors A(r) est vrai, r e tant une (( valeur particuli`ere )) de x. La seconde est le
principe d(( exhibition dune valeur particuli`ere )) : si on peut trouver une valeur r pour
laquelle A(r) est vraie alors on peut affirmer quil existe une valeur de x pour laquelle
A(x) est vraie (cest r !).
Exemples (mathematiques) :
Si tout nombre premier nest divisible que par 1 et par lui-meme, alors 17 (qui
est un nombre premier) nest divisible que par 1 et par 17.
Puisque 2 divise 6, il existe des nombres qui sont divisibles par 2.
Lextreme simplicite de ces exemples ne doit pas faire oublier que le terme r peut e tre
bien autre chose quune constante, en fait, tout terme libre pour x dans A.
Soit A(x) une formule repondant a` la definition du paragraphe precedent et B une
formule ne contenant pas doccurrences libres de x. Alors :
Si |= B A(x), alors : |= B x A(x)
Si |= A(x) B, alors : |= x A(x) B.
Le premier (meta)-resultat est le (( principe de generalisation )) ; il est tr`es souvent utilise en mathematiques : Si on conduit une demonstration qui a pour conclusion un
resultat dont lexpression fait intervenir une variable x, et si cette demonstration na
fait intervenir aucune hypoth`ese sur cette variable, alors le resultat est vrai pour toute
valeur de x. On appelle aussi cette r`egle (il sagira ulterieurement, en theorie de la
demonstration, dune r`egle dinference) la r`egle dintroduction du quantificateur universel.
Le second est lintroduction du quantificateur existentiel. Autant le premier est facilement utilise (souvent abusivement...) autant le second est malaise a` saisir. Donnonsen une illustration simple : On vous apprend quun chat qui vole met les oiseaux en
grand danger ; vous ny croyez gu`ere (au chat qui vole), mais vous e tes oblige dadmettre que sil existe un chat volant, alors les oiseaux sont en grand danger.

201

III. Theorie de la demonstration en calcul des predicats


1 Axiomes et r`egles dinference
Pour e laborer la theorie de la demonstration en calcul des predicats, on reprend
celle qui a e te donnee en calcul propositionnel en ajoutant les axiomes et les r`egles
dinference qui permettent de traiter les nouveaux symboles introduits (les quantificateurs).
Nouveaux axiomes :
A14 = x A(x) A(r)
A15 = A(r) x A(x)
[Dans les conditions indiquees au paragraphe precedent : substitution libre de x
par r dans A, r e tant libre pour x dans A].
Nouvelles r`egles dinference :
{C A(x)} C x A(x) [r`egle dintroduction de ou r`egle-]
{A(x) C} x A(x) C [r`egle dintroduction de ou r`egle-].
[La formule C ne contient pas doccurrences libres de x].
2 Validite des resultats e tablis en calcul propositionnel
Dune mani`ere generale, on peut dire (puisque, en quelque sorte, le calcul propositionnel est un sous-ensemble du calcul des predicats), que tout ce qui a e te e tabli
en calcul propositionnel demeure e tabli en calcul des predicats ; par exemple, comme,
en calcul propositionnel, (A A), [en calcul propositionnel, A est une forme
propositionnelle quelconque], on a aussi, en calcul des predicats, (A A) [en
calcul des predicats, A est une formule quelconque]. La demonstration est immediate
[utilisation des memes axiomes quen calcul propositionnel, puisquils sont repris sans
modification en calcul des predicats].
Bref, tant que lon nutilise pas les symboles (quantificateurs), axiomes (14 et 15)
et r`egles dinference (introductions de quantificateurs) propres au calcul des predicats,
les demonstrations et deductions du calcul des propositions setendent sans difficultes
au calcul des predicats.
Il ne faudrait pas en conclure hativement que tout ce qui est vrai en calcul propositionnel est vrai en calcul des predicats, du moins sans nouvelle demonstration : en
particulier tout meta-theor`eme du calcul propositionnel doit e tre redemontre en calcul des predicats (si cest possible !). On va e tudier le cas du meta-theor`eme de la
deduction.
3 Le ( meta- ) theor`eme de la deduction
On peut e noncer les resultats suivants : En calcul des predicats, on a :
Si (B1 , B2 , . . . , Bn1 ) Bn C, alors (B1 , B2 , . . . , Bn ) C (cest un (( modus
ponens). La reciproque nest en general pas vraie, sauf (en particulier) dans les cas
suivants :
202

la deduction est faite (( a` variables constantes )) (cette expression malheureuse,


mais consacree, signifie simplement que la deduction nutilise aucune des r`egles
dintroduction des quantificateurs, donc est faite comme en calcul propositionnel).
les hypoth`eses de la deduction sont toutes des formules closes (cest a` dire sans
variables libres).

IV. Le syst`eme formel (( PR ))


Il sagit e videmment du syst`eme formel construit pour la formalisation du calcul
des predicats. Comme pour (( LP )) , le nombre de symboles est reduit par rapport a`
celui du calcul des predicats tel quil a e te decrit ci-dessus, dans le but dobtenir plus
defficacite en (( demonstration automatique )) .
1 Definition
Lalphabet P R est celui de (( LP )) , auquel on adjoint :
le symbole de quantificateur universel
des symboles de variables et dindividus (les (( constantes )) )
des symboles operatoires et fonctionnels
Les formules sont celles du calcul des predicat (limitees au vocabulaire de (( PR ))
)
Les (schemas d) axiomes sont au nombre de 5 :
Axiome 1 : A (B A)
Axiome 2 : (A (B C)) ((A B) (A C))
Axiome 3 : (B A) (A B)
Axiome 4 : x A(x) A(t)
Axiome 5 : (C B(x)) (C x B(x)) [x netant pas variable libre
de C].
Il y a 2 r`egles dinference :
Le (( modus ponens )) (A, A B) B
La generalisation A x A.
2 Calcul des predicats e galitaire
Dans de nombreuses applications, notamment mathematiques, on a besoin de legalite.
La (( vraie )) e galite, cest a` dire la capacite de reconnaissance de lidentite de deux objets, nest pas une notion de logique du premier ordre (celle dont nous nous occupons
ici). En effet, deux objets sont identiques lorsque toute propriete qui est vraie pour lun
est aussi vraie pour lautre, et que toute propriete fausse pour lun est aussi fausse pour
lautre. Autrement dit, pour definir legalite, il faudrait quantifier universellement un
symbole de predicat, e crire une formule qui pourrait ressembler a` :

203

(x = y) si et seulement si p (p(x) p(y)).


Or, quantifier un symbole de predicat nest pas possible en calcul des predicats du
premier ordre. Donc, lorsquon a besoin dune e galite, on se contente dune e galite
(( affaiblie )) comme simple relation dequivalence (reflexive, symetrique, transitive),
donc comme un predicat binaire, quil faudrait noter (x, y) mais que lon note (x
y). Bien entendu, il faut ajouter les axiomes qui fixent les proprietes de cette e galite,
pour obtenir un calcul des predicats e galitaire.
3 Interpretations de (( PR ))
Soit E la base dune interpretation de (( PR )) .
une formule de (( PR )) est dite satisfaite dans E chaque fois quil existe un ensemble de valeurs, choisies dans E, pour les variables libres qui interviennent
dans cette formule tel que la proposition qui en resulte est (( vraie )) .
une formule de (( PR )) est dite valide dans E si, pour tout ensemble de valeurs,
choisies dans E, pour les variables libres qui interviennent dans E, la proposition
qui en resulte est vraie.
une formule de (( PR )) est universellement valide ou est une th`ese lorsquelle est
valide dans toute interpretation. Lusage veut cependant que lon conserve terme
de tautologie (qui devrait e tre reserve au calcul propositionnel).
4 (Meta-)Theor`eme de completude
La demonstration est longue et repose sur un raisonnement par recurrence sur
la complexite de la formule (en gros, le nombre de connecteurs ou quantificateurs
qui interviennent dans celle-ci), apr`es avoir demontre la propriete individuellement
pour chaque formule de complexite 1 (un seul connecteur ou quantificateur). Toute
la difficulte provient de la cardinalite (du (( nombre delements )) ) de la base de linterpretation. Le resultat est connu sous le nom de theor`eme de completude de Godel
(1930). Bref, le (meta-) theor`eme suivant peut e tre e nonce :
Le syst`eme formel (( PR )) est complet ( B si et seulement si |= B)

Le theor`eme de completude generalise pour (( PR )) a aussi e te obtenu par Godel :


F |= B si et seulement si F B
5 Satisfiabilite et insatisfiabilite
Soit F un ensemble de formules de (( PR )) ; F est dit satisfiable sil est possible
de trouver une interpretation dans laquelle les formules de F sont simultanement sa
tisfaites. La base dune telle interpretation est appelee mod`ele de F . Evidemment,
sil
nest pas possible de trouver un mod`ele pour lensemble de formules F , celui-ci est dit
insatisfiable. Ce sont ces notions dinsatisfiabilite qui sont a` lorigine des methodes de
demonstration dites de falsification (et qui servent dans les algorithmes de (( chanage
204

arri`ere )) ). Il sagit dobtenir une deduction dune formule B de (( PR )) a` partir dun


ensemble dhypoth`eses F . On e nonce le (meta-) theor`eme suivant, appele Theor`eme
de falsification :
Soit F un ensemble de formules closes et B une formule close de (( PR )) .
Alors, F B si et seulement si F {B} est insatisfiable
Ce theor`eme peut e tre demontre a` laide du theor`eme de completude.

V. Traitement des formules de (( PR ))


1 Forme prenexe
1.1 Definition
La mise sous forme prenexe dune formule de (( PR )) est la premi`ere e tape a` lui
faire subir dans le traitement necessaire a` la presenter a` un algorithme de resolution
(demonstrations automatisees de theor`emes) Une formule de (( PR )) est dite sous forme
prenexe lorsque tous les quantificateurs sont en tete de cette formule. Elle est alors de
la forme Q1 x1 Q2 x2 . . . Qn xn B, o`u B est une formule sans quantificateurs.
1.2 Methode
La methode a` suivre est la suivante :
Reduire les connecteurs. En theorie, il faudrait ne conserver que les connecteurs
et , en fait, on ne conserve que , , . Cette reduction est obtenue par
les e quivalences entre formules classiques
A B A B
A B (A B) (A B)
Renommer les variables liees, de mani`ere a` ce que toute variable liee ne le
soit quune seule fois, et quaucune variable liee ne presente doccurrence libre,
dapr`es les e galites suivantes :
xA(x) = yA(y)
xA(x) = yA(y)
Faire (( remonter )) les quantificateurs en tete, par les e quivalences suivantes :
A A
(xA(x)) xA(x)

(xA(x)) xA(x)
205

et, si x nest pas variable libre de C (ce qui doit e tre le cas si on a correctement
renomme les variables...]
C xA(x) x(C A(x))
C xA(x) x(C A(x))
C xA(x) x(C A(x))
C xA(x) x(C A(x))
1.3 Exemple
On consid`ere les propositions suivantes :
P1 Tout crime a un auteur
P2 Seuls les gens malhonnetes commettent des crimes
P3 On narrete que les gens malhonnetes
P4 Les gens malhonnetes arretes ne commettent pas de crimes
P5 Des crimes se produisent
On voudrait en deduire :
Q Il y a des gens malhonnetes en liberte
Sans anticiper sur les methodes de resolution, on va ajouter aux propositions P1 a` P5
la proposition P6 Q (si on montre que cet ensemble de propositions est (( insatisfiable )) , on aura montre que Q est consequence de P1 a` P5 ).
Pour cela, on va considerer les predicats
ar(x) : la personne x est arretee
mal(x) : la personne x est malhonnete
co(x, y) : la personne x commet laction y
cr(y) : laction y est un crime
On obtient
F1 y(cr(y) xco(x, y))
F2 xy(cr(y) co(x, y) mal(x))
F3 x(ar(x) mal(x))
F4 x(mal(x) ar(x) (y(cr(y) co(x, y))))
F5 xcr(x)
F6 (x(mal(x) ar(x)))
qui deviennent, sous forme prenexe,
F1 yx(cr(y) co(x, y))
F2 xy(cr(y) co(x, y) mal(x))
F3 x(ar(x) mal(x))
F4 xy(mal(x) ar(x) cr(y) co(x, y))
F5 xcr(x)
F6 x(mal(x) ar(x))

206

2 Forme de Skolem
2.1 Definition
On appelle forme de Skolem dune formule de (( PR )) , mise prealablement sous
forme prenexe, la formule obtenue en e liminant tous les quantificateurs de symbole ,
de la mani`ere suivante :
Soit xj un quantificateur existentiel qui figure apr`es les quantificateurs universels xj1 xj2 . . . xjn : alors xj est remplace par f (xj1 , xj2 ..., xjn ) (un terme,
groupe operatoire a` n places).
Soit xj un quantificateur existentiel qui nest precede par aucun quantificateur
universel : on peut le supprimer et remplacer xj par un symbole de constante
(qui nest autre quun groupe operatoire a` zero place).
Cette transformation est autorisee par le theor`eme suivant :
2.2 Theor`eme de Skolem
Soit A un ensemble fini de formules de (( PR )) , et AS lensemble des formes de
Skolem de ces formules. Alors, A admet un mod`ele (de base E) si et seulement si AS
admet un mod`ele de base E.
On va verifier ce theor`eme pour un ensemble reduit a` une seule formule du type
A = xyp(x, y)
Sa forme de Skolem est
AS = xp(x, f (x))
Soit E un mod`ele de A. Ce mod`ele admet une relation binaire p. E e tant un
mod`ele de A, par definition, A y est satisfaite. Donc la formule yp(x, y) est
valide dans E. Ceci signifie que, pour chaque valeur de x, il existe (au moins)
une valeur de y telle que p(, ) [qui est une proposition] a la valeur de verite
(( vrai )) . On peut definir une fonction f de E dans lui-meme en posant, pour
chaque valeur de , = f (). Le probl`eme se complique sil existe plusieurs,
voire une infinite de valeurs de y possibles pour une valeur donnee de x. Autrement dit, se pose le probl`eme de laxiome du choix. Mais cest le theor`eme
de Lowenheim-Skolem qui intervient ici ; ce theor`eme affirme en effet que, si
un ensemble de formules de (( PR )) admet un mod`ele, alors il admet un mod`ele
de base denombrable. En se placant dans ce modele, le choix auquel il est fait
allusion est possible, sans recours a` laxiome du choix. Ayant ainsi defini une
fonction f , E, cette fois muni de p et de f , constitue un mod`ele de la formule
xp(x, f (x)), cest a` dire de AS .
Reciproquement, si (E,p, f ) est un mod`ele de AS , alors, e videmment, yp(x, y)
est valide dans E, puisquil suffit dexhiber y = f (x) pour le montrer, et donc,
(E,p) est un mod`ele de A.

207

2.3 Exemple
Les formes de Skolem de nos formules sont donc :
F1 y(cr(y) co(f (y), y))
F2 xy(cr(y) co(x, y) mal(x))
F3 x(ar(x) mal(x))
F4 xy(mal(x) ar(x) cr(y) co(x, y))
F5 cr(a)
F6 x(mal(x) ar(x))
3 Forme clausale
3.1 Suppression des quantificateurs universels
Dans la forme de Skolem dune formule ne subsistent donc que des quantificateurs universels. Ceux-ci sont purement et simplement supprimes. Cette suppression
est autorisee par la methode de resolution utilisee (et nest possible que si cest cette
methode qui est effectivement utilisee). En effet, pour prouver que la formule T est
consequence de lensemble de formules A, on cherche a` prouver que A {T } nadmet pas de mod`ele. Pour cela, il suffit dexhiber une contradiction dans un (( cas particulier )) , et il est bien clair que, si, dans lensemble A de formules, on supprime les
quantificateurs universels, et quon prouve que ces formules, avec T , nadmettent pas
de mod`ele, alors les formules (( compl`etes )) , avec quantificateurs, et T , nen auront
pas non plus.
3.2 Clauses
On dit quune formule de (( PR )) est mise sous forme de clause lorsque son expression nutilise plus de quantificateurs, et que les seuls connecteurs qui y subsistent
sont les connecteurs et . Si une formule, sans quantificateur, se presente sous la
forme A B, elle est remplacee par deux formules : A et B. Il est bien clair que si lon
satisfait, dune part A, et dautre part B, on aura satisfait A B. Une clause (avec ou
sans variables) est donc de la forme : A B C . . .. A, B, C sont les litteraux de
la clause, ils apparaissent sous forme positive (A) ou negative (C). Enfin, la clause
vide (sans litteraux) est representee par . Elle est reputee insatisfiable dans toute interpretation. Dans notre exemple, il ny a plus rien a` faire, et les formules de depart
mises sous formes de clauses sont les formules de F1 a` F6 , sans les quantificateurs
universels.

208

VI. Syst`eme de Herbrand


1 Introduction
Pour reconnatre si, oui ou non, un ensemble de formules admet un mod`ele, il
faut essayer diverses bases possibles : a` un e lement, a` deux e lements, ...., a` une infinite delements. Chacun de ces essais conduit lui-meme a` de nombreux cas ; linteret
du theor`eme de Herbrand est quil affirme que tous ces essais peuvent se ramener
a` un seul, qui nutilise que le (( vocabulaire )) des formules qui sont en question, un
(( mod`ele syntaxique )) unique. Par ailleurs la methode des (( tables de verite )) , ou, ce
qui revient au meme, la methode des fonctions de verite booleennes, conduit elle aussi
a` un nombre dessais tr`es rapidement beaucoup trop grand (d`es que les formules sont
un peu compliquees ou un peu nombreuses et comportent beaucoup de variables. Le
nombre dessais crot comme 2n , et devient tr`es vite trop important).
2 Univers, atomes, syst`eme de Herbrand
Pour un ensemble de formules (mis sous forme de clauses), lunivers de Herbrand
associe est lensemble des termes sans variables qui peuvent e tre construits a` partir
du vocabulaire de ces formules (symboles de constantes et symboles operatoires ou
fonctionnels). Pour que cet univers ne soit pas vide, sil ny a pas de constante, on
en introduit une. Les atomes de Herbrand sont les atomes qui interviennent dans ces
formules, lorsquon a remplace les variables par des e lements de lunivers de Herbrand.
Reprenons lexemple de nos criminels
F1 cr(y) co(f (y), y)
F2 cr(y) co(x, y) mal(x)
F3 ar(x) mal(x)
F4 mal(x) ar(x) cr(y) co(x, y)
F5 cr(a)
F6 mal(x) ar(x)
Les e lements du vocabulaire de ces clauses sont :
un symbole de constante (a)
un symbole operatoire de poids 1 (f )
Lunivers de Herbrand est donc
{a, f (a), f (f (a)), f (f (f (a))), . . .}
Un atome de Herbrand est
ar(a), ou mal(f (f (a))), ou, etc. . .
Le syst`eme de Herbrand est obtenu en remplacant successivement les variables de
lensemble de formules considere par les e lements de lunivers de Herbrand.

209

3 Theor`eme de Herbrand
Un ensemble de clauses admet un mod`ele si et seulement sil admet un mod`ele
de base lunivers de Herbrand. De plus, pour que cet ensemble de clauses soit insatisfiable, il suffit que lune des formules du syst`eme de Herbrand ne soit pas satisfiable.
Application :
1e` re generation : avec x = a , y = a
{cr(a)co(f (a), a) , cr(a)co(a, a)mal(a) , ar(a)mal(a) , mal(a)
ar(a) cr(a) co(a, a) , cr(a) , mal(a) ar(a)}
satisfiables :
cr(a) co(f (a), a) co(a, a) ar(a) mal(a)
ou
cr(a) co(f (a), a) co(a, a) ar(a)
mal(a)
2e` me generation : avec x = f (a) , y = a
{cr(a) co(f (a), a) mal(f (a)) , ar(f (a)) mal(f (a)) , mal(f (a))
ar(f (a)) cr(a) co(f (a), a) , mal(f (a)) ar(f (a))}

la premi`ere exige mal(f (a)), donc la derni`ere exige ar(f (a)), donc la troisi`eme
ne peut e tre satisfaite : cest termine.
Lensemble de clauses nadmet pas de mod`ele ayant pour base lunivers de Herbrand,
donc il nadmet aucun mod`ele, donc la formule F6 nest pas consequence des cinq
premi`eres, donc F6 est un theor`eme, et donc (( il y a bien des personnes malhonnetes
en liberte )) .
4 Algorithme de Herbrand
Il sagit du premier algorithme de (( demonstration automatique )) . Dun point de
vue theorique, il ne fait rien de plus que celui qui consisterait a` produire toutes les
consequences possibles (`a laide des r`egles dinference) des formules de lensemble
de depart, pour essayer de trouver la formule finale comme consequence de cet ensemble. Il est cependant plus facile a` mettre en uvre, et donne souvent le resultat
plus rapidement que la methode des tables de verite. Cependant, il doit e tre clair quil
sagit dun algorithme qui sarrete au bout dun temps fini (eventuellement long !) si
lensemble de clauses est insatisfiable, mais qui ne sarrete pas dans le cas contraire
(consequence desagreable de lindecidabilite du calcul des predicats...).
Fin du Chapitre

210

Chapitre 12
Algorithme de resolution
I. Resolution sans variables
1 Cadre
Il ny a ici pas de variables autres que les variables propositionnelles, et on se place
en logique des propositions.
2 Le syst`eme formel RSV
Le syst`eme formel RSV (Resolution sans variable) est le syst`eme formel choisi
pour traiter les probl`emes poses en calcul propositionnel.
3 Principes generaux
Quelques principes generaux de la resolution sans variable (RSV) :
Les seules formules correctes admises sont les clauses, cest-`a-dire des disjonctions de litteraux, positifs ou negatifs (precede de ).
Les seuls connecteurs admis sont et .
Une clause est satisfaite quand lun de ses litteraux est vrai.
La clause vide (ne contenant aucun litteral) ne verifie pas cette condition, elle
est dite insatisfaite.
N OTATION : La clause vide est representee par .
4 Le syst`eme formel RSV
Ces principes generaux se formalisent ainsi :

211

alphabet : les variables propositionnelles, et .


axiomes : pas daxiomes.
r`egles dinference : {F G, F G} (RSV )G H
R EMARQUE 1. Cette derni`ere r`egle est une generalisation du (( modus ponens )) :
{F, F G} H, {F B, F H} B H
Par rapport a` la logique propositionnelle, la suppression des axiomes et la generalisation de la r`egle dinference ont pour consequence la perte de la completude (i.e.
e quivalence tautologie/theor`eme).
R EMARQUE 2. En logique propositionnelle, on avait {F } F G. Cette deduction
ne peut plus e tre obtenue dans RSV.
5 Quelques indications sur les algorithmes de resolution
5.1 Generalites
Il y a trois classes dalgorithmes de resolution :
Les algorithmes de chanage avant : on part des donnees (lensemble des clauses de
depart), on en deduit de nouvelles clauses, et ainsi de suite, en esperant arriver a`
la conclusion.
Les algorithmes de chanage arri`ere on part de la conclusion, on construit les clauses
qui par deduction permettraient de les obtenir, et ainsi de suite, en esperant obtenir les clauses de depart.
Les algorithmes mixtes

P ROPRI E T E I (T H E OR E` ME DE FALSIFICATION ) : F A si et seulement si F


{A} , o`u F est un ensemble de clauses, et A une clause.

5.2 Un exemple de chanage avant : algorithme de saturation


On produit systematiquement toutes les clauses possibles a` partir des clauses de
depart, et on recommence jusqu`a ce quil ny ait plus production de nouvelles clauses.
Cet algorithme nest cependant pas efficace. On peut lameliorer en (( saturation
avec simplification )), les simplifications e tant :
212

la suppression de tautologie,
la suppression des clauses subsumees (C est subsumee par C si tous les litteraux
de C sont dans C : A B C est subsumee par A B).
E XEMPLE 1. Ensemble de clauses de depart :
ab
bc
ca
abc

C1
C2
C3
C4

= a b
= b c
= c a
=abc

Generation 1 {C1 , C2 } C5 = a c
{C1 , C3 } C6 = b c
{C1 , C4 } C7 = b c
{C2 , C3 } C8 = a b
{C2 , C4 } C9 = a c
{C3 , C4 } C10 = a b
C4 est subsume par C7 .

Generation 2 Les clauses des deux generations precedentes entre elles :


{C1 , C8 } C11 = b b
{C1 , C9 } C12 = b c
{C1 , C10 } C13 = b
{C2 , C6 } C14 = c c
{C2 , C10 } C15 = b
etc.
C1 , C6, C7 , C10 sont subsumees par C13 .
C12 est C7 , C15 est C13 .
C11 et C14 sont des tautologies.

R EMARQUE 3. Il est preferable de retirer les clauses subsumees au fur et a` mesure.


5.3 Exemple dalgorithme de chanage arri`ere
Presentation Le probl`eme est de savoir si F C, o`u F est un ensemble de clauses,
et C est une clause.
On sait que cest e quivalent a`
213

F {C} insatisfiable a` condition que F soit satisfiable.


On e tudie donc la clause pour essayer de formuler des diagnostiques.
On essaye, par exemple, si C serait consequence de F , puis en cas de reponse
positive, si C ne serait pas aussi une conclusion possible.
Si cest le cas, cela signifie que F est contradictoire : le probl`eme est mal pose.
Le but de (( savoir si C (un litteral) se deduit de F )) se traduit par : (( Effacer C
dans lensemble des clauses de F , la liste de ses ancetres e tant vide. ))
Les r`egles de lalgorithme SL resolution
1. Un litteral qui figure dans sa propre liste danc`etres ne sefface pas ( arret de
lalgo)
2. Un litteral dont la negation figure dans la liste des ancetres sefface.
3. Si on est dans aucun des cas precedent, on doit chercher une resolvante, cesta` -dire une clause de F qui contienne la negation du litteral que lon cherche a`
effacer qui permet donc une deduction (par RSV).
Le but (( effacer le litteral dans lensemble des clauses F et avec la liste dancetre
N )) est alors remplace par (( effacer tous les litteraux de la resolvante dans F , en
rajoutant le litteral sur lequel se porte la deduction a` la liste des ancetres )).
E XEMPLE 2.

ab
b c
a c
abc

C1
C2
C3
C4

On va demander a` SL resolution un diagnostique sur a (a est deductible de cet ensemble de clauses).


Le but est (( effacer a dans lensemble des clauses, liste dancetres [] (vide) )).
Avec la clause C4 , on obtient la resolvante {a, a b c} b c.
Le but est remplace par (( effacer les litteraux de b c dans lensemble des clauses,
liste des ancetres [ a ].
Effacer b (( . . . )), liste ancetre [ a ].
Avec C2 {b, b c} c.
(( Effacer c, liste ancetre [ a, b ]. ))
Avec C3 {c, c a} a.
(( Effacer a, liste ancetre [ a, b, c ]. ))
Succ`es car a dans liste des ancetres.
Effacer c (( . . . )), liste ancetre [ a ].
Avec C3 {c, c a} a.
(( Effacer a, liste ancetre [a]. ))
Succ`es car a dans la liste des ancetres.
214

Succ`es pour effacer a.


Il reste a` verifier si on peut effacer a.

6 Exemples complets de resolution


Ces divers exemples sont independants...
6.1 Methode de resolution
...La methode de resolution est cependant la meme. Elle est exposee ici, et elle est
valable pour chacun dentre eux sauf le dernier, qui ne se satisfait pas dune deduction
lineaire.
1. Formaliser en logique des propositions (pas en calcul des predicats) les propositions, puis
2. les mettre sous forme de clauses (sans variables). Ces clauses seront numerotees,
dans lordre de leur obtention.
3. Appliquer la r`egle dinference de (( RSV )) pour obtenir la conclusion que lon
peut tirer de lensemble de propositions.
Les nouvelles clauses deduites recevront un numero.
Une deduction sera presentee sous la forme (Ci , Cj ) Ck = ...
La conclusion demandee est une clause qui ne contient comme litteraux que
ceux qui ne figurent quune seule fois dans lensemble de clauses de depart.
Utiliser une deduction lineaire dont la racine est une clause qui contient lun de
ces litteraux.
4. Traduire la conclusion obtenue sous forme de phrase francaise.
6.2 Les exemples complets

E XEMPLE 3. Les animaux de la maison...


1. Les seuls animaux de cette maison sont des chats.
2. Tout animal qui aime contempler la lune est apte a` devenir un animal familier.
3. Quand je deteste un animal, je levite soigneusement.
4. Aucun animal nest carnivore, a` moins quil naille roder dehors la nuit.
5. Aucun chat ne manque jamais de tuer les souris.
6. Aucun animal ne sattache jamais a` moi, sauf ceux qui sont dans cette maison.
215

7. Les panth`eres ne sont pas aptes a` devenir des animaux familiers.


8. Aucun animal non carnivore ne tue de souris.
9. Je deteste les animaux qui ne sattachent pas a` moi.
10. Les animaux qui vont roder dehors la nuit aiment toujours contempler la lune.

Reponse : Lunivers est { Les animaux}.


Maison Chats
Lune F amilier
Deteste Evite
Rode Carnivore
Chats T uer
Attache Maison
P anthere F amilier
Carnivore T uer
Attache Deteste
Rode Lune
{C2 , C7 }
{C11 , C2 }
{C12 , C10 }
{C13 , C4 }
{C14 , C8 }
{C15 , C5 }
{C16 , C1 }
{C17 , C6 }
{C18 , C9 }
{C19 , C3 }

C1 :
C2 :
C3 :
C4 :
C5 :
C6 :
C7 :
C8 :
C9 :
C10 :

Maison Chats
Lune F amilier
Deteste Evite
Rode Carnivore
Chats T uer
Attache Maison
P anthere F amilier
Carnivore T uer
Attache Deteste
Rode Lune

P anthere Lune
P anthere Rode
P anthere Carnivore
P anthere T uer
P anthere Chats
P anthere Maison
P anthere Attache
P anthere Deteste
P anthere Deteste
P anthere Evite

: C11
: C12
: C13
: C14
: C15
: C16
: C17
: C18
: C19

Soit P anthere Evite : Jevite les panth`eres.


E XEMPLE 4. Les exercices de logique...

1. Quand un e tudiant resout un exercice de logique sans soupirer, vous pouvez e tre
sur quil le comprend.
2. Ces exercices ne se presentent pas sous la forme habituelle.
3. Aucun exercice facile ne donne mal a` la tete.
4. Les e tudiants ne comprennent pas les exercices qui ne se presentent pas sous la
forme habituelle.
5. Les e tudiants ne soupirent jamais devant un exercice de logique, a` moins quil
ne leur donne mal a` la tete.
216

Reponse : Lunivers est { Exercices }.


Soupirent Comprend
Ces exercices Habituelle
F acile Mal
Habituelle Comprend
Soupirent Mal
{C2 , C4 }
{C6 , C1 }
{C7 , C5 }
{C8 , C3 }

C1
C2
C3
C4
C5

Soupirent Comprend
Ces exercices Habituelle
F acile Mal
Habituelle Comprend
Soupirent Mal

:
:
:
:
:

Ces exercices Comprend : C6


Ces exercices Soupirent
: C7
Ces exercices Mal
: C8
Ces exercices F aciles

Soit Ces exercices f acile : Ces exercices ne sont pas faciles.


E XEMPLE 5. Mes idees sur les chaussons aux pommes...

1. Toute idee de moi qui ne peut sexprimer sous forme de syllogisme est vraiment
ridicule.
2. Aucune de mes idees sur les chaussons aux pommes ne merite detre notee par
e crit.
3. Aucune idee de moi que je ne parviens pas a` verifier ne peut e tre exprimee sous
forme de syllogisme.
4. Je nai jamais didee vraiment ridicule sans la soumettre sous le champ a` mon
avocat.
5. Mes reves (idees) ont tous trait aux chaussons aux pommes.
6. Je ne soumets aucune de mes idees a` mon avocat si elle ne merite pas detre
notee par e crit.

Reponse : Lunivers est { Idee }.


Ridicule Sullogisme
P omme Ecrit
V erif ier Syllogisme
Ridicule Avocat
Reves P omme
Avocat Ecrit

C1
C2
C3
C4
C5
C5
217

:
:
:
:
:
:

Ridicule Syllogisme
P omme Ecrit
V erif ier Syllogisme
Ridicule Avocat
Reves P omme
Avocat Ecrit

{C3 , C1}
{C7 , C4}
{C8 , C6}
{C9 , C2}
{C10 , C5 }

V erif ier Ridicule


V erif ier Avocat
V erif ier Ecrit
V erif ier P omme
V erif ier Reves

: C7
: C8
: C9
C10

Soit Reves V erif ier : Mes reves ne sont pas verifies.


E XEMPLE 6. Les mati`eres enseignees a` lIUT
1. Aucune mati`ere nest primordiale, sauf lACSI.
2. Toute mati`ere enseignee par des professeurs dynamiques est susceptible de plaire
aux e tudiants.
3. Je ne travaille pas les mati`eres que je naime pas.
4. Les seules mati`eres interessantes sont les mati`eres informatiques.
5. Aucune mati`ere informatique nevite labstraction.
6. Aucune mati`ere ne me reussit, excepte les mati`eres interessantes.
7. Les mathematiques ne sont pas susceptibles de plaire aux e tudiants.
8. Aucune mati`ere non primordiale ne tombe dans labstraction.
9. Je naime pas les mati`eres qui ne me reussissent pas.
10. LACSI est enseignee par des professeurs dynamiques.

Reponse : Lunivers est { Matieres }.


P rimordiale ACSI
Dynamique P lait
Aime T ravaille
Interessante Inf ormatique
Inf ormatique Abstraction
Reussit Interessant
Maths P lait
P rimordial Abstraction
Reussit Aime
ACSI Dynamique

C1 :
C2 :
C3 :
C4 :
C5 :
C6 :
C7 :
C8 :
C9 :
C10 :

218

P rimordiale ACSI
Dynamique P lait
Aime T ravaille
Interessante Inf ormatique
Inf ormatique Abstraction
Reussit Interessant
Maths P lait
P rimordiale Abstraction
Reussit Aime
ACSI Dynamique

{C7 , C2}
{C11 , C10 }
{C12 , C1 }
{C13 , C8 }
{C14 , C5 }
{C15 , C4 }
{C16 , C6 }
{C17 , C9 }
{C18 , C3 }

Maths Dynamique
Maths ACSI
Maths P rimordiale
Maths Abstraction
Maths Inf ormatique
Maths Interessant
Maths Reussit
Maths Aime
Maths T ravaille

: C11
: C12
: C13
: C14
: C15
: C16
: C17
: C18

Soit Maths T ravaille : Je ne travaille pas les maths.


7 Exercices

Exercice 1. Les logiciens ne dorment pas beaucoup.


1. Un logicien qui dne de deux cotelettes de porc risque de se ruiner.
2. Un joueur dont lappetit nest pas feroce risque de se ruiner.
3. Un homme qui est deprime parce quil est ruine et quil risque de se ruiner a`
nouveau se l`ebe toujours a` cinq heures du matin.
4. Un homme qui ne joue pas et qui ne dne pas de deux cotelettes de porc est
assure davoir un appetit feroce.
5. Un homme dynamique qui se couche avant quatre heures du matin aurait interet
a` devenir conducteur de taxi.
6. Un homme doue dun appetit feroce, qui ne sest pas ruine et qui ne se l`eve pas
a` cinq heures du matin, dne toujours de deux cotelettes de porc.
7. Un logicien qui risque de se ruiner aurait interet a` devenir conducteur de taxi.
8. Un joueur convaincu, qui est deprime bien quil ne soit pas ruine, ne court aucun
risque de se ruiner.
9. Un homme qui ne joue pas et dont lappetit nest pas feroce est toujours dynamique.
10. Un logicien dynamique, qui est veritablement convaincu, ne risque pas de se
ruiner.
11. Un homme dote dun appetit feroce na nul besoin de devenir conducteur de
taxi, sil est veritablement convaincu.
12. Un joueur qui est deprime et qui ne risque pas de se ruiner reste debout jusqu`a
quatre heures du matin.
13. Un homme qui est ruine et qui ne dne pas de deux cotelettes de porc aurait
interet a` devenir conducteur de taxi ou a` se lever a` cinq heures du matin.
219

14. Un joueur qui se couche avant quatre heures du matin na nul besoin de devenir
conducteur de taxi, a` moins quil ne soit doue dun appetit feroce.
15. Un homme doue dun appetit feroce, deprime et qui ne risque nullement de se
ruiner, est un joueur.

Exercice 2. Les gastronomes...


1. Tous les agents de police du secteur aiment dner avec notre cuisini`ere.
2. Aucun homme aux cheveux longs ne peut e tre autre chose que po`ete.
3. Je nai jamais fait de sejour en prison.
4. Les cousins de notre cuisini`ere aiment tous le gigot froid.
5. Seuls les agents de police du secteur sont po`etes.
6. Les hommes aux cheveux courts ont tous fait un sejour en prison.

Exercice 3. Les programmeurs...


1. Les e tudiants se sentent abandonnes lorque les professeurs ne sinteressent pas
a` eux
2. Les seuls e tudiants en informatique se trouvent dans cet IUT.
3. Aucun e tudiant ne peut e crire correctement un programme sil na pas recu une
formation convenable.
4. Aucun e tudiant de cet IUT nest compl`etement nul.
5. Quand un e tudiant se sent abandonne, il risque de sombrer dans la depression.
6. Les professeurs ne sinteressent pas aux e tudiants que napprennent pas linformatique.

II. Resolution avec variable


On est ici en calcul des predicats. On ne soccupe que de clauses :
symbole de predicat, de variables, de constantes,
et seulement,
pas de quantificateurs.
220

1 Unification
1.1 Composants de substitutions et substitutions
D E FINITION 1 (C OMPOSANT DE SUBSTITUTION ). Si x est un symbole de variable
et t un terme du calcul des predicats, (x|t) est un composant de substitution et indique
la substitution de x par t, dans une certaine formule.

E XEMPLE 7. A = p(x, y, z) r(x, u), o`u x, y, z, u sont des symboles de variables, et


p, r des symboles de predicats.
Substitution de x par a (symbole de constante) dans A :
(x|a)A = p(a, y, z) r(a, u)
On peut composer les composants de substitution (par exemple considerer (y|b)(x|t)A.

R EMARQUE 4. Lordre a de limportance, la composition des composants de substitution nest pas commutative.
R EMARQUE 5. On ne peut substituer que des variables.
N OTATION : La substitution identique est notee [].

E XEMPLE 8. Si x, y sont des symboles de variable, alors




p(x) (x|y)p(x) = p(y)

p(y)
p(y)

mais si a, b sont des symboles de constante, alors :



p(a)
p(b)

... on ne peut rien conclure.


Par ailleurs, comme il ny a plus de quantificateurs, toutes les variables sont libres
et toutes les substitutions licites (cest-`a-dire une variable par un terme quelconque :
constante, variable, groupe operatoire) sont possibles.

221

1.2 Unificateurs

Etant
donnes deux clauses A et B, on appelle unificateur de ces deux clauses toute
substitution s telle que sA = sB.
Pour deux formules quelconques, il nexiste pas forcement dunificateur. Ainsi,
pour A = p(x) et B = q(y) : comme les deux symboles sont differents, elles ne
sont pas unifiables.
Lunificateur, sil existe, nest pas unique. Ainsi, si s est un unificateur de A et B
(sA = sB) et si s est une substitution quelconque, alors s s est aussi unificateur.
Si s est un unificateur de A et B, et que, pour tout unificateur s de A et B, s peut
se mettre sous la forme s = s s, o`u s est une substitution, alors s est appele le
plus grand unificateur de A et de B (ce dernier nexiste pas forcement).
2 Resolution
Dans le syst`eme (( RAV ))(resolution avec variable) :
Les formules sont des clauses du calcul des predicats.
Il ny a pas daxiomes.
Deux r`egles dinferences :
resolution {af, bg} (f g)}, avec une substitution de renommage,
destinee a` faire quil ny ait aucune variable commune entre af et bg,
et un unificateur de (a) et de b.
diminution {a b f } (b f ), o`u : unificateur de a et b.
E XEMPLE 9. {p(x) p(y) q(z)} p(y) q(z)
(x|y) est un unificateur de p(x) et p(y)

2.1 Quelques exemples dapplications (en RAV)

E XEMPLE 10. {p(x, c) r(x), p(c, c) q(x)}, avec :


p, q, r : symboles de predicats.
x : symbole de variable.
c : symbole de constante.
La substitution de x par c :
{p(c, c) r(c), p(c, c) q(c)} r(c) q(c)
est incorrect, car le renommage na pas e te fait.
222

On commence donc par un renommage dans lune des deux clauses (qui ne doivent
plus avoir de variable commune) : par exemple dans C2 , (x|y).
{p(x, c) r(x), p(c, c) q(y)}
puis on substitue (x|c) dans les deux clauses pour unifier p(x, c) et p(c, c).
{p(c, c) r(x), p(c, c) q(y)} r(c) q(y)

E XEMPLE 11. {p(x, f (a)), p(a, y) r(f (y))}, avec


p, r : symbole de predicat
f : symbole operatoire
x, y : symbole de variable
a : symbole de constante
Pas de renommage, car pas de variable communes.
(y|f (a))(x|a){p(a, f (a)); p(a, f (a)) r(f (f (a)))} r(f (f (a)))

E XEMPLE 12. p(x, g(y)) p(f (c), x) r(x, y, z)


p, r : symbole de predicat
f, g : symbole operatoire
x, y, z : symbole de variable
c : symbole de constante

(z|g(y))(x|f (c)){p(x, g(y))p(f (c), x)r(x, y, z)} = p(f (c), g(y))idemr(f (c), y, g(y)) p(f (c), g(y

E XEMPLE 13 (U N EXEMPLE COMPLET ). C1 = cr(y) cv(f (y), y)


C2 = cr(y) cv(x, y) ma(x)
C3 = ar(x) ma(x)
C4 = ma(x) ar(x) cr(y) cv(x, y)
C5 = cr(a)
C6 = ma(x) ar(x) : mise sous forme de clause de la negation de la conclusion.
223

La conclusion est valide ssi on peut deduire la clause vide de cet ensemble de
clauses.
{C5 , (y|a)C1} C7 = cv(f (a), a)
{C5 , (y|a)C2} C8 = cv(x, a) ma(x)
{C5 , (y|a)C4} C9 = ma(x) ar(x) cv(x, a)
{C7 , (x|f (a))C8 } C10 = ma(f (a))
{C7 , (x|f (a))C9 } C11 = ma(f (a)) ar(f (a))
{C10 , C11 } C12 = ar(f (a))
{C10 , (x|f (a))C6} C13 = ar(f (a))
{C12 , C13 }  : la conclusion e tait valide.

Exercice 4. On consid`ere les formules suivantes de (( PR )).


A1 : x (p(x) q(f (x)))
A2 : x (q(x) p(f (x)))
B : x (p(x) p(f (f (f (f (x))))))
(p et q sont des symboles de predicats, f est un symbole operatoire et x est un symbole
de variable.)
Il sagit de prouver que la formule B est la conclusion des formules A1 et A2 . On
mettra ces formules, ainsi que la negation de B, sous forme de clauses. On utilisera
ensuite les r`egles dinference de (( RAV )) pour deduire, si possible, la clause vide de
cet ensemble de clauses.

Exercice 5. On consid`ere lensemble de deux clauses {p(x) p(y), p(x) p(y)}


(p est un symbole de predicat, x et y sont des symboles de variables).
Peut-on en deduire quelque chose et, si oui, quoi ?

3 Strategie de resolution
correction Une strategie de resolution est correcte quand elle ne trouve dans larbre
des deductions la clause vide que lorsquelle est effective.
completude Une strategie de resolution est compl`ete quand elle conduit effectivement
a` la decouverte de la clause vide (si elle figure dans larbre de deduction).

224

R EMARQUE 6. Aucune strategie a` ce jour ne peut detecter labsence de la clause vide


dans larbre des deductions lorsquil est infini. Ce resultat est du a` lindecidabilite du
calcul des predicats.
Deux probl`emes :
1. gestion de lensemble des clauses,
2. parcours de larbre de deduction.
Gestions de lensemble des clauses Saturation (avec simplification).
Preferences des clauses simples : permet davancer plus rapidement.
Strategies de resolution :
gestion de lensemble des clauses
gestion de larbre des deductions
Parcours de larbre :
En profondeur dabord : rapide, facile a` programmer, se perd dans des branches
infinies (arrete au bout dun certain temps
En largeur dabord : lent, difficile a` programmer, necessite une memoire importante.
Choix dun sous-arbre
deduction lineaire On appelle deduction lineaire de racine C toute suite de clause :
C0 , . . . Cn telle que C0 = C et i, Ci+1 est obtenue par deduction entre C1 et une
autre clause. Cest une strategie correcte, mais incompl`ete. Si F est un ensemble
de clauses satisfiables, et si F {C} (une autre clause) est un ensemble de
clauses insatisfiables, alors il existe une deduction lineaire de racine C menant a`
la clause vide.
deduction limitee aux entrees ((( entrees )) : clauses de depart) On appelle deduction
limitee aux entrees de racine C toute suite de clauses (C0 , C1 , . . . Cn ) telle que
C0 = C et que pour i > 0, Ci+1 est obtenue par deduction entre des clauses
dont lune est une entree. Il ny a pas de resultat analogue a` celui e nonce pour
les deductions lineaires, sauf dans un cas tr`es particulier.
4 Exemples complets de resolution
4.1 La methode de resolution
Pour ces divers exercices, on demande le travail suivant :
1. Mettre les diverses propositions sous forme de (( PR )) (on rappelle que cette
traduction doit e tre litterale, cest-`a-dire quelle ne doit pas e tre loccasion de
commencer a` (( tirer des conclusions ))).
2. Mettre les formules obtenues, ainsi que la negation de la conclusion proposee,
sous forme de clauses (numerotees)
225

3. Utiliser la strategie de (( preference des clauses simples )) pour decider si la


conclusion est valide ou non.
On presentera la resolution de mani`ere tr`es claire : des numeros seront affectes
aux clauses, les deductions seront explicites, par exemple :
((x|a)Ci , Ck ) Cn , avec Cn = . . .
On supprimera au fur et a` mesure les clauses subsumees, en indiquant, par
exemple,
La clause Ci est subsumee par la clause Ck .
4.2 Les exemples complets
Ils vont venir...
5 Exercices

Exercice 6. On consid`ere les propositions suivantes :


Il arrive que des programmes tournent.
Tout programme qui tourne est e crit par un programmeur.
Seuls les programmeurs competents e crivent des programmes qui tournent.
Les programmeurs competents qui ne sont pas engages nont pas loccasion
decrire des programmes qui tournent.
On nengage que des programmeurs competents.
On desire verifier que la conclusion suivante est correcte :
Certains programmeurs competents sont engages.

Exercice 7. Les exercices de logique...


Aucun exercice de logique nest interessant.
Certains exercices de logique ne sont pas interessants.
On desire verifier que la conclusion suivante est valide :
Quelques exercices de logique ne sont pas mathematiques.

Exercice 8. La logique est difficile...


226

Tous ceux qui comprennent la logique peuvent se passer de dormir.


Certains e tudiants ne peuvent pas se passer de dormir.
On desire verifier que la conclusion suivante est valide :
Certains e tudiants ne comprennent pas la logique.

Exercice 9. Encore les exercices...


Certains exercices sont franchement de mauvais gout.
Les e tudiants aiment tout ce qui est de bon gout.
On desire verifier que la conclusion suivante est valide :
Il y a certains exercices que les e tudiants naiment pas.

Exercice 10. Les professeurs...


Certaines personnes instruites manquent de generosite.
Tous les professeurs sont genereux.
On souhaite verifier que la conclusion suivante est valide :
Les professeurs ne sont pas des personnes instruites.

Exercice 11. Les e tudiants de premi`ere annee dinformatique sont repartis en six
groupes, du groupe A au groupe F.
Chacun de ces groupes est subdivise en deux sous-groupes (A1 , A2 , B1 , B2 , etc. )
Pour lelaboration de lemploi du temps du second semestre, les contraintes suivantes doivent e tre respectees :
Si A1 et A2 suivent la meme mati`ere, sil en est de meme pour B1 et B2 , et si E1
suit la meme que F2 , C1 doit suivre la meme que D2 .
Si A1 et A2 suivent la meme mati`ere, sil en est de meme pour F1 et F2 , et si B1
suit la meme que C2 , D1 ne peut pas suivre la meme que E2 .
Si C1 , C2 , D1 et D2 suivent la meme mati`ere, et si A1 ne suit pas la meme mati`ere
que B2 , E1 ne peut pas suivre la meme que F2 .
Si A1 et A2 suivent la meme mati`ere, sil en est de meme pour D1 et D2 , et si B1
ne suit pas la meme que C2 , E1 doit suivre la meme que F2 .
Si E1 et E2 suivent la meme mati`ere, sil en est de meme pour F1 et F2 , et si C1
suit la meme que D2 , A1 doit suivre la meme que B2 .

227

Si B1 , B2 , C1 et C2 suivent la meme mati`ere, et si E1 ne suit pas la meme mati`ere


que F2 , D1 doit suivre la meme que E2 .
On souhaite verifier que la conclusion suivante est valide :
A tout instant de la journee, il y aura un groupe au moins dont les deux sousgroupes ne suivront pas la meme mati`ere.
On pourra utiliser le predicat mm(x, y) qui signifie que le sous-groupe x1 suit la meme
mati`ere que le sous groupe y2 , et les symboles de CONSTANTES a, b, c, d, e et f qui
representent les groupes.

Exercice 12. Les intellectuels ach`etent des livres...


Il y a des livres.
Certains intellectuels jouent en bourse.
Seuls les intellectuels lisent des livres.
Seuls les intellectuels se ruinent en jouant en bourse.
Tout livre a un lecteur.
Les intellectuels ruines ne lisent pas de livres.
On souhaite verifier que la conclusion suivante est valide :
Certains intellectuels ne sont pas ruines.

Exercice 13. Les chatelains sont riches...


On ne prete quaux riches.
Il y a des chateaux.
Les gens riches qui ont contracte un pret ne poss`edent pas de chateaux.
Seuls les gens riches sont proprietaires de chateaux.
Tous les chateaux ont des proprietaires.
On souhaite verifier que la conclusion suivante est valide :
Tous les gens riches ne recourent pas a` lemprunt.

III. Clauses de Horn


1 Definition
Une clause de Horn est une clause ne comportant quun seul litteral positif.
R EMARQUE 7. ...donc de la forme p q1 . . . qn = p (q1 . . . qn ) : de la
forme QouP , cest-`a-dire P Q.
228

2 Deduction ordonnee
Une deduction est dite ordonnee quand elle porte sur le litteral de tete (entre deux
clauses).
3 Le resultat e voque dans le paragraphe precedent
Si F est un ensemble de clauses de Horn ordonnees satisfiables, si C est une clause
ne comportant que des litteraux negatifs, et que T {C} est insatisfiable, alors il existe
une deduction limitee aux entiers et ordonnee de racine C qui conduit a` la clause vide.
Fin du Chapitre

229

Chapitre 13
Exercices sur la logique

Exercice 1 (Construction par sous-ensembles). Representer graphiquement lAFND


dont la table de la relation de transition des e tats est donnee par :
t

0 0, 1

0, 1, 2

Les e tats initiaux sont 0 et 1, le seul e tat dacceptation est 2. Le determiniser en lui appliquant la (( construction par sous-ensembles )) ; donner le graphe du resultat obtenu.

Exercice 2 (Automate-Quotient). On donne la table de transition des e tats dun AFD :


t a b c
r r v r
s s p s
u r v s
v r v s
Soit R la plus petite relation dequivalence sur E (ensemble des e tats) telle que uRv,
pRv et sR.
230

1. Verifier quil sagit dune congruence dautomates et dessiner le graphe de


lautomate-quotient.
2. Sachant que, dans lautomate dorigine, letat initial est p et que le seul e tat
dacceptation est u, decrire le langage reconnu par lautomate.

Exercice 3 (Construction dautomates de Moore). On demande de dessiner un automate de moore reconnaissant le langage :
1. decrit par lexpression rationnelle (a|bb) bab ,
2. defini par lexpression rationnelle (a|b|c) (abc|cba),
3. defini sur lalphabet {a, b} des mots non vides ne comportant pas plus de 2
lettres b consecutives.

Fin du Chapitre

231

Quatri`eme partie
Langages, grammaires et automates

232

Chapitre 14
Compilation, langages et grammaires
I. Introduction a` la compilation
1 Le probl`eme pose est...
Donner a` un ordinateur un fichier contenant du texte, le lui faire lire et comprendre
de mani`ere a` lui faire executer un certain nombre de taches associees a` ce fichier
On fait une compilation.
2 Les diverses phases dune compilation
Detaillons succintement les differentes phases dune compilation...
2.1 Lanalyse lexicale
On analyse le flux dentree de mani`ere a` le decouper en unites lexicales, ou lex`emes.
E XEMPLE 1. Dans if (temps == beau ) { etc., les unites lexicales sont (( if )), (( ( )),
(( temps )), (( == )), (( beau )), (( ) )).

2.2 Lanalyse syntaxique


Les contraintes a` respecter pour que le texte soit comprehensible sont-elles respectees ? En dautres termes, le flux de lex`emes est-il conforme a` la syntaxe du langage
utilise (par comparaison a` la grammaire du langage, c.f. ci-dessous) ?

233

2.3 Lanalyse semantique


Reconnatre la signification dun texte syntaxiquement correct : essayer de comprendre ce que cela signifie (le sens).
Cela implique notemment la transformation de la source en une forme utilisable,
qui fasse apparatre le sens du texte.
E XEMPLE 2 ( D ANALYSE S E MANTIQUE ). toto = titi + tutu ; est une instruction daffectation a` la variable (( toto )) dune valeur exprimee par une expression algebrique,
constituee de la somme des variables (( titi )) et (( tutu )).

R EMARQUE 1. Certains compilateurs utilisent des structures arborescentes :

Affectation

toto

Addition

tutu

titi

2.4 Compilation proprement dite


Utiliser effectivement le resultat de lanalyse semantique pour obtenir le resultat
escompte, ce qui est demande : production de code machine, traduction dun texte
dans une autre langue, etc.
R EMARQUE 2. En general, ces differentes phases sont menees en parall`ele.

II. Les grammaires


1 Definition de la notion de grammaire
D E FINITION 1 (G RAMMAIRE ). Une grammaire est un ensemble de r`egles de syntaxe
qui decrivent quels sont les constructions correctes qui sont possibles dans le langage
utilise, a` laide de lalphabet utilise (alphabet ou vocabulaire).

234

Il existe de nombreux types de grammaires, et encore bien plus de formalismes


exprimes pour representer cette grammaire.
Nous utiliseront pour commencer un seul symbolisme pour rempresenter les grammaires : la formalisation BNF (Backus-Naur Form).
2 Le formalisme BNF
Dans la syntaxe BNF, une grammaire est constituee dun ensemble de r`egles.
Chaque r`egle est constituee :
dun premier membre,
suivi du symbole de ree criture ( : :=),
suivi dun second membre, qui peut e tre vide.
On utilise (et on distingue) des symboles terminaux et des symboles non-terminaux
(ST et SNT).
3 Les symboles terminaux
D E FINITION 2 (S YMBOLE TERMINAL ). Un symbole terminal est un symbole qui peut
effectivement intervenir dans le texte analyse.

E XEMPLE 3. Dans if (temps == beau), if est un symbole terminal (on trouve le mot
dans le programme).

N OTATION : Les symboles terminaux sont entoures par : (( )).


4 Les symboles non terminaux
D E FINITION 3 (S YMBOLE NON TERMINAL ). Un symbole non terminal (SNT) est un
symbole introduit (par commodite, ou plutot par necessite) par le redacteur de la grammaire pour decrire les parties du fichier dentree qui representent un tout logique et
permettant de simplifier lecriture de la grammaire.

N OTATION : Les symboles non-terminaux sont entoures par des chevrons : < >.

235

Le premier membre dune r`egle de grammaire est un SNT (la r`egle en constitue
la definition), le second membre est une famille ordonnee (eventuellement vide) de
symboles, terminaux ou non.
Ainsi, chaque r`egle de la grammaire consiste en la definition dun symbole nonterminal. Cette derni`ere est terminee quand tous les SNT ont recu une definition. Une
r`egle secrit finalement sous la forme :
<SNT> : := suite (eventuellement vide) de ST et SNT

E XEMPLE 4. Voici un bout de grammaire (pour la definition dune fonction) :


< f ct > ::=
< type > ::=
::=

< type >< nom > ( < parametres > ) < bloc >

int

char

D E FINITION 4 (A XIOME DE LA GRAMMAIRE ). Parmi tous les SNT, lun dentre eux
doit designer lensemble du texte a` analyser, on lappelle axiome de la grammaire.
E XEMPLE 5. < programme en C >::=< entete >< suite de f ct >

La grammaire est terminee quand tous les SNT ont recu au moins une definition.
5 Exercices

Exercice 1. Les mots du langage L sont constitues dun nombre, e ventuellement nul,
de a, suivi dun b, suivi dau moins un c.
Donner une grammaire BNF de ce langage.

Exercice 2. Les mots du langage L commencent par un caract`ere a, suivi dun nombre
pair (eventuellement aucun) de caract`eres b, puis de deux caract`eres c.
Donner une grammaire BNF de ce langage.
236

Exercice 3. Les mots du langage L sont les noms de variables en C : ils commencent
obligatoirement parune lettre (majuscule ou minuscule), et se poursuivent par un
nombre quelconque de chiffres, lettres ou underscore.
Donner une grammaire BNF de ce langage.

Exercice 4. Ecrire la grammaire, en syntaxe BNF, des formes propositionnelles. On


rappelle que les operateurs sont, par ordre de priorite croissante :
Implication et e quivalence (au meme niveau, le moins prioritaire). Quils ne sont
pas associatifs (on ne peut ni les repeter, ni les faire coexister, au meme niveau
(cest-`a-dire, sans parenth`ese), dans une expression (par exemple, a b
c, ou a b c sont incorrects).
Disjonction et conjonction (au meme niveau, prioritaires sur implication et e quivalence).
Ils sont associatifs, mais on ne peut pas les melanger : on peut e crire a b c,
sans parenth`ese, mais pas a b c.
Negation, prioritaire sur tous les autres. Elle peut e tre repetee. Il sagit dun
operateur unaire prefixe.
Les noms de variable commencent par un caract`ere alphabetique, suivi e ventuellement
dun nombre quelconque de caract`eres alphanumeriques ou de soulignements. Il ny a
pas de constantes dans les expressions. Les operateurs sont realises au clavier par les
trois caract`eres consecutifs < > pour lequivalence, les deux caract`eres consecutifs
> pour limplication, les lettres consecutives ou pour la disjonction, et pour la
conjonction, et non pour la negation. Lexpression peut e videmment comporter des
parenth`eses, et ne peut e tre vide.

Exercice 5. Le langage considere est le prototypage des fonctions en C.


Donner une grammaire BNF de ce langage.

Exercice 6. On accepte les deux types de phrases suivantes :


(( Marie est la m`ere du fr`ere de Sonia. ))
237

(( Qui est le p`ere de loncle de la m`ere du petit fils de Paul ? ))

...et tous leurs derives. Ecrire


la grammaire correspondante.

III. Un exemple complet


(( Les expressions correctes sont constituees dun nombre quelconque, mais non
nul, de 0, suivi dun nombre quelconque, mais non nul, de 1. ))
1 Principes generaux
On conseille de suivre cette demarche :
1.
2.
3.
4.

Commencer par e crire la grammaire du langage (des expressions correctes).


Ecrire lanalyseur syntaxique pur.
Passer a` lanalyseur syntaxique avec messages derreur.
Puis a` lanalyseur syntaxique avec interpretation semantique.

Exercice 7. Suivez ce cheminement :


1. Ecrivez cette grammaire.
2. Programmez, en C, lanalyseur syntaxique pur.
3. Ecrire le programme principal associe (le main).
4. Le modifier en analyseur syntaxique avec messages derreur, et adaptez le programme principal en consequence.
5. Ameliorez le programme pour quil devienne un analyseur syntaxique avec interpretation semantique : ici, comptez le nombre de 0 et de 1, en cas de reussite.

2 La grammaire du langage
< expression >
< groupe0 >
< suite0 >
< groupe1 >
< suite1 >

: :=
: :=
: :=
: :=
: :=
: :=
: :=

< groupe0 > < groupe1 >


0 < suite0 >
< groupe0 >
1 < suite1 >
< groupe1 >

Il faut :
238

Subdiviser au maximum les expressions en sous-expressions coherentes, en nhesitant


pas a` multiplier les niveaux.
Retarder au maximum les alternatives (en multipliant les niveaux) pour ne les
faire intervenir que lorsquon ne peut plus faire autrement.
3 Analyseur syntaxique pur
Voici le code de lanalyseur pur : il repond par (( bon )) ou (( mauvais )).
# i n c l u d e < s t d i o . h>
char s [512];
c h a r ** s s ;
int expression (){
i f ( groupe0 ( ) = = 1 )
r e t u r n groupe1 ( ) ;
return 0;
}
i n t groupe0 ( ) {
i f ( * s s == 0 ) {
s ++;
return suite0 ();
}
return 0;
}
int suite0 (){
i f ( g r o u p e 0 ( ) == 0 )
return 1;
return 1;
}

... meme chose pour groupe1() et suite1().


Une fonction prevue pour analyser une sous-expression ne connat pas ce qui
prec`ede et ne soccupe pas de ce qui suit.
Passons au programme principal :
i n t main ( ) {
p r i n t f ( Une e x p r e s s i o n a a n a l y s e r ? \ n ) ;
s c a n f (% s , s ) ;
ss = s ;
i f ( expression ()==1)
i f ( * s s == \ 0 )
p r i n t f ( Bon \ n ) ;
else

239

else
}

p r i n t f ( M auvais \n ) ;
p r i n t f ( M auvais \ n ) ;

R EMARQUE 3. Toujours commencer par lanalyseur syntaxique pur.


4 Analyseur syntaxique avec messages derreur
i n t groupe0 ( ) {
i f ( * s s == 0 ) {
s s ++;
return suite0 ();
}
p r i n t f ( L e x p r e s s i o n d o i t commencer p a r 0\ n )
return 0;
}
int suite0 (){
i f ( * s s == 0 ) {
s s ++;
return suite0 ();
}
return 1;
}

Le programme principal devient alors :


i n t main ( ) {
p r i n t f ( Une e x p r e s s i o n a a n a l y s e r ? \ n ) ;
s c a n f (% s , s ) ;
ss = s ;
i f ( expression ()==1)
i f ( * s s == \ 0 )
p r i n t f ( Bon \ n ) ;
e l s e i f ( * s s == 0 )
p r i n t f ( P as de 0 a p r e s l e ( s ) un ( s ) . \ n ) ;
else
p r i n t f ( C a r a c t e r e i n t e r d i t : %c \n , * s s ) ;
}

5 Analyseur syntaxique avec interpretation semantique


i n t groupe0 ( ) {
i f ( * s s == 0 ) {
s s ++;
r e t u r n 1+ s u i t e 0 ( ) ;

240

}
p r i n t f ( L e x p r e s s i o n d o i t commencer p a r 0\ n )
return 0;
}
int suite0 (){
i f ( * s s == 0 ) {
s s ++;
r e t u r n 1+ s u i t e 0 ( ) ;
}
return 0;
}

Pareil pour groupe1 et suite1. Le programme principal devient alors :


i n t main ( ) {
p r i n t f ( Une e x p r e s s i o n a a n a l y s e r ? \ n ) ;
s c a n f (% s , s ) ;
ss = s ;
Expression = expression ()

i f ( * s s == \ 0 )
p r i n t f ( Bon \n ) ;
e l s e i f ( * s s == 0 )
p r i n t f ( Nombre de 0 : %d , nomre de 1 : %d , e x p r e s s i o n . z e r o , e x p r e s s
else
p r i n t f ( C a r a c t e r e i n t e r d i t : %c \ n , * s s ) ;

o`u la structure Expression et la fonction expression() sont ainsi definis :


s t r u c t Expression {
i n t zero ;
i n t un ;
}
s t r u c t Expression expression (){
s t r u c t Expression a ;
a . zero = groupe0 ( ) ;
i f ( a . zero !=0)
a . un = g r o u p e 1 ( ) ;
return a ;
}

Cet exemple, et dautres, seront (re)vus en TP.


Fin du Chapitre

241

Chapitre 15
Introduction aux expressions
rationnelles
I. Presentation
Dans la definition de la syntaxe dun langage de programmation, par exemple, on
rencontre souvent des definitions telles que celle dun identificateur :
(( Un identificateur est un identificateur de symbole ou un identificateur de variable ;
un identificateur de symbole commence par deux caract`eres alphabetiques, suivi par
un nombre quelconque, e ventuellement nul, de chiffres, suivis, etc. ))
Il sagit ici dintroduire des abreviations pour ce type dexpressions ; ces abreviations
conduisent a` la notion dexpression rationnelle.
E XEMPLE 1. Lexpression rationnelle a(a|b) signifie : un caract`ere a, suivi dun nombre
quelconque, e ventuellement nul, de caract`eres choisis dans lensemble {a, b}.
Un langage est e videmment associe a` une expression rationnelle. On notera L(r)
le langage associe a` lexpression rationnelle r.
Exercice 1. Quel est le langage decrit par lexpression rationnelle = (ab ) ?
Lexpression = a(a|b) est-elle e quivalente a` ?
Trouvez une expression e quivalente a` dans laquelle il ny a quune .
Reponse : L \ L ; expression e quivalente : (|a(a|b) ).
Definissons dorenavant plus rigoureusement cela, rentrons dans les details...
242

II. R`egles de definition


Voici les r`egles qui permettent de definir les expressions rationnelles sur un alphabet :
1. est une expression rationnelle qui denote { (( )) } (lensemble constitue de la
chane vide).
2. Si r et s denotent les langages L(r) et L(s), alors
(r)|(s) designe le langage L(r) L(s) (i.e. le langage obtenu par reunion des
deux langages L(r) et L(s)).
(r)(s) designe le langage L(r)L(s) (i.e. le langage obtenu en concatenant, de
toutes les mani`eres possibles, un mot du langage L(r) et un mot du langage
L(s)).
(r) designe le langage (L(r)) (i.e. le langage constitue de la chane vide,
des mots de L(r) et des mots obtenus en concatenant un nombre quelconque
(au moins deux) de mots de L(r)).
(r) designe le langage L(r).
Exercice 2. Decrire, sur lalphabet { Acquerir, Sortir, Rentrer, Vendre, Archiver }, la
vie dun document dans une biblioth`eque.

Reponse : Acquerir (Sortir Rentrer )* (Sortir Vendre Archiver).

Exercice 3. Ecrire,
en syntaxe BNF, la grammaire algebrique de toutes les expressions
rationnelles sur .

243

Reponse :
< expression >

< primitive >


< parenth`ese >
< suite >
< concatenation >
< e toile >

: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=

< primitive >


< parenth`ese >
< concatenation >
< e toile >

x (avec x )
( < expression > | < expression > < suite > )
< expression > < suite >
< expression > < expression >
< primitive > *
< parenth`ese > *
< concatenation > *

On peut reduire le nombre de paires de parenth`eses e crites, en adoptant les r`egles


de priorite suivantes :
La repetition est prioritaire sur tout autre operateur.
Autrement dit ab est a|b doivent e tre interpretes (respectivement) par a(b) et
a|(b ).
La concatenation est prioritaire sur lalternative.
rs|tu doit donc e tre interprete comme (rs)|(tu).
De plus, on admettra lecriture an pour le mot aaa . . . aa (n fois).
Exercice 4. Soit lalphabet = {+, , a, b, c}. Reperer les expressions rationnelles
sur parmi les suites de symboles suivantes :
1. (a|+) + b c,
2. + | ,

3. ((a+) |)b c,

4. ((a b) |ca+ ).

Reponse : Seules la premi`ere et la derni`ere suite de symboles sont des expressions


rationnelles.

III. Proprietes des operateurs

244

P ROPRI E T E I : Les proprietes de ces operateurs sont les suivants :


1. Associativite : r|(s|t) = (r|s)|t et r(st) = (rs)t.
2. Commutativite de lalternative : r|s = s|r.
3. Distributivite de lalternative sur la concatenation : r(s|t) = rs|rt et (r|s)t =
rt|st.
4. est e lement neutre pour la concatenation.
5. La repetition est idempotente : r = r .

Exercice 5. Quel est le langage sur {a, b} decrit par lexpression rationnelle : b a(b ab a) b ?
En trouver une (( meilleure )) expression.

Reponse : Lensemble des mots sur {a, b} contenant un nombre impair de a. b a(b|ab a) .

IV. De nouvelles abreviations


Dautres abreviations peuvent e tre introduites :
Loperateur de fermeture positive : a+ designe (( au moins une instance de )) (i.e.
a+ = aa
Loperateur ? qui signifie (( zero ou une occurence de )) (i.e. a? = a|).
Classes de caract`eres : la notation [abc] est une autre notation pour a|b|c, sans
interet, sauf dans le cas de [a z] = a|b| . . . |z.
E XEMPLE 2. On peut representer (( une lettre, suivie dun nombre quelconque, e ventuellement
nul, de lettres ou de chiffres )) par [a zA Z][a zA Z0 9] .

V. Universalite des expressions rationnelles


Les expressions rationnelles ne sont pas universelles, et ne permettent pas de decrire
tous les langages.

245

E XEMPLE 3. Il est impossible de decrire, a` laide dexpression rationnelles, le langage


defini par
{wcw|w est une chane de a et de b}

En effet, (( une chane de a ou de b )) peut sexprimer par lexpression rationnelle


(a|b) .
Mais, si lon e crit ensuite (a|b) c(a|b) , la syntaxe des expressions rationnelles ne
permet pas de preciser que les chanes qui prec`edent et suivent le c sont identiques.
Fin du Chapitre

246

Chapitre 16
Automates Finis
I. Automates finis
1 Introduction
On va degager dans ce paragraphe la notion de machine comme mod`ele conceptuel
pour la description de dispositifs informatiques aussi varies quun ordinateur entier, un
logiciel ou un compilateur.
D E FINITION 1 (M ACHINE ). Une machine est un dispositif dote dun certain nombre
detats, susceptible devoluer dun e tat a` un autre en fonction de divers param`etres,
comme le temps (la machine est alors dotee dune machine interne).
Elle est de plus apte a` communiquer avec lexterieur : elle peut accepter des donnees
en provenance de lexterieur (des entrees) ou communiquer des resultats a` lexterieur
(des sorties).

Exercice 1. Donnez des exemples de machines.

` chaque instant, la condition interne de la machine, y compris la


R EMARQUE 1. A
memoire, constitue son e tat.
2 Mecanismes
Cest le type le plus simple de machine :

247

D E FINITION 2 (M E CANISME ). Un mecanisme est totalement impermeable au monde


exterieur, il naccepte aucune entree ni aucune sortie.
Cest une machine a` nombre fini detats, dont le comportement est gouverne uni
quement par le temps, mesure par une horloge interne.

Exercice 2. Donner un exemple de mecanisme.

Un mecanisme peut e tre enti`erement decrit par un couple (E, t), o`u E est un ensemble fini detats et t : E E est une fonction de transition des e tats.
P ROPRI E T E I (E XISTENCE D UN CYCLE ) : Un mecanisme entre necessairement
dans une boucle infinie (on dit : un cycle ).

En effet, le nombre detats est fini.


D E FINITION 3 ( E TAT- REPOS ). Sil existe un e tat e E tel que t(e) = e, cet e tat est
appele e tat-repos .

R EMARQUE 2. Un mecanisme qui entre dans un tel e tat nen sort e videmment plus.

E XEMPLE 1. Un feu de circulation routi`ere peut e tre decrit par un mecanisme a` trois
e tats : V , O et R, donc E = {V, O, R}.
La fonction de transition des e tats est telle que t(V ) = O, t(O) = R et t(R) = V .
On peut representer ce mecanisme par le graphe de transition des e tats

248

ou par la matrice booleenne T representant t :

0 0 1
T = 1 0 0
0 1 0

Exercice 3. Lexemple precedent poss`ede-t-il un cycle ? un e tat-repos ? Sinon, le modifier pour.

II. Automates finis a` comportement determine


1 Definition
D E FINITION 4 (AUTOMATE FINI A` COMPORTEMENT D E TERMIN E ). On appelle automate fini a` comportement determine(AFD) tout triplet (E, I, t), o`u
E est un ensemble fini (lensemble des e tats),
I est le vocabulare de lautomate : cest lensemble fini des symboles admis en
entree,
t : E I E est la fonction de transition detats : si lautomate se trouve dans
letat e E , il reagit a` lentree i I en passant a` letat t(e, i).
Pour i I , on definit la fonction ti : E E par ti (e) = t(i, e).

E XEMPLE 2. Soit E = {e0 , e1 }, I = {0, 1} et t telle que


1. lentree 0 laisse inchange chacun des e tats,
2. lentree 1 e change les e tats.
Un tel dispositif, en e lectronique, est appele un T-flip-flop , il est abondamment
utilise dans les ordinateurs...
e1

11
e0

249

La table qui donne les valeurs de la fonction t est appelee table de transition detats
de lautomate considere :
t

e0 e0 e1
e1 e1 e0

Exercice 4. Representer le graphe de lautomate fini M dont la table de transition


des e tats est
t 0 1 2
r s r u
s r r s
u u r u

Reponse :
0,2

2
0

r
2

0,1

Exercice 5. Ecrire
la table de transition detats de lautomate dont le graphe est
represente dans la figure suivante :

250

1
s

p
0

r
1
0

0,1

Reponse :
0 1
p
q
r
s

r
q
r
s

p
q
q
p

2 Automates finis avec sorties (machines de Moore et de Mealy)


D E FINITION 5 (M ACHINE DE M OORE ). Une machine de Moore est un sextuplet M =
(E, I, t, e0 , V, g) tel que (E, I, t) est un AFD, et
e0 E est un e tat appele e tat initial, dans lequel se trouve la machine au depart
de chaque execution.
V est un ensemble fini, dit ensemble des sorties,
g : t < E, I > V , o`u t < E, I > est limage de t, est la fonction de sortie
telle que, chaque fois que la machine entre dans letat e, elle produise la sortie
g(e) V .

E XEMPLE 3. Ici, E = {e0 , e1 , e2 , e3 }, I = {0, 1}, V = {a, b, c}, t est donnee, soit par
le graphe de lautomate :

251

e0

e1 :a

0,1

1
0

e2 :c

e3 :b
1
0

soit par la table de transition detats


t

e0
e1
e2
e3

e1
e2
e3
e3

e3
e2
e2
e2

g se lit dans le graphe : g(e1 ) = a, g(e2 ) = c, g(e3 ) = b.

R EMARQUE 3. Une telle machine est aussi appelee traducteur (elle (( traduit )) lentree
0001001 en une sortie acbcbbc).

D E FINITION 6 (M ACHINE DE M EALY ). On obtient une machine de Mealy lorsque la


sortie est determinee, non pas par letat atteint, mais par la transition detats.
Cest donc un sextuplet (E, I, t, e0 , V, h) o`u la fonction de sortie h est une application de E I vers V .

R EMARQUE 4. Il est clair que, pour une machine de Moore (E, I, t, e0 , V, g), on peut
definir une machine de Mealy e quivalente (cest-`a-dire qui produit la meme sortie sur
toute sequence dentree), en posant h(e, i) = g(t(e, i)), soit h = got.
Reciproquement, en introduisant au besoin des e tats supplementaires, on montre
quon peut remplacer toute machine de Mealy par une machine de Moore e quivalente.
Nous ne nous occuperons donc dans la suite que de machines de Moore.

252

3 Automates de Moore
D E FINITION 7 (AUTOMATE DE M OORE ). Une machine de Moore telle que lensemble
V des sorties est reduit a` la paire booleenne {F AUX, V RAI} ou {0, 1},
tout e tat qui donne lieu a` FAUX est appele e tat de rejet,
tout e tat qui donne lieu a` la sortie VRAI est appele e tat dacceptation .
est appelee automate de Moore ou machine dacceptation.

R EMARQUE 5. Inutile dexhiber ici la fonction de sortie, il suffit de se donner lensemble A des e tats dacceptation, sous-ensemble de E.
Un automate de Moore est donc defini par le quintuplet (E, I, t, e0, A).
Sur le graphe representant un automate de Moore, on representera un e tat dacceptation en lentourant dun double cercle.
Les autres e tats (simplement cercles) sont les e tats de rejet.

III. Langage associe a` un automates de Moore


1 Definition du langage
Soit M un automate de Moore.
Lensemble des entrees I peut e tre considere comme lalphabet dun syst`eme formel.
Lensemble des (( mots )) construits avec cet alphabet (suite delements de lalphabet) qui conduisent la machine a` un e tat dacceptation peut e tre considere comme
lensemble des formules bien formees de ce syst`eme formel.
D E FINITION 8 (L ANGAGE ). Ce syst`eme formel constitue le langage associe a` lautomate M .

N OTATION : L(M)
Reciproquement, e tant donne un langage L, on peut e ventuellement construire un
automate de Moore M tel que le langage associe a` M soit L : L = L(M).
R EMARQUE 6. Cela nest pas possible pour tous les langages. Quand cest possible,
cet automate analyse les mots du langage.

253

2 Exemple et exercices

E XEMPLE 4. Construction de lautomate qui reconnat le langage defini par lexpression suivante...
Un mot du langage est constitue dun nombre quelconque, mais non nul, de 0, suivi
dun nombre quelconque, mais non nul, de 1.

0,1
1

e0

e1

0
e2

e3
1
1

Exercice 6. Decrire le langage L(M) de lautomate de Moore M dont la table de


transition des e tats est :
t

e0 e1 e2
e1 e1 e2
e2 e2 e1
Letat initial est e0 et le seul e tat dacceptation est e2 .

Reponse : Les mots corrects contiennent un nombre impair de 1.


Exercice 7. Sur lalphabet I = {0, 1}, construire lautomate de Moore dont le langage est lensemble de tous les mots sur I se terminant par 10.

254

Reponse :
0

1
0

1
e0

e1

e2
1

0
Exercice 8. Construire un automate de Moore dont lalphabet est constitue des lettres
du mot (( ALGUE )) qui reconnat les mots contenant la sous-chane (( GEL )) (et seulement celle-ci).

Reponse :
A,L,U,E

A,L,G,U,E

G
G

e0

E
e1

L
e2

e3

A,L,U

A,G,U,E

IV. Automates finis a` comportement non determine


1 Definitions et exemples
Les automates consideres jusqu`a present ont un comportement compl`etement (( determine )) : pour chaque configuration e tat-entree (e, i) E I, une et une seule
transition detat est fixee.
Cela resulte du fait quils sont regis par une fonction de transition detats t (de
E I dans E).
On peut imaginer des automates moins (( rigides )), pour lesquels, dans certaines
configurations, plusieurs transitions detats sont possibles ou, au contraire, aucune
nest prevue.
255

Pour un tel automate, qualifie de non-deterministe, t nest plus une fonction, mais
une relation binaire quelconque. Ainsi...
D E FINITION 9 (AUTOMATE FINI NON D E TERMINISTE ). Un automate fini non deterministe
a` e tats dacceptation est defini par (E, I, t, S, A) o`u :
E est un ensemble (fini) detats,
I est lensemble des entrees,
t est la relation de transition des e tats,
S , partie de E , est lensemble des e tats initiaux,
A, partie de E , est lensemble des e tats dacceptation.

R EMARQUE 7. Il se peut donc quune entree puisse conduire un automate vers plusieurs e tats possibles ou quelle laisse lautomate indifferent.

E XEMPLE 5. Dans cet exemple, lorsque lautomate se trouve dans letat e0 , lentree a
peut le faire passer dans letat e1 ou dans letat e3 et, lorsquil se trouve dans letat e1 ,
rien nest prevu pour lentree b.
a,b,c
a,b

e0

e3
a,b

c
e1

e2

Table de transitions
t

{e0 } {e1 , e3 } {e3 }

{e1 } {e1 }
{e2 , e3 }
{e2 } {e2 } {e2 } {e1 }
{e3 } {e3 } {e3 } {e3 }
Il est e videmment possible de concevoir des AFND produisant des sorties, et, en
particulier, des e tats dacceptation et de rejet. On admettra par ailleurs quil puisse y
256

avoir, dans ces cas, plusieurs e tats initiaux possibles.


Soit alors M = (E, I, t, S, A) un AFND.
D E FINITION 10 ( ENTR E E RECONNUE ). On dit quune suite w dentrees est reconnue
par lautomate si cette suite peut conduire lautomate a` un e tat dacceptation.

E XEMPLE 6. Dans lexemple precedent,


Comme e1 est a` la fois un e tat initial et dacceptation, le mot vide fait partie du
langage reconnu par lautomate.
Le mot aaacc est reconnu par lautomate.
Les mots refuses sont ceux qui nont aucun chemin vers un e tat dacceptation,
comme bbb.

On definit aussi de cette mani`ere le langage L(M) associe a` un AFND. Il est


constitue de lensemble des mots qui, depuis lun des e tats initiaux, peut conduire
a` lun des e tats dacceptation.
Exercice 9. On consid`ere lautomate fini M non deterministe dont la relation de transition des e tats est donnee par la table
t
e0
e1
e2
e3

e0 , e1
e1

e2
e2
e1

e0 , e1 , e2

Si e0 et e1 sont les e tats initiaux et si e2 est le seul e tat dacceptation, les mots
001111 et 01001 sont-ils reconnus par M ?

Reponse : 001111 est reconnu, mais pas 01001.

257

2 Utilite
Les AFND sont beaucoup plus simple a` construire que les AFD.
Ainsi, les algorithmes de construction automatique dautomates produisent des
AFND, et les algorithmes de simplification dautomate utilisent des AFND.
Mais, e tant non deterministes, ils ne sont pas programmables. Heureusement, on
sait les determiniser (i.e. construire un automate de Moore qui reconnat le meme langage)...

V. Determination dun AFND


Lalgorithme expose dans ce paragraphe est appele methode de construction par
sous-ensemble. Il sagit dune methode qui permet dobtenir un automate de Moore
qui reconnat le meme langage quun AFND.

1 Methode de construction par sous-ensemble


Soit donc M = (E, I, t, S, A) un AFND a` e tats dacceptation. Soit Y une partie
quelconque de E et x I une entree quelconque.
N OTATION : On note Yx lensemble des e tats de M accessibles a` partir de lun quelconque des e tats de Y sur lentree x.

E XEMPLE 7. Dans lexemple precedent, et pour Y = {e1 , e3 } :


Ya = {e1 } {e3 } = {e1 , e3 },
Yb = {e3 } = {e3 },
Yc = {e2 , e3 } {e3 } = {e2 , e3 },

On obtient un automate de Moore M = (E, I, T , E0 , A) de la mani`ere suivante :


1. Lensemble E des e tats de M est le sous-ensemble de P(E) defini par :
S E,
x I, Y E, Yx E.
2. Letat initial de M est E0 = S.

3. Lensemble A des e tats dacceptation de M est defini par A = {Y EkY A 6=


}.
4. La fonction de transition detats est definie par T : E I E, (Y, x) 7
T (Y, x) = Yx .
258

2 En pratique
En pratique, on part de letat initial de M, cest-`a-dire de S.
Pour chacune des entrees, on forme lensemble Sx des e tats de M que la relation de
transition t permet datteindre a` partir de tous les e tats de S, et on pose T (S, x) = Sx .
On recommence loperation pour chacun des e tats Sx ainsi obtenus (pour les diverses entrees x), etc.
R EMARQUE 8. Le processus a une fin, parce que E est fini, donc aussi P(E) : si
lautomate de depart a n e tats, lautomate determinise en aura au plus 2n ..
R EMARQUE 9. Il se peut quaucun e tat ne soit accessible depuis lun quelconque des
e tats dun e tat Yx de M, sur une entree y.
On prend alors pour e tat darrivee de M lensemble vide ; celui-ci constitue un e tat
particulier de M, dont on ne peut sortir sur aucune entree (c.f. exemple ci-dessous).

E XEMPLE 8. Un exemple...

1
0

e0
0,1

e1
0

1
e2

e1

1
1
e0 ,e1

0,1

e1 ,e2 ,e3

e3
0

e3

e1 ,e3

e2 ,e3

0,1

1
0

e2

Exercice 10. Construire des automates de Moore e quivalents aux AFND ci-dessous :

259

0,1

0
b

1
0

0,1

6
b

Exercice 11. Construire des automates de Moore reconnaissant les langages definis
par les expressions reguli`eres :
1. (a|b) b(a|b)
2. ((a|b)2 ) |((a|b)3 )
3. (a2 |b2 ) |(a3 |b3 )

4. ba |ab|(a|bb)ab .

Reponses : Pour (a|b) b(a|b)


a,b

a
e0

e1

VI. Exercices
Exercice 12. Soit = {a, b}.

1. Fabriquer un automate qui accepte les mots de longueur pair.


260

2. Fabriquer un automate qui accepte les mots de longueur impair.


3. Fabriquer un automate qui accepte les mots dont la longueur est congrue a` 1
modulo 4.

1 Proprietes dun automate a` n e tats

Exercice 13. Soit un automate fini deterministe A qui a n e tats et qui na pas detat
inaccessible.
Montrer quil existe necessairement un mot de longueur inferieure o`u e gale a` n1
qui est accepte par A.

2 Les palindromes

Exercice 14 (Palindrome). Soit un alphabet dont le nombre de caract`eres est superieur ou e gal a` deux.
On appelle retournement lapplication : telle que () = et qui
associe au mot de longueur non nulle le mot , nomme retourne de defini par
(k) = (n k + 1)
1. Determiner () quand = aabcdea. Dune facon generale, comment le retournement op`ere-t-il sur la chane de caract`eres qui represente un mot ?
2. Exprimer ( ) en fonction de () et ( ). Que vaut (()) ?
3. On dit quun mot est un palindrome si () = . Montrer que tout mot de la
forme () est un palindrome. Est-ce l`a tous les palindromes ?
4. Si le nombre delements de est n, combien y a-t-il de palindromes de longueur
p dans ?

Exercice 15 (Suite palindrome). Soit = {a, b}. Construire un AFD qui accepte les
palindromes de longueur 3.

261

Exercice 16. Soit = {a, b}. On note L le langage constitue des mots dans lesquels
la lettre a, quand elle apparat, est toujours suivie dau moins deux lettres b.
1. Quels sont les mots de L de longueur inferieure ou e gale 6 ?
2. Construire un AFD qui accepte L.
3. Donner une expression reguli`ere qui decrit L.

Fin du Chapitre

262

Chapitre 17
Optimisation dautomates finis
Des automates differents peuvent e tre associes au meme langage.
Loptimisation des programmes danalyse syntaxique (dont certains sont des realisations
concr`etes dautomates finis) rend necessaire la construction dun automate minimal (en
nombre detats) qui reconnaissent un langage donne.
On se limitera dans ce chapitre a` la simplification dun automate de Moore (puisque
la methode de construction par sous-ensemble permet de se ramener dun AFND a` un
AFD).

I. Congruences dautomates
Soit (E, I, t) un AFD et R une relation dequivalence sur E.
1 Quelques rappels
On rappelle que R est une relation binaire sur lensemble E des e tats, qui a en plus
les proprietes suivantes...
- reflexivite. Pour tout e tat e E, eRe,

- symetrie. Pour tout couple detats (e1 , e2 ) E 2 : si e1 Re2 , alors e2 Re1 ,

- transitivite. Pour tout triplet detats (e1 , e2 , e3 ) E 3 : si e1 Re2 et e2 Re3 , alors


e1 Re3 .
Exercice 1. On consid`ere lautomate :

263

1
0

e0
0,1

e1
0

1
e2

e3
1

et la relation binaire ei Rej si et seulement si i et j ont la meme parite.


Montrez que R est bien une relation dequivalence sur E.

On rappelle encore que t : E I E est la fonction de transition. Par la suite,


par souci de concision, on notera tx (e) pour t(e, x).
2 Definition
D E FINITION 1 (C ONGRUENCE D AUTOMATES ). On dit que R est une congruence
dautomates si et seulement si
(r, s) E 2 , x I, (rRs) = (tx (r)Rtx (s))

Cest-`a-dire si toute paire detats e quivalents modulo R est transformee par toute
entree en une paire detats e quivalents modulo R.

Exercice 2. La relation dequivalence R de lexercice precedent est-elle une congruence


dautomates ?

264

3 Ensemble quotient
Soit R une congruence dautomates sur lAFD (E, I, t).
lensemble quotient E/R.
N OTATION : On note E,

Exercice 3. Representer le graphe de lautomate M dont la table de transition des


e tats est
t a b
e0
e1
e2
e3
e4
e5

e0
e1
e2
e5
e4
e3

e4
e0
e4
e2
e3
e2

Soit R la relation dequivalence pour laquelle E/R = {{e0 , e2 }, {e1 , e3 , e5 }, {e4 }}.
1. Donner la table de transition detats de lautomate-quotient.
2. Representer son graphe

Reponses :
E

A = {e0 , e2 }
{e0 , e2 }
{e4 }
B = {e1 , e3 , e5 } {e1 , e3 , e5 } {e0 , e2 }
C = {e4 }
{e4 }
{e1 , e3 , e5 }

265

a
A
b
a

b
b
B
a

Exercice 4. Soit M lautomate fini dont la table de transition des e tats est
t 0 1
1
2
3
4
5

1
3
2
4
3

4
5
5
1
4

Soit R la relation dequivalence sur E = {1, 2, 3, 4, 5} telle que 1R4 et 3R2.

1. Que vaut E/R ?

2. Montrer que R est une congruence dautomates.

3. Donner la table de transition des e tats de lautomate-quotient.

4. Representer son graphe.

Exercice 5. Soit M lautomate fini dont le graphe est represente par la figure

266

0
1

1
1

1
0

5
1

Le tableau ci-dessous figure une relation binaire R dans lensemble des e tats E =
{0, 1, 2, 3, 4, 5} :
0 1 2 3 4 5
0
1
2
3
4
5

1
0
0
0
1
0

0
1
0
0
0
1

0
0
1
1
0
0

0
0
1
1
0
0

1
0
0
0
1
0

0
1
0
0
0
1

Un chiffre 1 a` lintersection de la ligne i et de la colonne j signifie que iRj, et un


chiffre 0 que ces deux e lements ne sont pas en relation.
1. Montrer que R est une relation dequivalence sur E.
2. Montrer que R est une congruence dautomates.

3. Representer le graphe de lautomate-quotient M/R.

Reponses :
E

A = {0, 4} {0, 4} {1, 5}


B = {1, 5} {3, 2} {1, 5}
C = {3, 2} {3, 2} {0, 4}

267

0
A
1
0

1
0
B
1

R EMARQUE 1. On peut definir une application tx : E E par tx (e)


= [tx (e)],
puis

une application t : E I E par (e,


i) 7 tx (e).

II. Equivalence
de Nerode
1 Lequivalence
Soit M = (E, I, t, e0 , A) un automate de Moore, deux e tats q et s de E, et w I
un mot dentree.
D E FINITION 2 ( W- COMPATIBLES ). q est s sont w-compatible si et seulement si
tw (q) A tw (s) A
Cette definition permet de definir une relation dans E par
(q s) (w I , q et s sont w-compatibles)
D E FINITION 3 ( E QUIVALENCE DE N E RODE ). Cette relation est manifestement une
relation dequivalence, elle est appelee e quivalence de Nerode associee a` M .

On demontre facilement que cette e quivalence est une congruence dautomates.


Tout automate de Moore peut donc e tre remplace par son quotient par lequivalence de
Nerode.
Dans ce quotient, le nombre detats est e videmment plus petit, lautomate obtenu
est donc plus (( simple )).
268

2 Lalgorithme
2.1 La theorie
Pour obtenir lequivalence de Nerode associee a` un automate, on dispose de lalgorithme suivant...

Soit M = {E, I, t, e0 , A} un automate de Moore.


On definit, pour tout k N, une relation Rk sur E en posant
[qRk s] [(w I ), (l(w) 6 k = q et s sont w-compatibles)]
Donc q et s sont en relation par Rk lorsquils sont w-compatibles, pour tout mot w
de longueur inferieure ou e gale a` k.
Cette relation est clairement une relation dequivalence, et Rk+1 est plus fine que
Rk . Lequivalence de Nerode est lintersection de ces relations Rk , pour toutes les
valeurs de k entier.
2.2 La pratique
Cet algorithme nest pas utilisable dans la pratique. On fait plutot...
1. Prendre comme partition de depart P0 = {A, E \ A}.

2. Si Pk = {E1 , . . . , En } est la partition correspondant a` la relation Rk , morceler


e ventuellement chaque classe Ei en sous-classes Ei1 , Ei2 , . . . , Eip de mani`ere
que deux e tats q et s appartiennent a` la meme sous-classe si, pour toute entree x,
les e tats tx (q) et tx (s) appartiennent a` la meme classe Ej (pouvant dependre de
x).
Lensemble des sous-classes obtenues constitue la partition correspondant a` la
relation Rk+1

3. Repeter letape precedente jusqu`a ce que Pk+1 = Pk . La relation Rk est alors


lequivalence de Nerode associee a` M.

R EMARQUE 2. Letape (3) est necessairement atteinte, puisque les relations Rk sont
de plus en plus fines.
Au pire, P = {{q}kq E}, la relation est legalite : ceci signifie que lautomate
nest pas simplifiable.

E XEMPLE 1. Un automate de Moore et lautomate simplifie.

269

a
1

2,6

1
b

a,b b

a,b

a
a

3,5

b
6

Exercice 6. On donne un AFD par la table de transition des e tats suivante :


t

a b

0
1
2
3
4
5

1
5
5
4
5
5

2
3
1
5
4
5

initial : 0
Etat

Etats
dacceptation : 4
Cet automate reconnat le langage defini par lexpression reguli`ere (a|bb)bab .
Appliquer la methode de lequivalence de Nerode pour trouver lautomate minimal
reconnaissant le langage.

270

Exercice 7. Faire de meme avec lautomate de Moore dont la table de transition est :
t

a b

a
b
c
d
e
f
g

a
g
f
a
a
g
g

c
d
e
d
d
f
c

III. Methode du dual


1 Dual dun automate
Soit M = (E, I, t, S, A) un automate quelconque (AFD ou AFND).
D E FINITION 4. Lautomate dual de M est lautomate M 1 = (E, I, t , A, S), o`u t est
la relation sur E obtenue en renversant toutes les fl`eches sur le graphe de M , cest-`adire si R (E I) E est le graphe de la relation t , alors que le graphe de t est R,
on a
((e, i), e ) R ((e , i), e) R
Il est clair que M reconnat un mot w I si et seulement si M 1 reconnat le mot
w (si w = a1 a2 . . . an , alors w 1 = an an1 . . . a1 ).
Le dual dun automate a` comportement determine nest pas necessairement a` comportement determine.
1

2 Methode du dual
Soit M un automate de Moore :
1. Construire lautomate dual M 1 de M.
2. Appliquer la construction par sous-ensembles a` M 1 pour le transformer en
automate M de Moore.
3. Construire le dual M 1 de M .
4. Appliquer la construction par sous-ensemble a` M 1 pour obtenir lautomate de
Moore M .
Lautomate M est lautomate minimal tel que L(M ) = L(M).
271

Exercice 8. On donne un AFD par la table de transition des e tats suivante :


t

0
1
2
3
4
5
6
7
8
9
10
11
12

1
3
3
5
5
7
7
9
9
11
11
1
1

2
4
4
6
6
8
8
10
10
12
12
2
2

initial : 0
Etat

Etats
dacceptation : 0 3 4 5 6 7 8 11 12
Cet automate reconnat le langage defini par lexpression reguli`ere ((a|b)2 ) |((a|b)3 ) .
Appliquer la methode du dual pour trouver lautomate minimal reconnaissant le langage.

Exercice 9. On donne un automate non deterministe, a` transitions instantannees, par

272

la table de transition suivante :


t

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

1, 11
2, 7

3
4, 6
5
4, 6
10
8
9
10
22
12, 14
13
17

15
16

17
18
19, 21
20
19, 21
22

initial : 0
Etat
dacceptation : 22
Etat
Cet automate reconnat le langage defini par lexpression reguli`ere ba |ab|(a|bb)ab .
Le determiniser, puis lui appliquer la methode de votre choix pour obtenir lautomate
minimal reconnaissant le langage.

273

Exercice 10. On donne la table de transition suivante pour un automate fini :


t

10

10 11

10

10 10

11

8
8

Letat initial est 0, et les e tats dacceptation sont 4, 5, 9 et 11.


Appliquer a` cet automate lalgorithme de votre choix pour obtenir lautomate minimal
reconnaissant le meme langage (equivalence de Nerode ou dual).
(Lautomate minimal poss`ede 7 e tats).

IV. Synth`ese
1 Outils
1.1 Construction par sous-ensemble
Domaine dapplication : Cette methode sapplique aux automates finis non deterministes.
Il est aussi possible de lutiliser sur un AFD, mais cest sans interet.
Resultat : Automate reconnaissant le meme langage.
But : Obtenir un AFD reconnaissant le meme langage.
Autre utilisation : Peut permettre dobtenir lautomate minimal reconnaissant le meme
langage (methode du dual).
274


1.2 Equivalence
de Nerode
Domaine dapplication : Cette methode ne sapplique quaux automates finis deterministes (AFD).
Resultat : Le quotient de lautomate considere par lequivalence de Nerode ; un automate ne reconnaissant generalement pas le meme langage.
But : Simplifier lautomate considere, si cest possible, grace a` la methode des quotients.
2 Methodes doptimisation
2.1 Methode des quotients
Domaine dapplication : Cette methode ne sapplique quaux automates finis deterministes (AFD).

Moyens : Equivalence
de Nerode.
Resultat : On obtient lautomate minimal reconnaissant le meme langage.
2.2 Methode du dual
Domaine dapplication : Cette methode ne sapplique quaux automates finis deterministes (AFD).
Moyens : Construction par sous-ensembles.
Resultat : Lautomate de Moore minimal reconnaissant le meme langage.
egant, mais pas efficace.
Efficacite : El
Fin du Chapitre

275

Chapitre 18
Construction dautomates finis a`
partir dexpressions rationnelles
Lalgorithme expose ici est appele algorithme de Thompson. Il permet de construire
un AFND a` partir dune expression rationnelle.

I. Automates a` transitions instantanees


D E FINITION 1 (T RANSITION INSTANTAN E E ). Une transition instantanee est une e volution possible de lautomate dun e tat vers un autre sans quaucune entree ne soit
produite.

Les automates a` transitions instantanees interviennent dans lalgorithme de Thompson de construction automatique dun automate reconnaissant le langage associe a` une
expression rationnelle...

II. Donnees et resultat


Donnees une expression rationnelle r sur un alphabet .
Resultat Un AFND M tel que L(M) = L(r), qui ne comporte quun seul e tat initial
et un seul e tat dacceptation...

III. Algorithme
1. Decomposer lexpression en ses sous-expressions.

276

2. En utilisant les r`egles (a) et (b) ci-dessous, construire un AFND pour les symboles terminaux de la grammaire ou la chane vide (si un meme symbole a apparat plusieurs fois dans lexpression rationnelle, un AFND separe est construit
pour chacune de ses occurences).
3. Combiner ensuite recursivement les AFND de base en utilisant la r`egle (c) jusqu`a obtenir lAFND pour lexpression rationnelle toute enti`ere.
(a) Pour <>, construire lAFND :

(b) Pour a , construire lAFND :


a
d

(c) Si N(s) et N(t) sont les AFND pour les expressions rationnelles s et t,
Pour st, on construit lAFND :

N(s)

N(t)

Letat initial de N(t), qui est e tat dacceptation pour N(s), perd ce
double caract`ere dans la nouvelle construction.
Pour s|t, on construit lAFND

N(s)

N(t)

Les e tats initiaux et les e tats dacceptation des AFND de N(s) et de N(t)
perdent leur caract`ere dans le nouvel AFND.
277

Pour lexpression rationnelle s , on construit lAFND compose N(s ) :

N(s)

Les e tats initiaux et les e tats dacceptation de N(s) perdent leurs qualites.
Pour une expression parenthesee (s), utiliser N(s) lui-meme.

IV. Exemple
On applique lalgorithme sur lexemple : (a2 |b2 ) |(a3 |b3 ) .

10

23

13

11

12

14

15

16

17

18

278

19

20

21

22

Exercice 1. On donne lexpression rationnelle (a|b) |(a2 |b2 ) .


Utiliser lalgorithme de Thompson pour obtenir un automate non deterministe, a`
transitions instantanees, reconnaissant le langage.

On rappelle que, par definition, sont accessibles sur une entree donnee x depuis un
e tat donne e : les e tats accessibles en effectuant successivement
un nombre arbitraire (eventuellement nul) de transitions instantannees,
une transition dentree x et
un nombre arbitraire (eventuellement nul) de transitions instantannees.
E XEMPLE 1. Pour...
Letat 3, avec entree a : on passe a` letat 4.
Si lentree a se produit au depart, les e tats accessibles sont {4, 14}.
Et, a` partir de letat 4 et de lentree a : {5, 9, 2, 10, 23, 3, 6}.

Do`u lalgorithme suivant simplifiant lautomate de lalgorithme de Thompson...

V. Finalisation
Lautomate construit par algorithme de Thompson nest pas utilisable tel quel.
Il faut en supprimer les transitions instantanees, ce qui se fait par un algorithme voisin de la construction par sous-ensembles. Il faudra, par ailleurs, ensuite, le determiniser
et le minimiser.
Soit M lautomate de Thompson obtenu par lalgorithme precedent, E lensemble
de ses e tats, e E son (unique) e tat initial et a E son (unique) e tat dacceptation.
On remplace cet automate par un automate M qui reconnat le meme langage, dont
lensemble des e tats est E, letat initial est S, et lensemble des e tats dacceptation est
A E et qui est obtenu de la mani`ere suivante :
S est compose de e et de tous les e tats de M qui sont accessibles depuis e par un
nombre quelconque de transitions instantanees (eventuellement aucune). Dans
lexemple precedent,
S = {0, 1, 11, 2, 10, 12, 22, 3, 6, 13, 17, 23}
.
279

Soit Y E une partie de lensemble des e tats, et x une entree. Limage Yx de Y


est constituee des e tats accessibles depuis un e tat quelconque de Y par (exactement) une entree x, suivie dun nombre quelconque de transitions instantanees.
A = {Y E|Y {a} 6= }, a` savoir les parties Y ci-dessus definies de E qui
contiennent lancien e tat dacceptation.
Exercice 2. Finalisez lautomate de lexercice precedent. Le determiniser, puis obtenir lautomate minimal reconnaissant le meme langage.

Exercice 3 (Reprise dun exercice precedent, version Thompson). Construire des automates de Moore reconnaissant les langages definis par les expressions rationnelles :
1. (a|b) b(a|b)
2. ((a|b)2 ) |((a|b)3 )
3. ba |ab|(a|bb)ab .

Exercice 4. Donner les automates finis minimaux (table de transition, diagrame) reconnaissant les langages associes aux expressions rationnelles suivantes :
(a|b) (aaa|bb)
(a|bb) abb

Fin du Chapitre

280

Chapitre 19
Automates a` pile
On la dit, les expressions rationnelles ne permettent pas de representer tous les
langages.
E XEMPLE 1. Le langage defini par {an bn |n N } nest pas representable par une
expression rationnelle.

Exercice 1. Determinez dautres langages non reconnus par expression rationnelle.

On souhaite maintenant e tudier (( une plus grande classe )) de langages, et voir ce


quil manque a` nos automates pour pouvoir les associer a` ces langages.
Dans lexemple precedent, il faudrait (( noter quelque part )) le nombre de a rencontres, pour sassurer quil y aura bien autant de b. On peut imaginer y arriver avec
une pile jointe a` un automate non deterministe.
R EMARQUE 1. Tr`es precisement, les automates a` pile vont jouer pour les langages
dits non contextuels (voir chapitre suivant) le role des automates finis pour les langages
rationnels ( : representables par expressions rationnelles).

I. Automates a` pile, deteministes ou pas.


1 Automate a` pile non deterministe
1.1 Definition
D E FINITION 1 (AUTOMATE A` PILE ). Un automate a` pile est donne par
281

1. Un alphabet dentree (ensemble fini non vide),


2. Un ensemble detats E (fini non vide),
3. Un e tat initial e0 E ,

4. Eventuellement,
une partie A E des e tats dacceptation (pour un automate a`
pile dit a` e tats dacceptation),
5. Un alphabet de pile P (fini, non vide),
6. Un symbole de pile initial p0 ,

7. Eventuellement,
un ensemble Q P de symboles de sommet de pile,

8. Enfin, une relation t : E ( {}} P E P .

R EMARQUE 2. Le symbole de pile initial nest pas toujours note p0 .


1.2 Transition
D E FINITION 2 (T RANSITION ). Lorsque ((e, x, p), (e , q)) appartient au graphe de la
relation t, on parle de la transition (e, x, p) 7 (e , q).

Elle indique que, lorsque lautomate se trouve :


dans letat e,
alors que le symbole de sommet de pile est p,
sur lentree x,
alors il e volue
vers letat e ,
le symbole p est depile,
et le mot de pile q (eventuellement plusieurs symboles de pile) est empile.
Comme t est une relation, il est possible, dans le cas dun automate a` pile non
deterministe, quil y ait plusieurs transitions possibles dans la meme situation (meme
e tat, meme entree, meme symbole de sommet de pile).
E XEMPLE 2 (AUTOMATE A` PILE NON D E TERMINISTE ). Ici, lalphabet dentree est
{0, 1}, le fond de pile est T et alphabet de pile {T, Z, A} :

282

Cet automate reconnat, par pile vide, lensemble


{0n 1m , n > m > 0}

R EMARQUE 3. Si un automate a` e tats finis reconnat un mot lorsquil sarrete dans un


e tat dacceptation, il nen est pas de meme pour les automates a` pile : on verra par la
suite que ceux-ci ont plusieurs crit`eres pour decider si un mot est reconnu ou non.
Le crit`ere de reconnaissance par pile vide fait partie de ceux-ci : lorsque lautomate
sarrete avec une pile vide, le mot est accepte.
On remarque que les mots 01, 001, 0011 sont acceptes par cet automate. Il nen est
pas de meme pour 011.
2 Automate a` pile deterministe
2.1 Definition
D E FINITION 3 (AUTOMATE A` PILE D E TERMINISTE ). Dans le cas dun automate a`
pile deterministe, t est une fonction sur son domaine de definition, et (e , q) = t(e, x, p).
R EMARQUE 4. En particulier si t est definie pour le triplet (e, x, p), t(e, x, p) est
unique.

E XEMPLE 3 (AUTOMATE A` PILE D E TERMINISTE ). Ici, lalphabet dentree est {0, 1},
le fond de pile est Z et alphabet de pile {Z, A} :

R EMARQUE 5. Cet automate a` pile deterministe reconnat, par e tat final, le meme
langage que lexemple precedent.

283

2.2 Transitions
Il est fondamental de comprendre quune transition dun automate a` pile, quelle
quelle soit, exige toujours de depiler un symbole de pile.
R EMARQUE 6. Autrement dit, si la pile vient a` se vider, lautomate se bloque et ne
peut plus e voluer, meme si le mot dentree na pas e te enti`erement lu.
Ceci explique le (( symbole de pile initial )) , la plupart du temps sans interet autre
que celui de permettre le debut du calcul dans lautomate.
R EMARQUE 7. On admet des (( transitions vides )) , du type (e, , p) 7 . . .), qui
permettent de ne pas avancer sur le mot dentree, par exemple pour vider la pile. Il faut
les utiliser avec precautions.

II. Calcul dans un automate a` pile


1 Encore quelques definitions...
D E FINITION 4 (C ONFIGURATION ). On appelle configuration dun automate a` pile un
triplet (e, w, q) o`u
e est letat dans lequel se trouve lautomate a` linstant considere,
w est le mot a` lire,
q est le mot de pile (en tete, le symbole de sommet de pile, en queue, le symbole
de fond de pile).

D E FINITION 5 (D E RIVATION VALIDE ). Si


q est de la forme pq o`u p est le symbole de sommet de pile,
w est de la forme xw , o`u x est un symbole dentree,
il existe une transition (e, x, p) 7 (e , q ),
alors, apr`es application de cette transition, la nouvelle configuration de lautomate est
(e , w , q q ) et la correspondance (e, w, q) (e , w , q q ) est appelee une derivation

valide dans lautomate.


D E FINITION 6 (C ALCUL VALIDE ). Un calcul valide dans lautomate est une famille
de derivations (e1 , w1 , q1 ) (e2 , w2 , q2 ) . . . (en , wn , qn ).
On dit que ce calcul valide m`ene de la configuration (e1 , w1 , q1 ) a` la configuration
(en , wn , qn )

N OTATION : On peut noter cela : (e1 , w1, q1 ) (en , wn , qn ).


284

D E FINITION 7 (M OT RECONNU ). On dit quun mot w est reconnu par un automate a`


pile (etat initial e0 , symbole de pile initial p0 ) lorsquil existe un calcul valide

(e0 , w, q0 ) (e, , q)

tel que, au choix


e est un e tat dacceptation : le mot w est dit reconnu par letat dacceptation,
q est de la forme qs q o`u qs Q : le mot w est dit reconnu par symbole de
sommet de pile,
q = (symbole de pile vide) : le mot w est dit reconnu par pile vide,

R EMARQUE 8. On peut envisager des reconnaissances par combinaison de deux de


ces conditions, voire les trois simultanement.
On demontre que...

P ROPRI E T E I : Tous ces types de reconnaissance peuvent se ramener a` la seule reconnaissance par pile vide (eventuellement avec un automate beaucoup plus complique ).

Cest pourquoi nous nenvisagerons plus que cette derni`ere dans la suite. Enfin,
D E FINITION 8 (L ANGAGE RECONNU ). Le langage reconnu par automate est lensemble des mots reconnus par cet automate (par le meme mode de reconnaissance).
2 Premiers exemples

E XEMPLE 4. Automate a` pile (non deterministe) reconnaissant, par pile vide, lensemble des mots de la forme ww t, concatenation de w (constitue de 0 et de 1) et de
son image miroir :

285

(Alphabet dentree {0, 1}, fond de pile Z, alphabet de pile {Z, A, B}.)

E XEMPLE 5. Automate a` pile reconnaissant, par pile vide, lensemble des mots de la
forme wcw t , concatenation de w (constitue de 0 et de 1) et de son image miroir separes
par le caract`ere c :

(Alphabet dentree {0, 1, c}, fond de pile Z, alphabet de pile {Z, A, B}.)

3 Exemple plus complet : le langage {0n 1n |n N }


Le principe est le suivant :
1. Tant quon lit des 0, on les empile, sans changer detat,
2. Au premier 1 rencontre, on change detat (pour ne plus accepter de 0),
3. On depile alors un a` un les symboles de pile (sans jamais rien empiler),
4. Si le mot se vide en meme temps que la pile, il comportait autant de 0 que de 1.
Voici les transformations :
(e0 , 0, p0 ) (e0 , 0)
(e0 , 0, 0) (e0 , 00)
(e0 , 1, 0) (e1 , )
(e1 , 1, 0) (e1 , )
Exercice 2. Representez cet automate.

286

III. Construction dun automate a` pile


1 Introduction a` la methode
On peut e videmment utiliser la methode (( directe )), comme dans lexemple precedent.
Pour les langages plus complexes, il peut e tre necessaire davoir recours a` un algorithme. Nous laborderons par lexemple de la grammaire e crite pour les expressions
algebriques e lementaires :
< expression > ::=
::=
< terme >
::=
::=
< f acteur >
::=
::=

< terme >


< terme > + < expression >
< f acteur >
< f acteur > < terme >

( < expression > )
< variable >

en omettant la definition du SNT (( variable )), inutile ici.

2 Utilisation dun symbolisme


On introduit un nouveau symbolisme (developpe dans la suite) pour cette meme
grammaire ; il se comprend aisement :
>
>
>
>
>
>
>
...
F >

E
E
T
T
F
F
F

T
T +E
F
F T
(E)
a
b
z

...en admettant comme symboles de variables les caract`eres alphabetiques minuscules.

3 Algorithme de construction
Le principe est de construire un automate a` pile non deterministe qui admet des
transitions vides :
1. Au depart, sur une transition vide, on empile le SNT de laxiome de la grammaire
(ici, E) : c.f. transition (1).

287

2. associer a` chaque r`egle non terminale une -transition qui empile les symboles
de la partie droite (c.f. transitions (2) a` (6))
3. associer a` chaque r`egle terminale A x une transition (e0 , x, A) 7 (e0 , ) (c.f..
transitions (7) et (8))
4. associer a` chaque symbole terminal une transition qui reconnat ce symbole et
depile ce caract`ere (c.f. transitions (9) a` (12))
On obtient les transitions suivantes :
(1)
(2)
(3)
(4)
(5)
(6)
(7)
..
.

(e0 , , p0 )
(e0 , , E)
(e0 , , E)
(e0 , , T )
(e0 , , T )
(e0 , , F )
(e0 , a, F )
..
.

7
7
7
7
7
7
7
..
.

(e0 , E)
(e0 , T )
(e0 , T + E)
(e0 , F )
(e0 , F T )
(e0 , (E))
(e0 , )
..
.

(8)
(9)
(10)
(11)
(12)

(e0 , z, F )
(e0 , +, +)
(e0 , , )
(e0 , (, ()
(e0 , ), ))

7
7
7
7
7

(e0 , )
(e0 , )
(e0 , )
(e0 , )
(e0 , )

4 Exercices

Exercice 3. Soit lautomate a` pile defini par = {a, b}, E = {q0 , q1 , q2 }, P = {p, A}
et les transitions suivantes
(q0 , a, p0 )
(q1 , b, A)
(q1 , a, p)
(q2 , b, A)

7
7
7
7

(q1 , A)
(q2 , )
(q1 , Ap)
(q2 , )

1. Donner les enchanements des transitions permettant daccepter aabb en precisant


sil y a des points de non determinisme dans la derivation.
2. Donner lenchanement des transitions conduisant a` lechec de lacceptation de
la chane aaba.

288

3. Decrire letat de lautomate apr`es avoir lu n symboles a en entree (n N).


Quelle est alors la seule facon de vider la pile ? En deduire le langage reconnu
par cet automate a` pile avec arret sur pile vide.

Exercice 4. Pour u , on note |u|a le nombre de a dans u et |u|b le nombre de b


dans u.
Donner un automate a` pile qui reconnat L = {u , |u|a = |u|b}.

Exercice 5. Soit = {0, 1}. Donner un automate a` pile qui accepte un mot u
ssi aucun prefixe de u ne contient plus de 1 que de 0. Preciser si lautomate est
deterministe.

Exercice 6. Soit = {1, 2}. Donner un automate a` pile qui reconnat le langage
suivant :
{1n 2n |n > 0} {1n 22n |n > 0}
Preciser si lautomate est deterministe.

Exercice 7. Soit = {a, b, c}. Donner un automate a` pile qui reconnat le langage
suivant :
{ai bj ck |i = j ou j = k}
Preciser si lautomate est deterministe.

Exercice 8. Soit G la grammaire suivante :


S aAB A aAB|a B bBA|aC C BaA.
289

1. Donner des exemples de mots reconnus.


2. Donner un automate a` pile qui reconnat le langage genere par la grammaire
G.

Exercice 9. Soit G la grammaire suivante :


S aAB A aAB|a B bBA|aC|b C BaA.
Donner un automate a` pile qui reconnat le langage genere par la grammaire G.

Fin du Chapitre

290

Chapitre 20
Description dun langage par une
grammaire
Dans ce paragraphe, nous precisons les e lements sur les grammaires et sur les
langages qui ont dej`a e te vus jusqu`a present.

I. Langages
N OTATION : Soit un ensemble de symboles, on note par lensemble des mots
sur , cest-`a-dire lensemble des assemblages de symboles de .

P ROPRI E T E I : Pour loperation de concatenation des assemblages de symboles,


constitue un monode (operation associative, admettant un e lement neutre, la
chane vide, notee ) appele monode libre sur .

D E FINITION 1 (L ANGAGE

SUR

). On appelle langage sur toute partie de .

Tout le probl`eme consiste a` se donner les moyens de definir un langage. Lun


dentre eux est de se donner un syst`eme generateur de ce langage, quon appelle grammaire.
Nous nous limiterons ici aux grammaires de Chomsky.

II. Grammaires
1 Definitions
D E FINITION 2 (G RAMMAIRE DE C HOMSKY ). Une grammaire de Chomsky est un
quadruplet G = (, N, P, S), o`u
est un ensemble fini, appele alphabet du langage, ou ensemble des symboles
terminaux du langage,
N est un autre ensemble fini, disjoint de , et appele ensemble des symboles
non-terminaux, qui constituent un meta-langage dans lequel sera decrit le langage,
P est une partie finie de (( N) \ ) ( N) ) : cest lensemble des
r`egles de la grammaire,
S est un e lement de N (un symbole non-terminal), symbole initial ou axiome de
la grammaire (< expression >::= ...).

Les e lements de P sont aussi appeles productions .


Ce sont des couples de suites de symboles, la premi`ere de ces deux suites comportant au moins un symbole non-terminal. Elles sont de la forme (, ), o`u (N) ,
mais
/ et ( N) .
N OTATION : Une telle production est le plus souvent notee , qui se lit (( se
ree crit en )).
R EMARQUE 1. La fl`eche nest pas ici le symbole de limplication logique, mais celui de ree criture (dans la symbolisation BNF, ou Bakus-Naur form, le symbole de
ree criture est (( : := )) ).
2 Types de grammaires de Chomsky
On distingue divers types de grammaires de Chomsky :
2.1 Les grammaires non restreintes, ou de type 0
Aucune restriction nest apportee aux productions.
Les langages sont dits recursivement e numerables. Ils sont reconnus par des machines de Turing non deterministes a` plusieurs bandes.
2.2 Les grammaires contextuelles, ou de type 1
Les langages correspondants sont les langages contextuels.
Ceux-ci constituent un sous-ensemble des langages recursifs (cest-`a-dire recursivement
e numerables ainsi que leur complementaire).
Ils sont reconnus par des machines de Turing deterministes.
292

2.3 Les grammaires algebriques, ou de type 2


Toute production est de la forme A , o`u A N et ( N) .
Il y a e quivalence entre les langages reconnaissables par des automates a` pile et les
langages algebriques (engendres par une grammaire algebrique).
2.4 Les grammaires reguli`eres, ou de type 3
Chaque production est de lune des formes A xB ou A x, avec (A, B) N 2
et x .
Il y a e quivalence entre les langages reconnaissables par des automates finis et
les langages reguliers (certains disent (( rationnels )) ; engendres par une grammaire
reguli`ere).
2.5 Langage associe a` une grammaire
Reciproquement, le langage peut e tre considere comme langage associe a` la grammaire G, L(G).

III. Un exemple de grammaire contextuelle


Nous navons jusqu`a present considere que des grammaires de type au moins 2,
puisque toutes nos r`egles de grammaire (ecrites jusqu`a present en symbolisme BNF)
ont toujours consiste en la definition dun symbole non-terminal.

E XEMPLE 1 (G RAMMAIRE CONTEXTUELLE ). Voici un exemple de grammaire contextuelle : celle qui permet de definir le langage {an bn cn |n N }.
1.
2.
3.
4.
5.
6.
7.

S aSBC
S aBC
CB BC
aB ab
bB bb
bC bc
cC cc

Ces grammaires sont appelees (( contextuelles )) parce quil est impossible de donner une definition (( independante )) de chacun des SNT, comme dans les grammaires
algebriques.

293

E XEMPLE 2. On ne peut, par exemple dans la grammaire ci-dessus, pas donner de


definition du SNT B independamment des symboles qui lentourent, donc la definition
de B est sensible au contexte et la grammaire dans laquelle elle figure est dite contextuelle.

Pour se convaincre de la validite de cet exemple de grammaire, voici lanalyse de


la chane correcte aaabbbccc en utilisant les r`egles (ce que lon appelle une derivation
de chane relativement a` la grammaire).
Il faut deriver S
S se derive en aSBC (r`egle 1)
S se derive en aSBC (r`egle 1), donc aSBC en aaSBCBC
CB se derive en BC (r`egle 3), donc aaSBCBC en aaSBBCC
S se derive en aBC (r`egle 2), donc aaSBBCC en aaaBCBBCC
CB se derive en BC (r`egle 3), donc aaaBCBBCC en aaaBBCBC
CB se derive en BC (r`egle 3), donc aaaBBCBCC en aaaBBBCCC
aB se derive en ab (r`egle 4), donc aaaBBBCCC en aaabBBCCC
bB se derive en bb (r`egle 5), donc aaabBBCCC en aaabbBCCC
bB se derive en bb (r`egle 5), donc aaabbBCCC en aaabbbCCC
bC se derive en bc (r`egle 6), donc aaabbbCCC en aaabbbcCC
cC se derive en cc (r`egle 7), donc aaabbbcCC en aaabbbccC
cC se derive en cc (r`egle 7), donc aaabbbccC en aaabbbccc
La derivation de aaabbbccc a` partir de S est couronnee de succ`es, lexpression est
correct (on na pas fait figurer les tentatives dapplication de r`egles qui aboutissent a`
des e checs, en raison du non-determinisme de la grammaire).
Fin du Chapitre

294

Chapitre 21
Exercices sur les grammaires,
langages et automates
Exercice 1 (Construction par sous-ensembles). Representer graphiquement lAFND
dont la table de la relation de transition des e tats est donnee par :
t

0 0, 1

0, 1, 2

Les e tats initiaux sont 0 et 1, le seul e tat dacceptation est 2. Le determiniser en lui appliquant la (( construction par sous-ensembles )) ; donner le graphe du resultat obtenu.

Exercice 2 (Automate-Quotient). On donne la table de transition des e tats dun AFD :


t a b c
r r v r
s s p s
u r v s
v r v s
Soit R la plus petite relation dequivalence sur E (ensemble des e tats) telle que uRv,
pRv et sR.
295

1. Verifier quil sagit dune congruence dautomates et dessiner le graphe de


lautomate-quotient.
2. Sachant que, dans lautomate dorigine, letat initial est p et que le seul e tat
dacceptation est u, decrire le langage reconnu par lautomate.

Exercice 3 (Construction dautomates de Moore). On demande de dessiner un automate de moore reconnaissant le langage :
1. decrit par lexpression rationnelle (a|bb) bab ,
2. defini par lexpression rationnelle (a|b|c) (abc|cba),
3. defini sur lalphabet {a, b} des mots non vides ne comportant pas plus de 2
lettres b consecutives.

Fin du Chapitre

296

Cinqui`eme partie
Theorie des graphes

297

Chapitre 22
Graphes non orientes
La notion de graphe generalise amplement la notion de relation sur un ensemble ;
elle sinteresse a` la facon dont sont lies les objets. Avec les plans de metro, les cartes
routi`eres, les schemas de circuits e lectriques, les formules des molecules, les organigrammes, les arbres genealogiques, on utilise chaque jour des graphes...

I. Definitions et premiers exemples


1 Definitions
D E FINITION 1 (G RAPHE NON ORIENT E , SOMMET, AR E TE ). Un graphe non oriente
G = (V, E) est defini par lensemble fini V = {v1 , v2 , ..., vn } dont les e lements sont
appeles sommets, et par lensemble fini E = {e1 , e2 , ..., em } dont les e lements sont
appeles aretes.
Une arete e de lensemble E est definie par une paire non-ordonnee de sommets,
appeles les extremites de e. Si les extremites concident, on parle de boucle.
Si larete e relie les sommets a et b, on dira que ces sommets sont adjacents, ou
incidents avec e, ou encore que larete e est incidente avec les sommets a et b.
On notera quun graphe a au moins un sommet ; on notera par la suite ordre dun
graphe son nombre de sommets.

R EMARQUE 1. Dans le present chapitre, et ses proches successeurs, graphe signifie


graphe non oriente (meme quand cela nest pas specifie). Il existe aussi des graphes
orientes ; ils seront e tudies plus loin.
2 Exemples
Les graphes non orientes admettent une representation graphique permettant leur
visualisation :

298

Signalons aussi d`es a` present la possibilite de ponderer les aretes dun graphe non
oriente :

3 Degre, chane
3.1 Degre dun sommet, dun graphe
D E FINITION 2 (D EGR E D UN SOMMET ). On appelle degre dun sommet s, note d(s),
le nombre daretes dont le sommet s est une extremite (les boucles comptent pour
deux).

P ROPRI E T E I (L EMME DES POIGN E ES DE MAINS ) : La somme des degres des


sommets dun graphe est e gale a` deux fois le nombre daretes.

D E FINITION 3 (D EGR E D UN
de tous ses sommets.

GRAPHE ).

Le degre dun graphe est le degre maximum

Exercice 1. Calculez les degres des sommets, et le degre des graphes ci-dessus.
299

D E FINITION 4 (G RAPHE R E GULIER ). Un graphe dont tous les sommets ont le meme
degre est dit regulier. Si le degre commun est k, alors on dit que le graphe est kregulier.

Exercice 2. Les graphes precedent sont-ils reguliers ?

Exercice 3. Representez un graphe 3-regulier.

3.2 Chane
D E FINITION 5 (C HAI NE ). Une chane dans G, est une suite de la forme
(v0 , e1 , v1 , e2 , ..., vk1 , ek , vk )

ayant pour e lements alternativement des sommets (vi ) et des aretes (ei ),
commencant et se terminant par un sommet,
et telle que les extremites de ei soient vi1 et vi , i = 1, ..., k .

v0 est appele le depart de la chane et vk larrivee.


R EMARQUE 2. On a choisi ici de reserver le terme de chemin aux graphes orientes.

D E FINITION 6 (S OMMET ACCESSIBLE ). Dans un graphe (oriente ou non), on dit que


le sommet t est accessible a` partir du sommet s sil existe une chane menant de s a`
t.

R EMARQUE 3. On dit aussi quon peut atteindre t a` partir de s.

D E FINITION 7 (C HAI NE E L E MENTAIRE ). Une chane dans lequel tous les sommets
sont differents sappelle une chane e lementaire .

300

R EMARQUE 4. On parle aussi de chane simple .


R EMARQUE 5. Une chane simple a forcement toutes ses aretes differentes, et ne
contient e videmment pas de boucle.

P ROPRI E T E II (E XISTENCE DE CHAI NES E L E MENTAIRES ) : Etant


donne une
chane qui joint s et t (differents), on peut toujours lui enlever aretes et sommets
pour obtenir une chane e lementaire joignant s a` t.

4 circuit-cycle
D E FINITION 8 (C IRCUIT ). Une chane de longueur n dont le depart et larrivee concident
sappelle un circuit de longueur n.

E XEMPLE 1. Une boucle est un circuit de longueur 1.

D E FINITION 9 (C YCLE ). Un circuit dont tous les sommets et toutes les aretes sont
differentes, sappelle un cycle.

Exercice 4. Representez un graphe qui admet :


1. un circuit,
2. un cycle.

R EMARQUE 6. Dans le cas non oriente, un circuit qui a` tous ses sommets differents
na pas forcement toutes ses aretes differentes.
D E FINITION 10 (G RAPHE SIMPLE ). Un graphe est dit simple, sil ne contient pas de
boucles et sil ny a pas plus dune arete reliant deux memes sommets.

Exercice 5. Representez un graphe simple (resp. qui nest pas simple).

301

5 Exercices

Exercice 6. On sinteresse aux graphes 3-reguliers.


1. Construisez de tels graphes ayant 4 sommets, 5 sommets, 6 sommets, 7 sommets.
2. Quen deduisez-vous ?

Exercice 7. Montrez quun graphe simple a un nombre pair de sommets de degre


impair.

Exercice 8. Est-il possible de relier 15 ordinateurs de sorte que chaque appareil soit
relie avec exactement trois autres ?

Exercice 9. Un groupe de 15 fans dun chanteur cel`ebre, poss`ede les deux particularites suivantes :
Chaque personne connat au moins 7 autres
Toute information detenue par une personne est repercutee dans la minute qui
suit a` ses connaissances (et uniquement a` elles)
Quel est le temps maximal entre le moment o`u une des 15 fans apprend une chose
nouvelle sur leur idole, et celui o`u le groupe entier est au courant ?

Reponse : Lemeteur de linformation est un sommet relie a` 7 autres. Notons I


lensemble de ces 7 sommets. Il reste 7 sommets (15-(7+1)). Notons J cet ensemble.
Chacun des sommets de J est necessairement relie a` un des sommets de I, sinon il ne
serait relie qu`a 6 sommets. Linformation met donc au plus 2 mins.

302

II. Quelques types particuliers de graphes


1 Graphes planaires
D E FINITION 11 (G RAPHE PLANAIRE ). Si on arrive a` dessiner le graphe sans quaucune arete nen coupe une autre (les aretes ne sont pas forcement rectilignes), on dit
que le graphe est planaire.

Exercice 10. Representez un graphe planaire.

Exercice 11. Representez un graphe non planaire.

R EMARQUE 7. Les graphes planaires seront plus systematiquement e tudies au chapitre suivant.
2 Multigraphes
Les graphes e tudies ici sont simples, mais on peut imaginer des graphes avec une
arete qui relie un sommet a` lui-meme (une boucle), ou plusieurs aretes reliant les deux
memes sommets (voir ci-dessous, a` gauche).
D E FINITION 12 (M ULTIGRAPHE ). Dans ce cas, on parle de multigraphe.

E XEMPLE 2 (M ULTIGRAPHE ). Un exemple de multigraphe :

V = {1, 2, 3, 4}
E = {(1,1), (1,3), (1,4), (2,3), (2,3), (3,4)}

303

3 Graphes connexes
D E FINITION 13 (G RAPHE CONNEXE ). Un graphe est connexe sil est possible, a` partir de nimporte quel sommet, de rejoindre tous les autres en suivant les aretes.

R EMARQUE 8. Cest en particulier le cas lorsqu`a partir dun sommet on peut atteindre tous les autres sommets.

Exercice 12. Representer un graphe non oriente connexe, et un graphe non connexe.

D E FINITION 14 (C OMPOSANTES
en composantes connexes.

E XEMPLE 3 (G RAPHE

CONNEXES ).

NON CONNEXE ).

Un graphe non connexe se decompose

Exemple dun graphe netant pas connexe :

V = {1, 2, 3, 4, 5, 6}
E = {(1,3), (1,4), (2,3), (3,4), (5,6)}
Ici, les composantes connexes sont {1, 2, 3, 4} et {5, 6}.

4 Graphes complets
D E FINITION 15 (G RAPHE COMPLET ). Un graphe est complet si chaque sommet du
graphe est relie directement a` tous les autres sommets

304

E XEMPLE 4 (G RAPHE

COMPLET

K5 ). Exemple dun graphe complet :

V = {1, 2, 3, 4, 5}
E = {(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5)}

Exercice 13. Un tournoi dechecs oppose 6 personnes. Chaque joueur doit affronter
tous les autres.
1. Construisez un graphe representant toutes les parties possibles.
2. Quel type de graphe obtenez-vous ?
3. Si chaque joueur ne joue quun match par jour, combien de jours faudra-t-il
pour terminer le tournoi ?
4. Aidez-vous du graphe pour proposer un calendrier des matches.

5 Graphes biparti
D E FINITION 16 (G RAPHES BIPARTI ). Un graphe est biparti si ses sommets peuvent
e tre divises en deux ensembles X et Y, de sorte que toutes les aretes du graphe relient
un sommet dans X a` un sommet dans Y.

E XEMPLE 5 (G RAPHE

BIPARTI ).

Exemple dun graphe biparti :

305

V = {1, 2, 3, 4, 5}
E = {(1,2), (1,4), (2,3), (2,5), (3,4), (4,5)}
Avec les notations de la definition, on a X={1, 3, 5} et Y={2, 4}, ou vice versa.

Un tel graphe se note K3,2 . Plus generalement,


N OTATION : On note Km,n un graphe biparti liant m sommets a` n sommets.

P ROPRI E T E

III

: Ces graphes Km,n poss`edent mn aretes.

6 Exercices

Exercice 14. Trois professeurs P1, P2, P3 doivent donner ce lundi un certain nombre
dheures de cours a` trois classes C1, C2, C3 :
P1 doit donner deux heures de cours a` C1 et une heure a` C2.
P2 doit donner une heure de cours a` C1, une heure a` C2 et une heure a` C3 ;
P3 doit donner une heure de cours a` C1, une heure a` C2 et deux heures a` C3.
On demande...
1. Comment representer cette situation par un graphe ?
2. Quel type de graphe obtenez-vous ?
3. Combien faudra-t-il de plages horaires au minimum ?
Aidez-vous du graphe pour proposer un horaire du lundi pour ces professeurs.

Exercice 15. Sur un e chiquier 3x3, les deux cavaliers noirs sont places sur les cases
a1 et c1, les deux cavaliers blancs occupant les cases a3 et c3. Aidez-vous dun graphe
pour determiner les mouvements qui permettront aux cavaliers blancs de prendre les
places des cavaliers noirs, et vice versa.

306

Exercice 16. Quel est le nombre maximal daretes dans un graphe non oriente dordre
n qui ne poss`ede pas daretes parall`eles ? Et si lon suppose quil ne poss`ede pas de
boucle ?

Reponse :

n(n + 1)
.
2

III. Representation des graphes


Nous aimons bien communiquer par des dessins, mais les machines nen sont pas
encore l`a : il faut donc trouver dautres facons de representer les graphes.
La solution consiste a` utiliser des matrices, et il y a differentes methodes...
1 Matrice dincidence
1.1 Presentation
La matrice dincidence dun graphe non oriente est une matrice J a` coefficients
entiers dont les lignes sont reperees par les sommets dun graphe et les colonnes par
ses aretes :
D E FINITION 17 (M ATRICE D INCIDENCE ). Par definition, Js, vaut :
1 quand s est une extremite de larete si celle-ci nest pas une boucle,
2 quand s est une extremite de la boucle ,
0 si s nest pas une extremite de .

On peut reconstituer un graphe non oriente a` partir de sa matrice dincidence, car


elle donne le nombre de sommets, le nombre daretes et elle dit comment chaque arete
est liee a` chaque sommet.
Exercice 17. Representez le graphe non oriente dont la matrice dincidence est :

1 0 0 0 0 0 0 0 0
0 1 1 0 1 0 0 1 0

0 0 0 0 1 0 0 1 1

0 0 0 1 0 0 2 0 1

0 0 1 1 0 1 0 0 0

0 1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0

307

1.2 Resultat

P ROPRI E T E

IV

: Si s1 , . . . , sn sont les sommets dun graphe non oriente, alors :

1
d(s1 )
1
d(s2 )

.. = J ..
.
.
1

d(sn )

2 Matrice dadjacence
2.1 Presentation
On peut representer un graphe non oriente par une matrice dadjacences.
Dans une matrice dadjacences, les lignes et les colonnes representent les sommets
du graphe.
Un 1 a` la position (i,j) signifie que le sommet i est adjacent au sommet j.
2.2 Exemple
Considerons le graphe G :

Voici la matrice dadjacences du graphe G :

0 0 1
0 0 1

M =
1 1 0
1 0 1
1 0 1

308

1
0
1
0
1

1
0
1
1
0

2.3 Proprietes de la matrice dadjacence


Cette matrice a plusieurs caracteristiques :

P ROPRI E T E

1. Elle est carree : il y a autant de lignes que de colonnes.

2. Il ny a que des zeros sur la diagonale. Un 1 sur la diagonale indiquerait une


boucle.
3. Elle est symetrique : mij = mji .

Exercice 18. Decrivez le graphe G ci-dessous par une matrice dadjacences.

Exercice 19. Calculez M 2 et M 3 pour la matrice dadjacence de lexemple precedent.


Que representent-ils ?

P ROPRI E T E VI : Soit A la matrice dadjacence dun graphe G. Le coefficient (s, t)


de Ak est le nombre de chanes de longueur k qui m`enent de s a` t.

Exercice 20. Demontrez ce resultat, par recurrence.

309

Exercice 21. On pose :

2 1 0 1
J = 0 1 1 0
0 0 1 1

1. Dessinez le graphe non oriente ayant J pour matrice dincidence.


2. Determinez sa matrice dadjacence B.
3. Verifiez les formules precedentes.

2.4 Avantages et inconvenients de cette representation


Avantages Representation si beaucoup daretes : cardinalite de lensemble darc
proche de cardinalite de lensemble des sommets au carre.
Acc`es facile a` la relation dadjacence.
Inconvenients Moins adapte aux graphes ponderes.
Necessite une grande quantite de memoire.
3 Listes dadjacence
On peut encore representer un graphe en donnant pour chacun de ses sommets la
liste des sommets auxquels il est adjacent.
E XEMPLE 6. On consid`ere le graphe G suivant :

Voici les listes dadjacences de G :


1 : 3, 4, 5
2:3
3 : 1, 2, 4, 5
4 : 1, 3, 5
5 : 1, 3, 4

310

3.1 Avantages et inconvenients de cette representation


Avantages Representation adaptee aux graphes peu denses.
Representation des graphes ponderes.
Faible occupation memoire.
Inconvenients Difficulte de savoir si deux sommets sont effectivement connectes.
Difficulte de mise en uvre.
Fin du Chapitre

311

Chapitre 23
Graphes euleriens, planaires et
hamiltoniens
I. Circuits euleriens
1 Introduction : les ponts de Konigsberg
La question a` lorigine de la theorie des graphes est due a` Euler1 , en 1736 : dans
cette partie de la ville de Konigsberg :

peut-on, lors dune promenade, revenir a` notre point de depart en empruntant une, et
une seule fois, chaque pont ?
Pour y repondre, Euler a introduit le graphe suivant :
1

Leonhard Euler, mathematicien suisse (1707-1783). A consacre pr`es de 900 memoires aux
mathematiques, a` loptique, a` la science navale, a` la musique, latronomie, la theorie des assurance...

312

Le probl`eme de depart se ram`ene alors a` la question suivante : peut-on trouver un


chemin permettant demprunter une, et une seule fois chaque arete ? Un raisonnement
e lementaire sur ce graphe en donne la reponse.
2 Definitions
D E FINITION 1 (C HEMIN EUL E RIEN ). On appelle chemin eulerien un chemin contenant une et une seule fois toutes les aretes du graphe.

D E FINITION 2 (C IRCUIT EUL E RIEN ). On appelle circuit eulerien un circuit contenant une et une seule fois toutes les aretes du graphe.

R EMARQUE 1. Cest un circuit : le point de depart et celui darrivee concident.

D E FINITION 3 (G RAPHE
circuit eulerien.

RIEN ).
EUL E

Un graphe eulerien est un graphe possedant un

R EMARQUE 2. On peut passer plusieurs fois par un sommet donne.

Exercice 1. Donnez des exemples de graphes poss`edant des circuits euleriens, et dautres
exemples de graphes nen possedant pas.

Exercice 2. Soit G un graphe non eulerien. Est-il toujours possible de rendre G eulerien
en lui rajoutant un sommet et quelques aretes ?

313

3 Resultat dEuler

P ROPRI E T E I : Dans le cas des graphes non orientes, il y a e quivalence entre :


posseder un circuit eulerien,
e tre connexe, avec d(s) pair pour tout sommet s.
et entre :
posseder un chemin eulerien,
e tre connexe, avec au plus deux sommets dordre impair.

P REUVE 3 :
En parcourant un chemin ou un circuit, pour chaque sommet visite, on utilise une
arete pour arriver a` ce sommet et une arete pour en repartir, ces deux aretes ne
devant plus e tre utilisees par la suite. Le nombre daretes utilisables en ce sommet
diminue donc de deux. Si un sommet est dordre impair, une de ses aretes aboutissant a` ce sommet doit donc e tre soit sur la premi`ere arete dun chemin, soit sur la
derni`ere. Un chemin nayant que deux extremites, le nombre de sommets dordre
impair ne peut exceder deux.

4 Exercice : les dominos

Exercice 3. On consid`ere des dominos dont les faces sont numerotees 1, 2, 3, 4 ou 5.


1. En excluant les dominos doubles, de combien de dominos dispose-t-on ?
2. Montrez que lon peut arranger ces dominos de facon a` former une boucle
fermee (en utilisant la r`egle habituelle de contact entre les dominos).
3. Pourquoi nest-il pas necessaire de considerer les dominos doubles ?
4. Si lon prend maintenant des dominos dont les faces sont numerotees de 1 a` n,
est-il possible de les arranger de facon a` former une boucle fermee ?

II. Graphes planaires


1 Graphes partiels et sous-graphes

314

E XEMPLE 1 (L E GRAPHE G). On consid`ere, dans ce paragraphe, pour illustrer les


definitions a` venir, le graphe

Soit :
G=(V, E),
V={v1 , v2 , v3 , v4 , v5 },
E={e1 = (v1 , v2 ), e2 = (v2 , v3 ), e3 = (v1 , v3 ), e4 = (v3 , v4 ), e5 = (v3 , v5 )}

D E FINITION 4 (G RAPHE PARTIEL ). Soit G = (V, E) un graphe. Le graphe G = (V,


E) est un graphe partiel de G, si E est inclus dans E.

R EMARQUE 3. Autrement dit, on obtient G en enlevant une ou plusieurs aretes au


graphe G.

E XEMPLE 2 (G RAPHE

PARTIEL DE

G). Voici un exemple de graphe partiel de G

Ici,
V=V,
E={e3 , e4 , e5 }.

315

D E FINITION 5 (S OUS - GRAPHE ). On dit que le graphe (V , E ) est un sous-graphe du


graphe (V, E) si

1. V V ,
2. E E ,

3. E = {(x, y) | (x, y) E x V y V }

R EMARQUE 4. Un sous-graphe dun graphe donne est donc obtenu en y enlevant des
sommets et toutes les aretes incidentes a` ces sommets.

E XEMPLE 3 (S OUS - GRAPHE

DE

G). Voici un exemple de sous-graphe de G :

Ici,
V={v1 , v3 , v4 , v5 },
E={e3 , e4 , e5 }.

D E FINITION 6 (S OUS - GRAPHE


sous-graphe partiel de G.

E XEMPLE 4 (S OUS - GRAPHE

PARTIEL ).

PARTIEL DE

Un graphe partiel dun sous-graphe est un

G). Voici un sous-graphe partiel de G :

316

Ici,
V={v1 , v2 , v3 , v4 },
E={e1 , e4 }.

D E FINITION 7 (C LIQUE ). On appelle clique un sous-graphe complet de G.

E XEMPLE 5 (U NE

CLIQUE DE

G). Exemple de clique de G :

Ici,
V={v1 , v2 , v3 },
E={e1 , e2 , e3 }.

D E FINITION 8 (S TABLE ). On appelle stable un sous-graphe de G sans aretes.

E XEMPLE 6 (U N

STABLE DE

G). Voici un stable de G :

Ici,
V={v1 , v4 , v5 },
E={}.
317

Exercice 4. Montrez que dans un groupe de six personnes, il y en a necessairement


trois qui se connaissent mutuellement ou trois qui ne se connaissent pas (on suppose
que si A connat B, B connat e galement A).
Montrez que cela nest plus necessairement vrai dans un groupe de cinq personnes.

Reponse : Un graphe ayant six sommets poss`ede soit une clique a` trois sommets, soit
un stable a` trois sommets.
Cela nest plus valable pour les graphes a` cinq sommets.
Exercice 5. Combien un graphe dordre n poss`ede-t-il de sous-graphes ?

Reponse : 2n 1.
2 Graphe planaire
On rappelle la definition...
D E FINITION 9 (G RAPHE PLANAIRE ). Un graphe est dit planaire sil admet une representation graphique dans le plan telle que deux aretes quelconques ne se coupent
pas.

R EMARQUE 5. Rappelons que les aretes ne sont pas forcement rectilignes.

Exercice 6. Un graphe peut-il e tre planaire sil poss`ede un sous-graphe qui ne lest
pas ?

Reponse : Non : une fois dessine dans un plan, un graphe planaire a forcement tous ses
sous-graphes qui le sont aussi.

318

3 Exemples

E XEMPLE 7 (Kn ). On rappelle que lon note Kn tout graphe non oriente dordre n,
tel que toute paire de sommets est reliee par une unique arete. Alors K3 est planaire,
et K5 ne lest pas :

E XEMPLE 8 (K3,3 ). Il est non planaire

Exercice 7. Dessiner K1 , K2 , K3 et K4 . Sont-ils planaires ? Et quen est-il de Kn , n >


6?

Reponse : Oui.
Exercice 8. Combien daretes poss`ede le graphe Kn ?

Reponse :

n(n 1)
.
2
319

4 Probl`emes de denombrement
4.1 Cartes, regions
D E FINITION 10 (C ARTE , R E GIONS ). Une carte est une representation particuli`ere dun
graphe planaire. On dit quune carte est connexe si son graphe lest. Une carte divise
le plan en plusieurs regions.

E XEMPLE 9. Par exemple, la carte ci-dessous, avec six sommets et neuf aretes, divise
le plan en cinq regions (A, B, C, D, E).

On remarque que quatre regions sont limitees alors que la cinqui`eme (E), exterieure
au diagramme, ne lest pas.

D E FINITION 11 (D EGR E D UNE R E GION ). Le degre dune region r, note d(r), est la
longueur du cycle ou de la chane fermee qui limite r.

E XEMPLE 10. Dans le graphe ci-dessus, d(A)=4, d(B)=3, d(C)=3, d(D)=5, d(E)=3.

R EMARQUE 6. On remarque que toute arete limite deux regions, ou est contenue dans
une region et est alors comptee deux fois dans la chane fermee. Nous avons donc...
4.2 Lemme des regions

320

P ROPRI E T E II (L EMME DES R E GIONS ) : La somme des degres des regions dune
carte connexe est e gale a` deux fois le nombre daretes.

4.3 Formule dEuler


Euler a e tabli une formule qui relie le nombre de sommets S, le nombre daretes A
et le nombre de regions R dune carte connexe :

P ROPRI E T E

III

(E ULER ) :
SA+R =2

Exercice 9. Utilisez ce resultat pour prouver que K3,3 nest pas planaire.

R EMARQUE 7. Cette formule est applicable aux poly`edres convexes :


le nombre de sommets,
moins le nombre daretes,
plus le nombre de faces
...est toujours e gal a` 2.
5 Caracterisation des graphes planaires
Pendant de nombreuses annees, les mathematiciens ont tente de caracteriser les
graphes planaires. Ce probl`eme a e te resolu en 1930 par le mathematicien polonais K.
Kuratowski.
5.1 Graphes homeomorphes
D E FINITION 12 (G RAPHES HOM E OMORPHES ). Deux graphes sont homeomorphes
sils peuvent tous les deux e tre obtenus a` partir dun graphe commun en remplacant
les aretes par des chanes simples.

Exercice 10. Representez deux graphes homeomorphes.

321

5.2 Theor`eme de Kuratowski


La reponse au probl`eme de caracterisation des graphes planaires est...

P ROPRI E T E IV (K URATOWSKI ) : Un graphe est non planaire si et seulement si il


contient un sous-graphe homeomorphe a` K3,3 ou K5 .

Exercice 11. En admettant, comme nous y invite le resultat precedent, que K5 nest
pas planaire, determiner les valeurs de n pour lesquelles Kn est planaire.

Reponse : On a vu (exercice precedent) que Kn est planaire pour n 6 4. K5 nest pas


planaire. Enfin, pour n > 5, Kn contient des sous-graphes K5 ...

III. Circuit hamiltonien


1 Les dodeca`edres de Hamilton
Le dodeca`etre est a` lorigine dun autre probl`eme cel`ebre, du a` Hamilton2 : comment passer une, et une seule fois, par chacun des sommets du dodeca`edre, de telle
mani`ere que le dernier sommet visite est aussi le premier.

William Rowan Hamilton, mathematicien et physicien irlandais (1805-1865). Inventeur des quaternions.

322

2 Definition
D E FINITION 13 (C IRCUIT HAMILTONIEN ). Cest un circuit qui passe par tous les
sommets du graphe, une et une seule fois.

R EMARQUE 8. Dans le cas des graphes orientes (voir plus loin), on parle de graphe
hamiltonien sil est possible de trouver un cycle passant une et une seule fois par tous
les sommets.
3 Resultat
Contrairement aux graphes euleriens, il nexiste pas de caracterisation simple des
graphes hamiltoniens ou semi-hamiltoniens. On peut cependant e noncer quelques proprietes et conditions suffisantes :

P ROPRI E T E V :
1. Un graphe possedant un sommet de degre 1 ne peut e tre
hamiltonien.
2. Si un sommet dans un graphe est de degre 2, alors les deux aretes incidentes
a` ce sommet doivent faire partie du cycle hamiltonien.
3. Les graphes complets Kn sont hamiltoniens.

Exercice 12. Cherchez les raisons (elementaires) justifiant les trois points precedents.

P ROPRI E T E VI (T H E OR E` ME DE O RE ) : Soit G = (V, E) un graphe simple dordre


n > 3. Si pour toute paire {x,y} de sommets non adjacents, on a d(x) + d(y) > n,
alors G est hamiltonien.

P ROPRI E T E VII (C OROLLAIRE DE D IRAC ) : Soit G = (V, E) un graphe simple


dordre n > 3. Si pour tout sommet x de G, on a d(x) > n/2, alors G est hamiltonien.

323

P REUVE 4 :
En effet, un tel graphe verifie les conditions du theor`eme precedent. Si x et y ne
sont pas adjacents, on a bien :
d(x) + d(y) > n/2 + n/2 = n

Exercice 13. Dessinez un graphe dordre au moins 5 qui est...


1. hamiltonien et eulerien,
2. hamiltonien et non eulerien,
3. non hamiltonien et eulerien,
4. non hamiltonien et non eulerien.

4 Le probl`eme du voyageur de commerce


Ajoutons a` cette presentation des graphes hamiltoniens le probl`eme dit du voyageur
de commerce : on munit notre graphe dune application de lensemble des aretes vers
un ensemble donne (correspondant aux longueurs des aretes, en kilom`etres, pour le
probl`eme original), et on cherche a` visiter tous les sommets (i.e. toutes les villes) en
minimisant la distance parcourue.
Fin du Chapitre

324

Chapitre 24
Arbres et arborescence
I. Presentation generale
1 Definitions
D E FINITION 1 (A RBRE , FEUILLES ). On nomme arbre un graphe non oriente connexe
et acyclique (sa forme e voque en effet la ramification des branches dun arbre). On distingue deux types de sommets dans un arbre
les feuilles dont le degre est 1 ;
les nuds internes dont le degre est superieur a` 1.

E XEMPLE 1. Un exemple darbre :

D E FINITION 2 (F OR E T ). Un graphe sans cycles mais non connexe est appele une
foret.

E XEMPLE 2. Un exemple de foret :


325

2 Caracterisation des arbres

P ROPRI E T E I : Les affirmations suivantes sont e quivalentes pour tout graphe G =


(V, E) a` n sommets.
1. G est un arbre,
2. G est sans cycles et connexe,
3. G est sans cycles et comporte n 1 aretes,

4. G est connexe et comporte n 1 aretes,

5. Chaque paire (u, v) de sommets distincts est reliee par une seule chane
simple (et le graphe est sans boucles).

3 Nombre minimal de feuilles

P ROPRI E T E II : Tout arbre fini avec au moins deux sommets comporte au moins
deux feuilles.

4 Exercices

Exercice 1. Demontrez la propriete precedente.

Indication : Recurrence.

326

Exercice 2. Combien darbres differents existe-t-il avec 3, 4, 5 sommets ?

Indication : Reflechir sur le nombre de feuilles.


Exercice 3. Un arbre T a trois sommets de degre 3, quatre sommets de degre 2. Les
autres sommets sont tous de degre 1 (des feuilles). Combien y a-t-il de sommets de
degre 1 ?

Reponse : Soit n le nombre total de sommet ; il y a donc n1 aretes, et n34 = n7


sommets de degre 1. Comptons le nombre daretes... Chaque sommet partage son arete
avec un autre sommet, donc :
chaque sommet de degre trois (il y en a 3) a 1,5 arete (( a` lui )),
chaque sommet de degre deux (il y en a 4) a 1 arete (( a` lui )),
chaque sommet de degre un (il y en a n 7) a 0,5 arete (( a` lui ))
Ce qui fait un total daretes de 3 1, 5 + 4 1 + (n 7) 0, 5. Or, comme on a affaire
a` un arbre a` n sommets, on a n 1 aretes, donc
3 1, 5 + 4 1 + (n 7) 0, 5 = n 1
do`u n = 12, et il y a 5 sommets de degre 1.
Exercice 4. Soit un graphe G. Supposons quil y ait deux chanes e lementaires distinctes P1 et P2 dun sommet s a` un autre sommet s de G. G est-il un arbre ? Justifier
par une preuve.

II. Codage de Prufer


1 Presentation
Le codage de Prufer est une mani`ere tr`es compacte de decrire un arbre.
2 Codage
2.1 La methode
Soit larbre T = (V, E) et supposons V = 1, 2, ..., n. Lalgorithme ci-dessous fournira le code de T , cest-`a-dire une suite S de n 2 termes employant (eventuellement
plusieurs fois) des nombres choisis parmi {1, ..., n}.
327

P ROPRI E T E III (PAS G E N E RAL DE L ALGORITHME DE CODAGE ) : Initialement


la suite S est vide. Ce pas general est a` repeter tant quil reste plus de deux
sommets dans larbre courant T :
identifier la feuille v de larbre courant ayant le numero minimum ;
ajouter a` la suite S le seul sommet s adjacent a` v dans larbre T courant ;
enlever de larbre T courant la feuille v et larete incidente a` v.

2.2 Exemple de codage

Etape
0 : arbre a` coder

1:4
2 : 10
3 : 6, 8
4 : 1, 5, 7, 8
5 : 4, 10
6:3
7:4
8 : 3, 4
9 : 10
10 : 2, 5, 9

Etape
1:
2 : 10
3 : 6, 8
328

4 : 5, 7, 8
5 : 4, 10
6:3
7:4
8 : 3, 4
9 : 10
10 : 2, 5, 9
S={4}

Etape
2:
3 : 6, 8
4 : 5, 7, 8
5 : 4, 10
6:3
7:4
8 : 3, 4
9 : 10
10 : 5, 9
S={4,10}

Etape
3:
3:8
4 : 5, 7, 8
5 : 4, 10
7:4
8 : 3, 4
9 : 10
10 : 5, 9
329

S={4,10,3}

Etape
4:
4 : 5, 7, 8
5 : 4, 10
7:4
8:4
9 : 10
10 : 5, 9
S = {4,10,3,8}

Etape
5:
4 : 5, 8
5 : 4, 10
8:4
9 : 10
10 : 5, 9
S = {4,10,3,8,4}

Etape
6:
4:5
330

5 : 4, 10
9 : 10
10 : 5, 9
S = {4,10,3,8,4,4}

Etape
7:
5 : 10
9 : 10
10 : 5, 9
S = {4,10,3,8,4,4,5}

Etape
8:
9 : 10
10 : 9
S = {4,10,3,8,4,4,5,10}

Etape
9 : S = {4,10,3,8,4,4,5,10} est le codage de Prufer de larbre initial.
3 Decodage
3.1 La methode
Donnee : suite S de n 2 nombres, chacun provenant de {1, ..., n}.
Posons I = {1, ..., n}.

Pas general de lalgorithme de decodage : a` repeter tant quil reste des e lements dans
S et plus de deux e lements dans I :
identifier le plus petit e lement i de I napparaissant pas dans la suite S ;
331

relier par une arete de T le sommet i avec le sommet s correspondant au


premier e lement de la suite S ;
enlever i de I et s de S.
Finalisation : Les deux e lements qui restent dans I a` la fin de lalgorithme constituent
les extremites de la derni`ere arete a` ajouter a` T.
3.2 Exemple de decodage

Etape
0 : arbre a` decoder

I={1,2,3,4,5,6,7,8,9,10}
S={4,10,3,8,4,4,5,10}

Etape
1:
1:4
4:1
I={2,3,4,5,6,7,8,9,10}
S={10,3,8,4,4,5,10}

Etape
2:
1:4
332

2 : 10
4:1
10 : 2
I={3,4,5,6,7,8,9,10}
S={3,8,4,4,5,10}

Etape
3:
1:4
2 : 10
3:6
4:1
6:3
10 : 2
I={3,4,5,7,8,9,10}
S={8,4,4,5,10}

Etape
4:
1:4
2 : 10
3 : 6, 8
4:1
6:3
8:3
10 : 2
I={4,5,7,8,9,10}
S={4,4,5,10}
333


Etape
5:
1:4
2 : 10
3 : 6, 8
4 : 1, 7
6:3
7:4
8:3
10 : 2
I={4,5,8,9,10}
S={4,5,10}

Etape
6:
1:4
2 : 10
3 : 6, 8
4 : 1, 7, 8
6:3
7:4
8 : 3, 4
10 : 2
I={4,5,9,10}
S={5,10}

334


Etape
7:
1:4
2 : 10
3 : 6, 8
4 : 1, 5, 7, 8
5:4
6:3
7:4
8 : 3, 4
10 : 2
I={5,9,10}
S={10}

Etape
8:
1:4
2 : 10
3 : 6, 8
4 : 1, 5, 7, 8
5 : 4, 10
6:3
7:4
8 : 3, 4
10 : 2, 5
I={9,10}
S={}
335


Etape
9:
1:4
2 : 10
3 : 6, 8
4 : 1, 5, 7, 8
5 : 4, 10
6:3
7:4
8 : 3, 4
9 : 10
10 : 2, 5, 9
I={}
S={}
4 Theor`eme de Cayley

P ROPRI E T E IV (C AYLEY, 1857) : Le nombre darbres que lon peut construire


sur n (n > 1) sommets numerotes est e gal a` nn2 .

P REUVE 5 :
La preuve est immediate en utilisant le codage de Prufer.
En effet, on verifie aisement que les deux algorithmes constituent les deux sens
dune bijection entre les arbres sur n sommets numerotes et les mots de n2 lettres
sur lalphabet a` n lettres.
Ce constat permet de conclure la preuve du theor`eme de Cayley. En effet, il
existe nn2 mots de longueur n 2 sur lalphabet a` n lettres, donc darbres sur n
sommets numerotes.

5 Exercices

336

Exercice 5. Decrivez larbre ci-dessous a` laide du codage de Prufer.

Exercice 6. Dessinez larbre correspondant a` la suite S=1,1,1,1,1,1,1,1,1.

III. Arbres couvrants


1 Definition
D E FINITION 3 (A RBRE COUVRANT ). Un arbre couvrant (ou arbre maximal) est un
graphe partiel qui est aussi un arbre.

R EMARQUE 1. On rappelle quun graphe partiel de G est obtenu en enlevant des


aretes (mais pas de sommets) a` G.

E XEMPLE 3. Un des arbres couvrants (en bleu) dun graphe donne.

337

1.1 Exercices

Exercice 7. Combien darbres couvrants differents les graphes suivants poss`edentils ?

Exercice 8. Trouvez un arbre couvrant minimal pour chaque graphe ci-dessus.

2 Arbre maximal de poids minimum


2.1 Presentation du probl`eme
On considerera le probl`eme suivant :
(( Soit le graphe G = (V, E) avec un poids associe a` chacune de ses aretes. Trouver,
dans G, un arbre maximal A = (V, F ) de poids total minimum. ))
Ce probl`eme se pose, par exemple, lorsquon desire relier n villes par un reseau
routier de cout minimum. Les sommets du graphe representent les villes, les aretes,
les troncons quil est possible de construire et les poids des aretes correspondent aux
couts de construction du troncon correspondant.
Lalgorithme de Kruskal decrit ci-dessous permet de resoudre ce probl`eme.
2.2 Lalgorithme de Kruskal
Voici un algorithme cel`ebre permettant de resoudre ce probl`eme :

P ROPRI E T E V (L ALGORITHME DE K RUSKAL ) : Donnees : Graphe


G = (V, E) (|V | = n, |E| = m) et pour chaque arete e de E, son
poids c(e).

338

Resultat : Arbre ou foret maximale A = (V, F ) de poids minimum.


Algorithme : Trier et renumeroter les aretes de G dans lordre croissant de leur
poids : c(e1 ) < c(e2 ) < ... < c(em ).
1. Poser F := , k := 0
2. Tant que k < m et |F | < n 1 faire
Debut
si ek+1 ne forme pas de cycle avec F alors F := F {ek+1}
k := k + 1
Fin

Exercice 9. Le tableau suivant donne couts de construction de routes (exprimees en


unites adequates) entre six villes dIrlande.
Athlone
Dublin
Galway
Limerick
Sligo

Athlone Dublin Galway Limerick


78
56
73
132
121
64
-

Sligo Wexford
71
114
135
96
85
154
144
116
185

Trouver une mani`ere de relier ces six villes, en minimisant le cout total de construction.

Exercice 10. Trouvez un arbre maximal de poids minimum du graphe ci-dessous (les
chiffres en bleu representent le poids des aretes) :

339

IV. Arborescence
1 Definitions et exemples
1.1 Definition dune arborescence
D E FINITION 4 (A RBORESCENCE ). On appelle arborescence un arbre avec un som
met distingue, que lon appelle la racine.
N OTATION : On represente generalement une arborescence avec la racine en haut du
dessin et les feuilles en bas.
1.2 Exemple

E XEMPLE 4. Sur larborescence ci-dessous, la racine est le sommet 4. Les sommets


5, 6, 7 et 9 sont les feuilles.

1.3 Rang des sommets


On peut, dans une arborescence, assigner un rang aux sommets :
D E FINITION 5 (R ANG D UN SOMMET ). Le rang dun sommet dune arborescence
est la distance de ce sommet a` la racine.

E XEMPLE 5. Ainsi, dans lexemple precedent, le sommet 4 (la racine) a rang 0, le


sommet 1 a rang 1, les sommets 2 et 10 ont rang 2, les sommets 3, 5 et 8 ont rang 3 et
les sommets 6, 7 et 9 ont rang 4.

340

D E FINITION 6 (H AUTEUR D UNE


borescence est le rang maximum

ARBORESCENCE ).

On dira que la hauteur de lar

E XEMPLE 6. Lexemple ci-dessus a une hauteur de 4.

2 Arborescences ordonnees
2.1 Definition
D E FINITION 7 (A RBORESCENCE ORDONN E E ). Une arborescence ordonnee est une
arborescence dont les aretes partant de chaque sommet sont ordonnees.

R EMARQUE 2. On peut systematiquement e tiqueter les sommets dun tel arbre comme
suit :
on attribue 0 a` la racine r,
puis 1, 2, 3, ... aux sommets qui sont adjacents a` r.
Les e tiquettes suivantes sont constituees de letiquette du sommet p`ere, suivie
dun chiffre obtenu comme precedemment.
Ainsi, les sommets fils attaches au sommet 2 seront numerotes 2.1, 2.2, 2.3,...

E XEMPLE 7. La figure ci-dessous illustre le procede.

D E FINITION 8. Cet ordre (0, 1, 1.1, 1.2, 2, 2.1, 3, 3.1, 3.1.1, 3.1.2, 3.2, 3.3) est appele ordre lexicographique, puisquil est semblable au classement des mots dans un
dictionnaire.

341

R EMARQUE 3. Il est identique a` lordre obtenu en parcourant de haut en bas la branche


la plus a` gauche de larbre, puis la branche immediatement a` droite, et ainsi de suite
jusqu`a la branche la plus a` droite.
R EMARQUE 4. On parle aussi de parcours en profondeur de larbre, par opposition
au parcours en largeur qui serait lordre : 0, 1, 2, 3, 1.1, 1.2, 2.1, 3.1, 3.2, 3.3, 3.1.1,
3.1.2.
2.2 Lien avec les expressions algebriques
Nimporte quelle expression algebrique comprenant des expressions binaires, telle
que laddition, la soustraction, la multiplication et la division, peut e tre representee par
une arborescence ordonnee.
E XEMPLE 8. Par exemple, laborescence ci-dessous represente lexpression arithmetique
(a b)/((c d) + e) :

On observe que les variables de lexpression (a, b, c, dete) sont les feuilles et que
les operations sont les autres sommets.
R EMARQUE 5. Larbre doit e tre ordonne car a b et b a conduisent au meme arbre,
mais pas au meme arbre ordonne.
Le mathematicien polonais Lukasiewicz a remarque quen placant les symboles des
operations binaires avant les arguments, cest-`a-dire +ab au lieu de a + b ou /cd au
lieu de c/d, nous navions plus besoin de parenth`eses. . .
D E FINITION 9 (N OTATION POLONAISE ). On appelle cette nouvelle notation la notation polonaise dans sa forme prefixee ou directe.

R EMARQUE 6. Par analogie, en notation polonaise postfixee ou inverse, on place les


symboles apr`es les arguments ; certaines calculatrices - notamment les HP - utilisent
la notation polonaise inverse).
342

E XEMPLE 9. Lexpression (a b)/((c d) + e) devient ainsi / ab + cde.

2.3 Exercices

Exercice 11. Combien darborescences existe-t-il sur n sommets numerotes ?

Exercice 12. Etant


donnee lexpression algebrique (2x + y)(5a b)3 ,
1. dessinez larborescence ordonnee correspondante ;

2. trouvez la portee de lexponentiation (la portee dun sommet s dans une arborescence est le sous-arbre genere par s et les sommets qui le suivent avec s pour
racine) ;
3. e crire lexpression en notation polonaise directe.

3 Codage de Huffman
3.1 Presentation
Le codage de Huffman est une methode de compression statistique de donnees qui
permet de reduire la longueur du codage dun alphabet.
Le code de Huffman (1952) est un code de longueur variable optimal, cest-`adire tel que la longueur moyenne dun texte code soit minimale. On observe ainsi des
reductions de taille de lordre de 20 a` 90%.
3.2 Principe
Le principe de lalgorithme de Huffman consiste a` recoder les octets rencontres
dans un ensemble de donnees source avec des valeurs de longueur binaire variable.
Lunite de traitement est ramenee au bit.
Huffman propose de recoder les donnees qui ont une occurrence tr`es faible sur une
longueur binaire superieure a` la moyenne, et recoder les donnees tr`es frequentes sur
une longueur binaire tr`es courte.
343

Ainsi, pour les donnees rares, nous perdons quelques bits regagnes pour les donnees
repetitives.
E XEMPLE 10. Dans un fichier ASCII le w apparaissant 10 fois aura un code tr`es
long : 0101000001000. Ici la perte est de 40 bits (10 x 4 bits), car sans compression, il
serait code sur 8 bits au lieu de 12.
Par contre, le caract`ere le plus frequent comme le e avec 200 apparitions sera
code par 1. Le gain sera de 1400 bits (7 x 200 bits). On comprend linteret dune telle
methode.

3.3 Propriete de prefixe :


Le codage de Huffman a une propriete de prefixe : une sequence binaire ne peut
jamais e tre a` la fois representative dun e lement code et constituer le debut du code
dun autre e lement.
E XEMPLE 11. Si un caract`ere est represente par la combinaison binaire 100 alors la
combinaison 10001 ne peut e tre le code daucune autre information.
Dans ce cas, lalgorithme de decodage interpreterait les 5 bits comme une succession du caract`ere code 100 puis du caract`ere code 01

R EMARQUE 7. Cette caracteristique du codage de Huffman permet une codification a`


laide dune structure darbre binaire.
3.4 Methode
Lalgorithme op`ere sur une foret. Une foret est ici un ensemble darbres e tiquetes
complets : tout noeud interne (cest-`a-dire qui nest pas une feuille) a deux fils nonvides.
La foret initiale est formee dun arbre a` un noeud pour chaque lettre du langagesource, dont letiquette est la probabilite de cette lettre.
La foret finale est formee dun unique arbre, qui est larbre de decodage du code.
Lalgorithme est de type glouton : il choisit a` chaque e tape les deux arbres detiquettes
minimales, soit x et y, et les remplace par larbre forme de x et y et ayant comme
e tiquette la somme de letiquette de x et de letiquette de y.

344

Voici les differentes e tapes de la construction dun code de Huffman pour lalphabet source A, B, C, D, E, F, avec les probabilites P(A)=0.10, P(B)=0.10, P(C)=0.25,
P(D)=0.15, P(E)=0.35 et P(F)=0.05.

345

346

Le code dune lettre est alors determine en suivant le chemin depuis la racine de
larbre jusqu`a la feuille associee a` cette lettre en concatenant successivement un 0 ou
un 1 selon que la branche suivie est a` gauche ou a` droite.
E XEMPLE 12. Ainsi, sur la figure ci-contre, A=0111, B=010, C=10, D=00, E=11 et
F=0110.

E XEMPLE 13. Par exemple le mot FADE serait code 011001110011. Pour decoder,
on lit simplement la chane de bits de gauche a` droite. Le seul decoupage possible,
grace a` la propriete du prefixe, est 0110-0111-00-11.

3.5 Conclusion
Ce principe de compression est aussi utilise dans le codage dimage TIFF (Tagged
Image Format File) specifie par Microsoft Corporation et Aldus Corporation.
Par ailleurs, le codage dimage est fait en retranscrivant exactement le contenu dun
e cran (image), en utilisant les methodes traditionnelles de compression.
R EMARQUE 8. Il existe des methodes qui ne conservent pas exactement le contenu
dune image (methodes non conservatives) mais dont la representation visuelle reste
correcte. Entre autres, il y a la methode JPEG (Join Photographic Experts Group) qui
utilise la compression de type Huffman pour coder les informations dune image.
Malgre son anciennete, cette methode est toujours remise au gout du jour, et offre
des performances appreciables. En effet, beaucoup de recherches en algorithmique ont
permis dameliorer les fonctionnalites de la methode Huffman de base, par exemple
les arbres binaires, les arbres e quilibres, etc.
3.6 Exercices

Exercice 13. Construisez un codage de Huffman du message ceciestuncodagedehuffman (on a supprime les espaces et la ponctuation pour simplifier la construction). Il
y a plusieurs codages de Huffman possibles. Verifiez la propriete du prefixe.

347

Exercice 14. Utilisez le tableau ci-dessous pour determiner le codage de Huffman de


la langue francaise.
Frequences dapparition des lettres en francais
Lettre

Frequence

Lettre

Frequence

A
B
C
D
E
F
G
H
I
J
K
L
M

8.40 %
1.06 %
3.03 %
4.18 %
17.26 %
1.12 %
1.27 %
0.92 %
7.34 %
0.31 %
0.05 %
6.01 %
2.96 %

N
O
P
Q
R
S
T
U
V
W
X
Y
Z

7.13 %
5.26 %
3.01 %
0.99 %
6.55 %
8.08 %
7.07 %
5.74 %
1.32 %
0.04 %
0.45 %
0.30 %
0.12 %

V. Parcours en largeur dun graphe


1 Presentation
Le but est de visiter lensemble des sommets dun graphe donne, sans en oublier
aucun.
Le parcours en largeur est lun des algorithmes de parcours les plus simples sur les
graphes.
R EMARQUE 9. Cet algorithme de parcours fonctionne encore dans le cas oriente.
2 Idee de lalgorithme
Soit s un sommet origine.
1. Parcourir tous les arcs du graphe accessibles depuis s.
2. Calculer la distance entre s et tous les sommets accessibles (cette distance correspond au plus petit nombre daretes).
3. Construction dune arborescence en largeur, de racine s, qui contient tous les
sommets accessibles dans le graphe.
Fin du Chapitre
348

Chapitre 25
Probl`emes de coloration
I. Coloration des sommets
1 Notion de stabilite
D E FINITION 1 (S TABLE ). Soit G = (V, E) un graphe. Un sous-ensemble S de V est
un stable sil ne comprend que des sommets non adjacents deux a` deux.

D E FINITION 2 (N OMBRE
de stabilite de G

).
DE STABILIT E

Le cardinal du plus grand stable est le nombre

N OTATION : On le note a(G).


2 La coloration
D E FINITION 3 (C OLORATION DES SOMMETS D UN GRAPHE ). La coloration des sommets dun graphe consiste a` affecter a` tous les sommets de ce graphe une couleur de
telle sorte que deux sommets adjacents ne portent pas la meme couleur.

R EMARQUE 1. Une coloration avec k couleurs est donc une partition de lensemble
des sommets en k stables.

D E FINITION 4 (N OMBRE CHROMATIQUE ). Le nombre chromatique du graphe G est


le plus petit entier k pour lequel il existe une partition de V en k sous-ensembles
stables.

N OTATION : Ce nombre chromatique est note g(G).


349

E XEMPLE 1. Sur le graphe ci-dessous, on a eu besoin de trois couleurs pour colorer


les sommets de sorte que deux sommets adjacents ont des couleurs differentes. On a
donc trois stables : {1, 2}, {3, 5} et {4}. On ne peut pas utiliser moins de couleurs, a`
cause des cliques 1-4-5 et 1-3-4.

R EMARQUE 2. Remarquons enfin que le sommet 2 aurait pu aussi e tre vert. La coloration minimale nest donc pas forcement unique.
3 Encadrement du nombre chromatique
3.1 Majoration
On a les deux majorations suivantes...

P ROPRI E T E I : g(G) 6 r + 1, o`u r est le plus grand degre de ses sommets.

P REUVE 6 :
Soit un graphe et r le degre maximum de ses sommets. Donnons-nous une palette
de (r + 1) couleurs. Pour chaque sommet du graphe on peut tenir le raisonnement
suivant :
ce sommet est adjacent a` r sommets au plus,
le nombre de couleurs dej`a utilisees pour colorer ces sommets est donc
inferieur ou e gal a` r.
Il reste donc au moins une couleur non utilisee dans la palette, avec laquelle nous
pouvons colorer notre sommet.

350

P ROPRI E T E

II

: g(G) 6 n + 1 a(G)

P REUVE 7 :
Considerons S un stable de V de cardinal a(G) : une coloration possible des sommets consiste a` colorer les sommets de S dune meme couleur et les n a(G)
autres sommets de couleurs toutes differentes.
On en deduit que g(G) 6 1 + (n a(G)).

3.2 Minoration
On a dautres resultats, concernant la minoration...

P ROPRI E T E III : Le nombre chromatique dun graphe est superieur ou e gal a` celui
de chacun de ses sous-graphes.

P REUVE 8 :
Ce resultat decoule de la definition meme du nombre chromatique.

P ROPRI E T E

IV

: g(G) > w(G)

P REUVE 9 :
Puisque, par definition, dans une clique dordre m, tous les sommets sont adjacents
entre eux, il faudra m couleurs. Donc, forcement, le nombre chromatique du graphe
sera superieur ou e gal a` lordre de sa plus grande clique.

351

4 Algorithme de coloration de Welsh et Powell


Cet algorithme couramment utilise permet dobtenir une assez bonne coloration
dun graphe, cest-`a-dire une coloration nutilisant pas un trop grand nombre de couleurs. Cependant il nassure pas que le nombre de couleurs utilise soit minimum (et
donc e gal au nombre chromatique du graphe).

Etape
1 Classer les sommets du graphe dans lordre decroissant de leur degre, et
attribuer a` chacun des sommets son numero dordre dans la liste obtenue.

Etape
2 En parcourant la liste dans lordre, attribuer une couleur non encore utilisee
au premier sommet non encore colore, et attribuer cette meme couleur a` chaque
sommet non encore colore et non adjacent a` un sommet de cette couleur.

Etape
3 Sil reste des sommets non colores dans le graphe, revenir a` letape 2. Sinon,
la coloration est terminee.
5 Exercices

Exercice 1. Tout graphe contenant un triangle (K3 ) ne peut pas e tre colore en moins
de trois couleurs.
1. Construire un graphe sans K3 qui necessite e galement trois couleurs.
2. Comment, a` partir du graphe precedent, construire un graphe sans K4 necessitant
4 couleurs ?
3. Un graphe sans K5 necessitant 5 couleurs ?

Exercice 2. Determinez le nombre chromatique de ce graphe :

352

Exercice 3. Sept e l`eves, designes par A, B, C, D, E, F et G, se sont rendus a` la


biblioth`eque aujourdhui. Le tableau suivant precise ((qui a rencontre qui)) (la biblioth`eque e tant petite, deux e l`eves presents au meme moment se rencontrent necessairement...).
lel`eve
A
B
C
D
E
F
G
a rencontre D,E D,E,F,G E,G A,B,E A,B,C,D,F,G B,E,G B,C,E,F
De combien de places assises doit disposer la biblioth`eque pour que chacun ait pu
travailler correctement au cours de cette journee ?

Exercice 4. A, B, C, D, E, F, G et H designent huit poissons. Dans le tableau cidessous, une croix signifie que les poissons ne peuvent pas cohabiter dans un meme
aquarium :
A

A
B

Quel nombre minimum daquariums faut-il ?

Exercice 5. Un lycee doit organiser les horaires des examens. On suppose quil y a 7
e preuves a` planifier, correspondant aux cours numerotes de 1 a` 7 et que les paires de
cours suivantes ont des e tudiants communs : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4,
2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et 7 et enfin 6 et 7. Comment
organiser ces e preuves de facon quaucun e tudiant nait a` passer deux e preuves en
meme temps et cela sur une duree miminale ?

353

Exercice 6. Sept agences de voyage romaines proposent des visites de monuments et


lieux touristiques : le Colisee, le Forum romain, le musee du Vatican et les thermes
de Caracalas. Un meme lieu ne peut e tre visite par plusieurs groupes de compagnies
differentes le meme jour. La premi`ere Compagnie fait visiter uniquement le Colisee ; la
seconde le Colisee et le musee du Vatican ; la troisi`eme les thermes de Caracalas ; la
quatri`eme le musee du Vatican et les thermes de Caracalas ; la cinqui`eme le Colisee et
le Forum romain ; la sixi`eme le Forum romain et les thermes de Caracalas ; la septi`eme
le musee du Vatican et le forum romain. Ces agences peuvent-elles organiser les visites
sur les trois premiers jours de la semaine ?

Exercice 7. Utilisez lalgorithme de coloration de Welsh et Powell pour colorer les


graphes des exercices precedents.

Exercice 8. Exprimez la resolution dun Sudoku classique en termes de coloration


de graphe. Decrivez le graphe (nombre de sommets, nombre daretes, etc.). Combien
faut-il de couleurs ?

II. Coloration des sommets dun graphe planaire


1 Presentation
Une question datant de la fin XIXe , reliee aux graphes planaires (voir plus loin),
est devenue cel`ebre sous le nom de probl`eme des quatre couleurs : suffit-il de quatre
couleurs pour dessiner nimporte quelle carte geographique ?

354

2 Formulation en theorie des graphes


Ce probl`eme a une formulation dans le langage des graphes : y a-t-il toujours, dans
un graphe planaire, une application de lensemble S des sommets vers un ensemble
de cardinal 4, telle que deux sommets (( adjacents )) admettent toujours des images
distinctes ?

P ROPRI E T E V (T H E OR E` ME DES QUATRE COULEURS ) : On peut colorer les sommets dun graphe planaire (sans boucles) en utilisant au plus quatre couleurs de
telle sorte que toutes les aretes aient des extremites de couleurs differentes.

Cette conjecture a e te formulee pour la premi`ere fois par lEcossais


Francis Guthrie
en 1852. Il e tait alors question de coloration de carte de geographie (voir exercice cidessous).
La preuve de ce theor`eme narriva quen... 1976, grace a` Kenneth Appel et Wolfgang Haken. La demonstration fit grand bruit car cest le premier theor`eme de lhistoire
des mathematiques qui a necessite lusage systematique de lordinateur.

355

La communaute mathematique se divisa alors en deux camps : ceux pour qui le


theor`eme des quatre couleurs e tait definitivement demontre, et ceux pour qui tout restait a` faire.
3 Exercice

Exercice 9. Prenez une feuille de papier. Tracez une droite quelconque qui traverse
la feuille de part en part. Recommencez loperation n fois. Demontrez que la carte
ainsi obtenue peut e tre coloree en deux couleurs.

III. Coloration des aretes


1 Presentation du probl`eme
La coloration des aretes dun graphe consiste a` affecter a` toutes les aretes de ce
graphe une couleur de telle sorte que deux aretes adjacentes ne portent pas la meme
couleur.
D E FINITION 5 (I NDICE CHROMATIQUE ). Lindice chromatique du graphe G est le
plus petit entier k pour lequel il existe une coloration des aretes.

N OTATION : On le note c(G).

E XEMPLE 2. Sur le graphe ci-dessous, on a eu besoin de trois couleurs pour colorer


les aretes de sorte que deux aretes adjacentes ont des couleurs differentes.

356

2 Lien avec la coloration des sommets


2.1 Presentation
Pour colorer les aretes dun graphe, on peut se ramener au probl`eme de la coloration des sommets. Il suffit pour cela de travailler non pas sur le graphe lui-meme, mais
sur le graphe adjoint, note G, et que lon definit ainsi :
a` chaque arete de G = (V, E) correspond un sommet de G = (E, F)
deux sommets de G sont relies par une arete si les deux aretes correspondantes
de G sont adjacentes.
On peut ensuite appliquer par exemple lalgorithme de Welsh et Powell sur le
graphe G pour colorer ses sommets. Une fois cela fait, on colorera les aretes de G
de la meme couleur que les sommets correspondants de G.
2.2 Exemple de coloration daretes
1. Un graphe G :

2. Son graphe adjoint G

3. Coloration des sommets de G

357

4. Coloration des aretes de G

3 Exercice

Exercice 10. Dans un tournoi dechecs, chaque engage doit rencontrer tous les autres.
Chaque partie dure une heure.
Determiner la duree minimum du tournoi dans le cas o`u le nombre dengages est
3, 4, 5 ou 6.

Fin du Chapitre

358

Chapitre 26
Graphes orientes
I. Definitions
1 Digraphe (graphe oriente), sommet, arc
En donnant un sens aux aretes dun graphe, on obtient un digraphe, ou graphe
oriente.
R EMARQUE 1. De langlais directed graph.

D E FINITION 1 (D IGRAPHE , SOMMETS , ARCS ). Un digraphe fini G = (V, E) est defini


par :
lensemble fini V = {v1 , v2 , ..., vn } (|V | = n) dont les e lements sont appeles
sommets ,
et par lensemble fini E = {e1 , e2 , ..., em } (|E| = m) dont les e lements sont
appeles arcs.
Un arc e de lensemble E est defini par une paire ordonnee de sommets. Lorsque
e = (u, v), on dira que larc e va de u a` v . On dit aussi que u est lextremite initiale et
v lextremite finale de e.

E XEMPLE 1. Un exemple de digraphe :

359

Exercice 1. Construire un graphe oriente dont les sommets sont les entiers compris
entre 1 et 12 et dont les arcs representent la relation (( e tre diviseur de )).

Exercice 2. Quel est le nombre maximal daretes dans un graphe oriente dordre n
qui ne poss`ede pas daretes parall`eles ?

2 Exemples
1. le graphe dune relation binaire peut e tre assimile a` un graphe oriente,
2. les graphes orientes peuvent e tre representes graphiquement, ce qui fournit toutes
sortes dexemples :

3 Degre dun sommet dun digraphe


Soit v un sommet dun graphe oriente.
D E FINITION 2 (D EGR E EXT E RIEUR ). Le degre exterieur du sommet v est le nombre
darcs ayant v comme extremite initiale.

N OTATION : On le note d+ (v).

360

D E FINITION 3 (D EGR E INT E RIEUR ). Le degre interieur du sommet v est le nombre


darcs ayant v comme extremite finale.

N OTATION : On le note d (v).

P ROPRI E T E I : On a :
d(v) = d+ (v) + d (v)
.

Exercice 3. Soit G un graphe oriente quelconque. Demontrez que la somme des degres
entrants de tous les sommets est e gal a` la somme de tous les degres sortants.

Reponse : Chaque arete compte une fois dans la somme des degres entrants et une fois
dans la somme des degres sortants...
Exercice 4. Trouvez les degres exterieurs et interieurs de chacun des sommets du
graphe ci-dessous :

Exercice 5. Soit X un ensemble de lapins, et G un graphe oriente ayant X pour ensemble de sommets. On dit que G est un ((graphe de parente)) si les arcs de G codent
la relation ((etre lenfant de...)). Quelles conditions doit necessairement verifier G pour
pouvoir e tre un graphe de parente ?

361

4 Chemins et circuits
4.1 Chemin
D E FINITION 4 (C HEMIN ). Un chemin conduisant du sommet a au sommet b est une
suite de la forme (v0 , e1 , v1 , e2 , v2 , ..., ek , vk ) o`u les vi sont des sommets (v0 = a et
vk = b) et les ei sont des arcs tels que ei va de vi1 a` vi .

E XEMPLE 2. Sur le digraphe ci-dessous, on peut voir par exemple le chemin (v3 , e3 , v4 , e4 , v5 ).

R EMARQUE 2. Par convention, tout chemin comporte au moins un arc.


4.2 Distance
D E FINITION 5 (D ISTANCE ). On appelle distance entre deux sommets dun digraphe
la longueur du plus petit chemin les reliant.
Sil nexiste pas de chemin entre les sommets x et y , on pose d(x, y) = +.

E XEMPLE 3. Par exemple, sur le digraphe ci-dessus (exemple precedent), d(v1 , v5 ) =


2, d(v1 , v6 ) = 1, d(v6 , v1 ) = +.

Exercice 6. Donnez un algorithme permettant de calculer la distance entre deux sommets x et y dun digraphe connexe.

362

4.3 Circuit
D E FINITION 6 (C IRCUIT ). Un circuit est un chemin avec u0 = uk .

E XEMPLE 4. Le digraphe ci-dessus ne contient pas de circuit.

R EMARQUE 3. Les notions de longueur, de chemins et de circuits sont analogues a`


celles des chanes et des cycles pour le cas non oriente.
5 Circuits euleriens

P ROPRI E T E II : Dans le cas des graphes orientes, il y a e quivalence entre :


posseder un circuit eulerien,
e tre fortement connexe, tel que d+ (s) = d (s) pour tout sommet s.

II. Digraphe fortement connexe


1 Definitions
1.1 Connexite forte
D E FINITION 7 (D IGRAPHE FORTEMENT CONNEXE ). Un digraphe est fortement connexe,
si toute paire ordonnee (a, b) de sommets distincts du graphe est reliee par au moins
un chemin.

R EMARQUE 4. En dautres termes, tout sommet est atteignable depuis tous les autres
sommets par au moins un chemin.

Exercice 7. Les graphes ci-dessous sont-il fortement connexes ? Si non, donnez leurs
composantes fortement connexes.

363

1.2 Composantes connexes


D E FINITION 8 (C OMPOSANTE FORTEMENT CONNEXE ). On appelle composante fortement connexe tout sous-graphe induit maximal fortement connexe (maximal signifie
quil ny a pas de sous-graphe induit connexe plus grand contenant les sommets de la
composante).

2 Exercices

Exercice 8. On souhaite prelever 4 litres de liquide dans un tonneau. Pour cela, nous
avons a` notre disposition deux recipients (non gradues !), lun de 5 litres, lautre de 3
litres.
Comment doit-on proceder ?

Exercice 9. Donnez un algorithme permettant de calculer la distance entre deux sommets x et y dun digraphe connexe.

Exercice 10. Proposez un algorithme qui determine si un graphe est fortement connexe
ou non.

Indication : utilisez un syst`eme de marquage des sommets.


Exercice 11. Les graphes ci-dessous sont-il fortement connexes ? Si non, donnez leurs
composantes fortement connexes.

364

III. Matrice et listes dadjacences


1 Matrice dincidence
D E FINITION 9 (M ATRICE D INCIDENCE ENTRANTE ET SORTANTE ). On suppose que
les aretes et les sommets ont e te numerotes.
On appelle matrice dincidence sortante J + la matrice dont lelement J + (s, ) vaut
1 si le sommet d est le debut de larete ,
0 sinon.
On appelle de meme matrice dincidence entrante J la matrice dont lelement
(s, ) vaut :
1 si le sommet s est la fin de larete ,
0 sinon.

D E FINITION 10. On suppose a` nouveau que les aretes et les sommets du graphe
oriente considere ont e te numerotees, et on appelle alors matrice dincidence J de ce
graphe la matrice dont lelement (s, ) vaut :
2 si s est une extremite de , quand est une boucle,
1 si s est une extremite de , quand nest pas une boucle,
0 sinon.

1.1 Remarques
1. se donner un graphe oriente est e quivalent a` se donner les deux matrices J + et
J .
2. on peut relier d+ (s) (resp. d (s)) au nombre de 1 apparaissant dans J + (resp.
J ).
1.2 Resultats

P ROPRI E T E III :

d+ (s1 )

..
1.
.
+
d (sn )

Soient (s1 , . . . , sn ) les sommets dun graphe oriente. Alors


1
d (s1 )
1

.
.

+ ..
..
= J ..
= J . et
1
d (sn )
1
365

2. J + J t =

3. J J +t =

d+ (s1 )

0
..

d+ (sn )

d (s1 )

0
..

.
d (sn )

2 Matrice dadjacences
2.1 Definition
D E FINITION 11 (M ATRICE D ADJACENCES ). On peut representer un digraphe par
une matrice dadjacences :
Les lignes et les colonnes representent les sommets du graphe.
Un 1 a` la position (i,j ) signifie quun arc part de i pour rejoindre j .

2.2 Exemple
Voici la matrice dadjacences du digraphe G :

M =

0
0
0
0
0
0

1
0
0
0
0
1

0
0
0
0
0
0

1
1
1
0
0
0

0
1
0
1
0
0

1
0
0
0
0
0

Exercice 12. Decrivez le digraphe G ci-contre par une matrice dadjacences.

366

R EMARQUE 5. Se donner un graphe oriente revient a` se donner sa matrice dadjacence.


2.3 Proprietes

P ROPRI E T E IV : La matrice dadjacence a` plusieurs caracteristiques :


Elle est carree : il y a autant de lignes que de colonnes.
Il ny a que des zeros sur la diagonale. Un 1 sur la diagonale indiquerait une
boucle.
Contrairement au cas non oriente, elle nest pas symetrique.

P ROPRI E T E V (N OMBRE DE CHEMINS DE LONGUEUR K ) : Ak (s, t), e lement a`


la position (s, t) de la puissance ki`eme de A, est aussi le nombre de chemins de
longueur k qui m`enent de s a` t.

P ROPRI E T E VI (L IEN ENTRE LES MATRICES D ADJACENCE ) : Soit A la matrice


dadjacence dun graphe oriente, et B la matrice dadjacence du graphe non oriente
qui lui est associe. Alors
B = A + At

3 Lien entre matrices dadjacences et dincidences


Les remarques precedentes permettent de conclure que se donner (J + , J ) ou A,
(( cest pareil )). Plus precisement, on a
J + J t = A
367

Exercice 13. On pose

0
1
A=
0
1

1
0
1
0

0
1
0
1

1
0

1
0

1. Dessinez le graphe oriente ayant A pour matrice dadjacence.


2. Determinez ses matrices dincidences.
3. Verifiez, sur cet exemple, les formules precedentes.

Exercice 14. A partir du graphe oriente G, on fabrique un graphe oriente H en retournant le sens de toutes les fl`eches.
1. Comment sont liees les matrices dincidence de G et de H ?
2. Comment sont liees leurs matrices dadjacence ?

Reponse : La matrice J + de G est la matrice J de H, et reciproquement. Leurs matrices dadjacence sont transposees lune de lautre.

P ROPRI E T E

VII

: Soient s1 , s2 , . . . , sn les sommets dun graphe oriente. Alors


d(s1 )
1
..
..
. =J .
d(sn )

P ROPRI E T E VIII ( RELATION ENTRE J, J + ET J ) : On note J + et J les matrices dincidences dun graphe oriente, et J la matrice dincidence du graphe non
oriente qui lui est associe. Alors
J = J+ + J

368

4 Listes dadjacence
On peut encore representer un digraphe a` laide de listes dadjacences : en donnant
pour chacun de ses sommets la liste des sommets quon peut atteindre directement en
suivant un arc (dans le sens de la fl`eche).
E XEMPLE 5. Voici les listes dadjacences du digraphe G :

1
2
3
4
5
6

:
:
:
:
:
:

2, 4, 6
4, 5
4
5
2

P ROPRI E T E

: Soient (s1 , . . . , sn ) les sommets dun graphe oriente. Alors


1
d (s1 )
1
d+ (s1 )

..

.
.
..
t
..
= A ..
= A . et

.
1
d (sn )
1
d+ (sn )
IX

Exercice 15. Decrivez le digraphe G de lexercice precedent par des listes dadjacences.

369

IV. Digraphes sans circuits


1 Theor`eme

P ROPRI E T E X : Le digraphe G = (V, E) est sans circuits si et seulement si on


peut attribuer un nombre r(v), appele le rang de v, a` chaque sommet v de mani`ere
que pour tout arc (u, v) de G on ait r(u) < r(v).

P REUVE 10 :
Si G comporte un circuit C, il nest pas possible de trouver de tels nombres r(i)
car, autrement, considerant r(j) = max{r(i)|i C} et larc (j, k) C on aurait
r(j) 6 r(k) en contradiction avec la definition de r().
Reciproquement, si G na pas de circuits, il existe au moins un sommet
sans predecesseurs dans G (sans cela, en remontant successivement dun sommet a` un predecesseur, on finirait par fermer un circuit). Ainsi, on peut attribuer
sequentiellement des valeurs r() aux sommets du graphe a` laide de lalgorithme
qui suit, ce qui conclura la demonstration.

2 Algorithme de calcul du rang


Donnee : digraphe G = (V, E) sans circuit.
Resultat : rang r(v) de chaque sommet v V du digraphe G.

Debut r := 0, X := V
R : lensemble des sommets de X sans predecesseurs dans X
Tant que X nest pas vide faire
r(v) := r pour tout sommet v R
X := X R
R : lensemble des sommets de X sans predecesseurs dans X
r := r + 1

Fin.
3 Exercice

Exercice 16. Attribuez un rang aux sommets du digraphe ci-dessous en utilisant lalgorithme de calcul du rang :
370

Fin du Chapitre

371

Chapitre 27
Probl`emes de chemin
I. Algorithme de Dijkstra
1 Presentation
Edgser Wybe Dijkstra (1930-2002) a propose en 1959 un algorithme qui permet de
calculer le plus court chemin entre un sommet particulier et tous les autres.
Le resultat est une arborescence.
2 Lalgorithme
1. Numerotons les sommets du graphe G = (V, E) de 1 a` n.
2. Supposons que lon sinteresse aux chemins partant du sommet 1.
3. On construit un vecteur l = (l(1); l(2); ...; l(n)) ayant n composantes tel que
l(j) soit e gal a` la longueur du plus court chemin allant de 1 au sommet j.
On initialise ce vecteur a` c1,j , cest-`a-dire a` la premi`ere ligne de la matrice des
couts du graphe, definie comme indique ci-dessous :

si i = j
0
+
si i 6= j et (i, j)
/E

(i, j) si i 6= j et (i, j) E

o`u (i, j) est le poids (la longueur) de larc (i, j). Les ci,j doivent e tre strictement
positifs.

4. On construit un autre vecteur p pour memoriser le chemin pour aller du sommet


1 au sommet voulu.
La valeur p(i) donne le sommet qui prec`ede i dans le chemin.
5. On consid`ere ensuite deux ensembles de sommets, S initialise a` {1} et T initialise a` {2, 3, ..., n}.

372

` chaque pas de lalgorithme, on ajoute a` S un sommet jusqu`a ce que S = V


A
de telle sorte que le vecteur l donne a` chaque e tape le cout minimal des chemins
de 1 aux sommets de S.
3 Description de lalgorithme de Dijkstra
On suppose ici que le sommet de depart (qui sera la racine de larborescence) est
le sommet 1. Notons quon peut toujours renumeroter les sommets pour que ce soit le
cas.
Initialisations : l(j) = c1, jetp(j) = NIL, pour1 6 j 6 n
Pour 2 6 j 6 n faire : Si c1,j < + alors p(j) = 1.
S = {1} ; T = {2, 3, ..., n}.

Iterations : Tant que T nest pas vide faire :


Choisir i dans T tel que l(i) est minimum
Retirer i de T et lajouter a` S
Pour chaque successeur j de i, avec j dans T , faire : Si l(j) > l(i) + d(i, j)
alors
l(j) = l(i) + d(i, j)
p(j) = i
4 Exemple

Initialisations S = {1} ;
T = {2, 3, 4, 5} ;
l = (0, 15, , , 4) ;
p = (NIL, 1, NIL, NIL, 1).
Premi`ere iteration i = 5 car l(5) = min(15, , , 4) = 4 ;
S = {1, 5} ; T = {2, 3, 4} ;
les successeurs de 5 dans T sont 3 et 4 ;
l(3) prend la nouvelle valeur min(; l(5) + d(5; 3)) = min(; 4 + 7) = 11 ;
p(3) = 5 ;
l(4) prend la nouvelle valeur min(; l(5) + d(5; 4)) = 9 ; p(4) = 5 ;
do`u les nouveaux vecteurs l = (0, 15, 11, 9, 4) et p = (NIL, 1, 5, 5, 1)
373

Deuxi`eme iteration i = 4 ; l(4) = 9 ;


S = {1, 5, 4} ; T = {2, 3} ;
le seul successeur de 4 dans T est 2 ;
l(2) prend la nouvelle valeur min(; l(4) + d(4; 2)) = min(15; 9 + 3) = 12 ;
p(2) = 4 ;
do`u les nouveaux vecteurs l = (0, 12, 11, 9, 4) et p = (NIL, 4, 5, 5, 1)
Troisi`eme iteration i = 3 ; l(3) = 11 ;
S = {1, 5, 4, 3} ; T = {2} ;
le seul successeur de 3 dans T est 2 ;
l(2) garde sa valeur car min(12; l(3) + d(3; 2)) = min(12; 11 + 3) = 12 ;
do`u les vecteurs inchanges l = (0, 12, 11, 9, 4) et p = (NIL, 4, 5, 5, 1)
Quatri`eme iteration i = 2 ; l(2) = 12 ;
S = {1, 5, 4, 3, 2} ; T = {} ; FIN.
l = (0, 12, 11, 9, 4) ;
p = (NIL, 4, 5, 5, 1).
Le chemin minimal de 1 a` 4 par exemple est de cout 9. Cest le chemin 1-5-4, car
p(4) = 5 et p(5) = 1.

5 Exercices

Exercice 1. Appliquez lalgorithme de Dijkstra au graphe de lexemple ci-dessus pour


trouver tous les plus courts chemins en partant des sommets 2, 3, 4 et 5.

Exercice 2. Expliquez pourquoi des arcs avec des poids negatifs pourraient poser
probl`eme dans la recherche dun plus court chemin dans un graphe.

374

II. Methode PERT


1 Presentation de la methode
Le probl`eme du plus long chemin dans les digraphes sans circuits trouve une application dans lordonnancement et la planification des taches composant un projet
complexe, par exemple la construction dune maison.
On fait correspondre a` chaque tache un arc dun digraphe, sa duree dexecution
e tant e gale au poids de cet arc.
Le digraphe refl`ete les precedences requises dans lexecution du projet. Ainsi, la
tache correspondant a` larc (i, j) ne peut commencer que si toutes les taches correspondant a` des arcs (k, i) ont e te completees. Le digraphe peut contenir des taches fictives
de duree nulle afin de forcer certaines precedences.
Les sommets du digraphe representent des e venements, debut (fin) des activites
correspondant aux arcs dont ils sont lextremite initiale (finale). Le fait que le digraphe
est sans circuit est garant de la faisabilite du projet. En effet, lexistence dun circuit
impliquerait une contradiction dans les precedences : une tache devant en meme temps
preceder et succeder une autre !
On supposera dorenavant que les sommets ont dej`a e te numerotes de 1 a` n de
mani`ere compatible avec leurs rangs, cest-`a-dire que r(j) > r(i) implique j > i (voir
lalgorithme de calcul du rang).
En plus, si le digraphe poss`ede plusieurs sommets sans predecesseurs, on supposera avoir introduit un sommet 1 relie par un arc de duree nulle a` chacun de ces
sommets. Ce sommet indique le debut du projet.
De meme, si le digraphe poss`ede plusieurs sommets sans successeurs, ceux-ci seront relies par un arc de duree nulle a` un dernier sommet n (fin du projet).
Enfin, on supposera e limines les arcs parall`eles par lintroduction de taches fictives.
2 Algorithme du chemin critique
Donnees : Digraphe G = (V, E), sans circuits, des activites avec leur duree dik .
Resultat : di debut au plus tot des activites correspondant aux arcs (i, k) partant de
i,
ji fin au plus tard des activites correspondant aux arcs (k, i) arrivant a` i,
duree du chemin critique.
Debut :

1. Calcul des dates de debut au plus tot (recurrence en avancant dans le


projet)
d1 := 0
Pour k := 2 a` n faire dk := max{dj + djk |j P (k)}

2. Calcul des dates de fin au plus tard (recurrence en reculant dans le projet)
jn := dn
Pour k := n 1 a` 1 faire jk := min{jj dkj |j S(k)}
375

Fin.
N OTATION : P (i) = {k V |(k, i) E} est lensemble des sommets predecesseurs
de i.
N OTATION : S(i) = {k V |(i, k) E} est lensemble des sommets successeurs de
i.
3 Definitions
D E FINITION 1 (S OMMET

CRITIQUE ).

Un sommet i est critique si di = ji .

D E FINITION 2 (A RC CRITIQUE ). Un arc (i, j) est critique si ses extremites sont des
sommets critiques et dij = dj di .

D E FINITION 3 (C HEMIN CRITIQUE ). Un chemin critique est un chemin de 1 a` n


nutilisant que des arcs critiques, cest-`a-dire des activites telles que tout retard dans
leur execution provoquerait un retard de la fin du projet.

D E FINITION 4 (D UR E E DU CHEMIN CRITIQUE ). La duree du chemin critique est donnee


par dn (ou par jn , les deux valeurs e tant toujours e gales). Elle correspond a` la duree
minimale du projet e tant donnees les durees des taches le composant et les precedences
respectives.

4 Exemple
Ci-dessous le graphe des precedences obtenu avec lalgorithme du chemin critique.
Les sommets et les arcs critiques sont en rouge.

376

Taches

Precedences

Duree [jours]

20

C, F

D, E

5 Exercices

Exercice 3. Refaites le graphe des precedences de lexemple en utilisant lalgorithme


du chemin critique.

Exercice 4. La renovation du sejour dun appartement se decompose en plusieurs


taches decrites dans le tableau ci-dessous. Ce dernier donne e galement les precedences
a` respecter lors de la planification des travaux ainsi quune estimation de la duree de
chacune des taches.

377

Taches

Precedences

Duree [jours]

Enl`evement des portes

1/2

Poncage et peinture des portes

Pose des portes

B, J

1/2

Arrachage des papiers peints

Tirage des fils e lectriques

Pose des prises

E, H, I

1/2

Ragreage des murs

E, A

Peinture du plafond

Pose des papiers peints

Peinture des cadres

H, I

Arrachage de la moquette

H, I, J

1/2

Poncage du parquet

Impregnation et sechage du parquet

L, F

Peinture du balcon

Changement des protections solaires

1. Representez le graphe des precedences de ces travaux de renovation.


2. Determinez une duree totale minimale de renovation en exhibant un chemin critique dans le graphe precedent.

Fin du Chapitre

378

Chapitre 28
Chanes de Markov
I. Generalites
1 Presentation
Generalement, un processus stochastique est une suite dexperiences dont le resultat
depend du hasard.
Ici, nous admettrons quen certains temps 0, 1, 2, ..., t, nous observons un syst`eme.
Celui-ci peut se trouver dans lun des e tats dune collection finie detats possibles.
Lobservation du syst`eme est ainsi consideree comme une experience dont le resultat
(aleatoire) est letat dans lequel se trouve le syst`eme.
Nous supposons que nous connaissons pour chaque paire detats i et j, et pour
chaque instant t, la probabilite pij (t) que le processus soit dans letat j a` linstant t + 1
e tant donne quil se trouve dans letat i a` linstant t. De plus, la probabilite pij (t) sera
supposee ne pas dependre de t.
2 Definitions
D E FINITION 1 (C HAI NE DE M ARKOV ). Un tel processus est appele chane de Markov (`a temps discret et avec un ensemble fini detats), du nom de son inventeur Andrei

Andreyevich Markov (1856-1922).


Avec ces hypoth`eses, nous pouvons decrire le syst`eme en donnant lensemble
{u1 , ..., um } des e tats ui possibles et une matrice P de dimensions m m dont le
terme pij est la probabilite que le processus soit dans letat j a` linstant t + 1 e tant
donne quil se trouve dans letat i a` linstant t, pour tout t.
D E FINITION 2 (M ATRICE
syst`eme.

DE TRANSITION ).

P est appelee matrice de transition du

On represente generalement P par un graphe oriente G dont les sommets correspondent aux m e tats et les arcs aux couples ordonnes detats (i,j) tels que pij0.
379

3 Exemple
Pour representer le passage dune molecule de phosphore dans un e cosyst`eme,
nous considererons quatre e tats possibles :
1. la molecule est dans le sol,
2. la molecule est dans lherbe,
3. la molecule a e te absorbee par du betail,
4. la molecule est sortie de lecosyst`eme.
La matrice de transition est la suivante :

3
3
5 10
1
2

P =
10 5
3
0

4
0
0

0
1
2
1
5
0

1
10
0
1
20
1

Remarquez que la somme de chaque ligne vaut 1. Cette matrice correspond au


graphe ci-dessous :

4 Proprietes

P ROPRI E T E I : La probabilite pij (t) que le syst`eme soit dans letat j au temps t
sachant quil e tait dans letat i au temps 0 est donne par (P t )i,j (le terme i, j de la
t-i`eme puissance de P ).

Si on ne connat pas letat initial, on peut donner un vecteur de probabilite p(0) =


(p1 (0), ..., pm (0)) o`u pi (0) est la probabilite que le syst`eme se trouve dans letat i au
temps 0. Si p(t) est le vecteur donnant les probabilites doccupation des e tats au temps
t (autrement dit la distribution), nous avons :
380

P ROPRI E T E

II

: p(t) = p(0)P t

5 Exercice

Exercice 1. Un individu vit dans un milieu o`u il est susceptible dattraper une maladie
par piqure dinsecte. Il peut e tre dans lun des trois e tats suivants : immunise (I),
malade (M), non malade et non immunise (S). Dun mois a` lautre, son e tat peut
changer selon les r`egles suivantes :
e tant immunise, il peut le rester avec une probabilite 0,9 ou passer a` letat S
avec une probabilie 0,1 ;
e tant dans letat S, il peut le rester avec une probabilite 0,5 ou passer a` letat
M avec une probabilite 0,5 ;
e tant malade, il peut le rester avec une probabilite 0,2 ou passer a` letat I avec
une probabilite 0,8.
Tracez un graphe probabiliste pour decrire cette situation et e crivez la matrice de
transition. Calculez letat de probabilite de lindividu au bout de trois mois, de six
mois, dun an, de deux ans, pour chacune des situations suivantes :
au depart, il est immunise (I) ;
au depart, il est non malade et non immunise (S) ;
au depart, il est malade (M).
Pouvez-vous donner des e lements sur la proportion dindividus malades dans la
population e tudiee ?

II. Distribution limite


1 Presentation
On constate souvent que la distribution p(t) converge vers une distribution limite p
si t .
D E FINITION 3. Si tel est le cas, on dit que cette derni`ere definit un regime permanent
du processus stochastique.

R EMARQUE 1. Le regime permanent nest pas influence par le choix de la distribution


initiale.
381

2 Existence dune distribution limite

P ROPRI E T E III : Si la matrice de transition P est telle quune au moins de ses


puissances na que des termes strictement positifs, alors p(t) p quelle que soit
la distribution initiale p(0) et P t P lorsque t .
p est un vecteur de probabilite strictement positif et P une matrice dont toutes
les lignes sont identiques au vecteur limite p. En plus, pP = p.
R EMARQUE 2. La demonstration de cette condition dexistence depasse le cadre de
ce cours.
3 Exercices

Exercice 2. Soit la matrice stochastique

0, 5 0, 5 0
P = 0, 5 0 0, 5
0
1
0
Montrez que la chane de Markov definie par P converge et calculez la distribution
limite.

Exercice 3. Soit la matrice stochastique

3
5
1

P =
10
3

4
0

3
10
2
5
0
0

0
1
2
1
5
0

1
10
0
1
20
1

Montrez que la chane de Markov definie par P converge et calculez la distribution


limite.

382

Exercice 4. Un service de meteo a constate apr`es de longues annees que le temps


quil fera demain depend essentiellement du temps quil faisait hier et du temps quil
fait aujourdhui. Les probabilites de transition ont e te e tablies ainsi :
Hier

Aujourdhui Beau demain Mauvais demain

Beau

Beau

0.8

0.2

Beau

Mauvais

0.4

0.6

Mauvais

Beau

0.6

0.4

Mauvais

Mauvais

0.1

0.9

Modelisez ce processus a` laide dune chane de Markov.


Calculez le nombre moyen de jours de beau temps par annee.

Exercice 5. Un ivrogne se deplace dans les quatre bistrots dun village, dune mani`ere
bien personnelle : en sortant dun bistrot, il lance une pi`ece de monnaie pour savoir
dans lequel des deux autres bistrots les plus proches il entrera.
Ces quatre bistrots forment les sommets dun carre.
1. Modelisez ce processus a` laide dune chane de Markov.
2. Montrez que cette chane de Markov na pas de distribution limite.

III. Chane absorbante


1 Generalites
1.1 Definitions
D E FINITION 4 ( E TAT ABSORBANT ). Un e tat absorbant est un e tat que lon ne quitte
plus lorsquon y pen`etre.

R EMARQUE 3. Autrement dit, letat j est absorbant si pjj = 1.

D E FINITION 5 (C HAI NE DE M ARKOV


sorbante si et seulement si :

ABSORBANTE ).

383

Une chane de Markov est ab-

1. il y a au moins un e tat absorbant


2. de tout e tat non absorbant, on peut atteindre un e tat absorbant.

E XEMPLE 1. Par exemple, letat 4 ci-dessous...

...est un e tat absorbant. Comme on peut atteindre cet e tat depuis tous les autres, la
chane de Markov est absorbante.

1.2 Propriete

P ROPRI E T E IV : Pour toute chane de Markov absorbante et pour tout e tat de


depart, la probabilite de se trouver dans un e tat absorbant au temps t tend vers
1 lorsque t tend vers linfini.

2 Delais dabsorption et probabilite dabsorption


2.1 Presentation
Lorsque lon a affaire a` une chane de Markov absorbante, on est generalement
interesse par les deux questions suivantes :
Combien de temps faudra-t-il en moyenne pour arriver dans un e tat absorbant,
e tant donne son e tat initial ?
Sil existe plusieurs e tats absorbants, quelle est la probabilite de tomber dans un
e tat absorbant donne ?

384

2.2 Forme canonique de P


Si une chane de Markov est absorbante, on placera au debut les e tats absorbants ;
on aura alors une matrice de transition de la forme :

I O

R Q
I est une matrice unite et 0 une matrice de 0.
Dans lexemple du phospore vu precedemment,

nous avons (lordre des e tats est 4-1-2-3) :

1
0
3
1

10 5
1
P =
0

10

3
1
20 4

0
3
10
2
5
0

0
0
1
2
1
5

2.3 Matrice fondamentale


D E FINITION 6 (M ATRICE FONDAMENTALE DE LA CHAI NE ABSORBANTE ). La matrice N = (I Q)1 est appelee la matrice fondamentale de la chane absorbante.
2.4 Resultats

P ROPRI E T E V : Le nombre moyen eij de passages a` letat j (non absorbant) avant


labsorption quand on part de letat i (non absorbant) est donnee par eij = (N)ij .

385

P ROPRI E T E VI : Le nombre moyen detapes avant absorption sachant que lon


part de letat i (non absorbant) est la somme des termes de la i-`eme ligne de N.

E XEMPLE 2. Toujours dans lexemple du phosphore, on a :

Q=

3
5
1
10
3
4

3
10
2
5

0
1
2
1
5

3
10
3
5

2
5

, IQ = 1
10
34

0
21 , do`u N = (IQ)1 =
4
5

320
37
910
111
300
37

Do`u le nombre moyen detapes avant absorption en partant de letat 1 : (320 + 160
+ 100) / 37 = 15.67

P ROPRI E T E VII : Dans une chane de Markov absorbante avec P mise sous forme
canonique, le terme bij de la matrice B = NR est la probabilite dabsorption par
letat absorbant j sachant que lon part de letat i.

E XEMPLE 3. Dans lexemple du phosphore, on a :

1
10

R = 0 do`u B = NR =
1
20

320
37
910
111
300
37

160
37
640
111
150
37

100
37
400
111
140
37

1
10

1
0 = 1
1
1
20

La probabilite detre absorbe par lunique e tat absorbant est 1 quel que soit letat initial !

386

160
37
640
111
150
37

100
37
400
111
140
37

3 Exercices

Exercice 6. Considerons un joueur qui poss`ede 2 francs initialement. A` chaque e tape


du jeu il peut gagner 1 franc avec probabilite p ou perdre 1 franc avec probabilite 1-p.
Il sarrete lorsquil a gagne 4 francs ou lorsquil a tout perdu.
1. Representez cette experience par une chane de Markov.
2. Avec p = 1/3, calculez la probabilite de la ruine du joueur.
3. Avec p = 1/3, calculez la longueur moyenne dune partie.

Exercice 7. Monsieur X se rend au Salon du Livre de Rigoleville dans lespoir de


trouver enfin un exemplaire du livre de Stendhal Le Rose et le Vert. Le Salon compte
cinq stands et les organisateurs se sont amuses aux cours des annees precedentes a`
construire la matrice des probabilites de transition des visteurs dun stand a` un autre :
de a`
Stand 1 Stand 2 Stand 3 Stand 4 Stand 5
Stand 1

0,8

0,2

Stand 2

0,2

0,5

0,3

Stand 3

0,6

0,4

Stand 4

0,9

0,1

Stand 5
0,8
0
0
0,2
0
Sachant que seuls les stands 4 et 5 disposent du livre recherche et que Monsieur X
commence par visiter le stand 1, quelle est la probabilite quil ach`ete son livre au stand
4 plutot quau stand 5 (Monsieur X ach`etera le premier exemplaire quil trouvera) ?

Exercice 8. Considerons une serie de jets dune pi`ece de monnaie normale. On notera
P pour pile et F pour face.
1. Quelle est la probabilite dobtenir une sequence PFP avant une sequence PPP ?
2. Quel est le nombre de jets necessaires en moyenne pour realiser lune des deux
sequences PFP et PPP ?

387

Exercice 9 (La parade nuptiale des bourdons). Une seance daccouplement peut se
decomposer en 7 phases :
Depart (D) : mise en contact des bourdons male et des reines.
Approche (App) : un male se dirige vers la reine. Il sapproche a` courte distance. Il
est le comportement le plus frequent et souvent suivi dune recidive.
Inspection de la femelle (IF) : le male suit la reine avec ses antennes tendues vers
elle. Il inspecte souvent la reine au niveau de la tete (region o`u se trouvent
les glandes produisant les pheromones sexuelles), mais parfois au niveau de
labdomen.
Tentative daccouplement (T) : le male sapproche de la reine, il saccroche a` elle.
Il frotte de ses pattes anterieures lextremite de labdomen de la femelle. Il sort
ses genitalias (appareil reproducteur) et tente de penetrer la reine.
Accouplement (Acc) : lors de laccouplement, le comportement du male se caracterise
par des mouvements de battements des pattes sur lextremite de labdomen de la
reine.
Sortie par abandon du male (SA) : lors de la sequence de 15 minutes, le bourdon
male peut adopter un comportement indifferent vis-`a-vis de la reine ; il sort de
la parade nuptiale et ny revient jamais.
Sortie pour depassement du temps (ST) : lobservation est limitee a` 15 minutes. Apr`es
cette duree, la probabilite daccouplement peut e tre consideree comme presque
nulle.
Voici les statistiques obtenues pour 78 seances daccouplement en laboratoire :
par exemple App suivi de T = 202...
App

IF

Acc

ST SA

Total

78

78

App

614

202 87

16

927

IF

83

87

152

35

202

1. Dessinez le graphe de transitions dune parade nuptiale de bourdons.


2. Calculez les probabilites de transition dun e tat a` un autre et ajoutez-les au
graphe.
3. Donnez la matrice correspondante de la chane de Markov.
4. Adaptez votre programme simulant une chane de Markov (voir exercice 1 sur
lintroduction aux chanes de Markov) a` la situation presente. Utilisez ce programme pour simuler une parade nuptiale de bourdons.

388

5. Cette chane de Markov est une chane absorbante. Quel est le nombre moyen
detapes avant absorption ? Trouvez le resultat theoriquement et par simulation.

Fin du Chapitre

389

Sixi`eme partie
Annexes

390

Chapitre 29
Annales
I. Partiel du 22 octobre 2007 (S1)
Dire, pour chacune des assertions suivantes, si elle est vraie ou fausse (+1

pour une bonne reponse,


-1 pour une mauvaise).

Q UESTION 1 : Soit A = {{a, b, }, {c}, {d, e, f }}. Dire si les affirmations suivantes
sont justes ou fausses.
1. a A

2. {c} A

3. {d, e, f } A

4. {{a, b}} A
5. A

6. A

Q UESTION 2 : On reconsid`ere lensemble A de la question precedente. Dire si les


affirmations suivantes sont justes ou fausses.
1. P (A) contient 3 e lements
2. P (A) contient 4 e lements
3. P (A) contient 8 e lements
4. P (A) contient 64 e lements

391

Q UESTION 3 : Soit E un ensemble. On note P (E) lensemble de ses parties. Pour


tout A et B, parties de E, on definit un operateur par
(A, B) = (A B) (E \ (A B)).
On suppose que lon sait montrer que pour C et D, parties de E, on a
C (E \ D) = C \ D
On pose A = {a, b, c, d, e, f }, B = {a, c, e, g}, C = {b, d, f } et
E = A B C {h, i}
. Dire si les affirmations suivantes sont justes ou fausses.
1. Il y a quatre e lements dans (A, B)
2. (a, c) 6=

3. (b, c) contient sept e lements.

Q UESTION 4 : Dire si les affirmations suivantes sont justes ou fausses.


1. Pour tout ensemble A et B inclus dans E, (A, B) E.

2. : E E E.

3. Si A P (E) et si B P (E), (A, B) a du sens.

Q UESTION 5 : Soit A, A et B trois parties de E non vides telles que A A.


Dire si les affirmations suivantes sont justes ou fausses.
1. (A , B) peut e tre e gale a` lensemble vide meme si (A, B) 6= .

2. (A , B) (A, B).
3. (A , B) = (A, B).

Q UESTION 6 : Soit A, B et C trois parties de E non vides. Dire si les affirmations


suivantes sont justes ou fausses.
1. (A, B) = (A, C) si B = C.
2. (A, B) = (A, C) donc B = C.
392

3. (A, B) = (A, C) ssi B = C.

Q UESTION 7 : Soit t1 et t2 deux termes exprimes dans une alg`ebre de Boole munie
des operateurs classiques +, ., et .
Si t1 .t2 = 0 alors...
1. t1 = 0 et t2 = 0.
2. t1 = 0 ou t2 = 0.
3. t1 = t2 .
4. Il existe un terme k tel que t1 = k.t2 .

Q UESTION 8 : On reconsid`ere la question precedente, sauf quau lieu de t1 .t2 = 0,


on suppose que t1 + t2 = 1. Les affirmations suivantes sont-elles exactes ?
1. t1 = 1 et t2 vaut autre chose et vice versa.
2. Il existe un terme k tel que t1 = k + t2
3. t1 ou t2 vaut 1
4. t1 = t2

Q UESTION 9 : Si a et b sont des constantes et x est une variable. Lequation booleenne


ab + abx = ax + abx,
1. a une unique solution b.
2. est verifiee par b, ab, a + b.
3. admet nimporte quelle valeur de x pour solution.

Q UESTION 10 : On donne une expression E dans une alg`ebre de Boole munie des
operateurs classiques +, ., et .
La version la plus simplifiee de E = a.b + a.c + b.c + c est
1. 1
2. a
3. 0
393

4. une autre expression

Q UESTION 11 : La version la plus simplifiee de E = a(a + b)(a + c)(a + d)(a + e)


est
1. 1
2. abcde
3. 0
4. une autre expression

Q UESTION 12 : La version la plus simplifiee de E = (a + b + c)(d + ab) est


1. 1
2. 0
3. a + b + c + d
4. une autre expression

Q UESTION 13 : La version la plus simplifiee de E = a.(b + c).(a.b + ac) +


a.(b + c).a.b + a.c est
1. 1
2. 0
3. a + c
4. une autre expression

Q UESTION 14 : Soit n variables booleennes, k le nombre de mintermes et l le


nombre de maxtermes. Quelle relation existe entre k et l ?
1. k + l = 2n 1
2. k = l = 2n
3. k = l = n

394


(n)

(2)

Q UESTION 15 : Soit mi le ieme minterme a` n variables. Lexpression m0 +


(2)
(2)
(2)
m1 + m2 + m3 est e gale a`
1. 0
2. 1
(2)

3. m6

(2)

4. m0

(7)

(7)

Q UESTION 16 : Quel est lensemble des (i, j) tels que mi .mj 6= 0


1.

2. N N

3. {(i, i) | i N et i 6}

Q UESTION 17 : Soit E(x, y, z) une fonction booleenne a` trois variables x, y, z.


Si E(x, y, z) = xy.y, la forme canonique disjonctive est
1. xy + xz
2. xyz + xyz + xyz
3. une somme de 4 mintermes
4. autre chose

Q UESTION 18 : Si E(x, y, z) = z(x + y) + y, la forme canonique disjonctive est


1. xz + yz + y
2. une somme de 8 mintermes
3. une somme de 6 mintermes
4. autre chose

Q UESTION 19 : Si E(x, y, z) = x + y + x.y, la forme canonique disjonctive est


1. une somme de 2 mintermes
395

2. une somme de 4 mintermes


3. autre chose

Q UESTION 20 : Si E(x, y, z) = x + yz, la forme canonique conjonctive est


1. xyz + xyz + xyz + xyz + xyz
2. elle meme : cest dej`a en FCC
3. un produit de quatre maxtermes
4. un produit de trois maxtermes

Q UESTION 21 : Soit E(x, y) telle que la FCD de sa negation est xy + xy + xy. La


FCC de E(x, y) est alors
1. impossible a` calculer
2. x + y
3. un produit de quatre maxtermes
4. autre chose

II. Partiel du 22 octobre 2007 (S3)


Dire, pour chacune des assertions suivantes, si elle est vraie ou fausse (+1

pour une bonne reponse,


-1 pour une mauvaise).

Q UESTION 22 : Soit I = {a, b} un alphabet. Combien y a-t-il dautomates de


Moore a` 1 e tat ?
1. 0.
2. 1.
3. 2.
4. Une infinite.

396

Init

e0

b
e1

a b
b
e2

F IG . 29.1 Automate de la question 25


Q UESTION 23 : Avec le meme alphabet I = {a, b} qu`a la premi`ere question,
combien y a-t-il dautomates de Moore a` 2 e tats accessibles ?
1. 6.
2. 9.
3. 36.
4. Une autre quantite.

Q UESTION 24 : Avec le meme alphabet I = {a, b} qu`a la premi`ere question, la


liste des mots de longueur 5 contient
1. 10 e lements.
2. 25 e lements.
3. 32 e lements.
4. Un autre nombre delements.

Q UESTION 25 : Soit lautomate donne a` la figure 29.1. Quelle affirmation est fausse ?
1. Lautomate naccepte que les mots dont le nombre de b est un multiple de 3.
2. Le mot vide est reconnu par lautomate.
3. bbbaaa est reconnu par lautomate.
4. Lautomate naccepte que les mots dont la taille est un multiple de 3.

397

e0

Init1

Init1

e0

10

Init2

Init1

a, b

e0

e1

b
e1

e2
(a)

e0
1 0

b a

ba

e1

e2
(c)

(b)

a, b

ba
1

e1

(d)

Init1

e0

a
e1

a
a
e2

b
e3
(e)

F IG . 29.2 Automates de Moore ?

Q UESTION 26 : Soit lautomate donne a` la figure 29.1. Il reconnat lexpression


rationnelle...
1. (a ba ba b).
2. (a | b).(a | b).(a | b).
3. (a ba ba b) .

Q UESTION 27 : La figure 29.2 contient de nombreux automates. Repondre par vrai


ou faux a` chacune des questions suivantes.
398

e0 {e1 , e2 }

{e2 , e3 }

e1 {e3 }

{e1 }

e2 {e2 }

{e3 }

(a)

{e0 , e1 }

{e1 , e2 , e3 } {e1 , e2 , e3 }

{e1 , e2 , e3 }

{e2 , e3 }

{e1 , e3 }

{e1 , e3 }

{e3 }

{e1 }

{e2 , e3 }

{e3 }

{e2 }

{e1 }

{e3 }

{e1 }

{e3 }

{e2 }

{e2 }

{e3 }

(b)

(c)

{e0 , e1 }

{e1 , e2 , e3 } {e1 , e2 , e3 }

{e1 , e2 , e3 }

{e2 , e3 }

{e1 , e3 }

{e1 , e3 }

{e1 , e3 }

{e3 }

{e2 , e3 }

{e3 }

{e2 , e3 }

{e3 }

{e3 }

{e3 }

(d)

(e)

F IG . 29.3 Tables de transitions


1. La figure 29.2(a) est un automate de Moore.
2. La figure 29.2(b) est un automate deterministe.
3. La figure 29.2(c) est un automate de Moore.
4. La figure 29.2(d) est un automate de Moore.
5. La figure 29.2(e) est un automate de Moore.

Q UESTION 28 : Les figures 29.3 definissent des relations de transitions, et lon


consid`ere les automates associes ; ils poss`edent de plus deux e tats initiaux e0 et e1
et un e tat final e2 (pour (a), (c) et (d)), un e tat initial A et un e tat final B pour (b) et
(e).
1. (a) correspond a` un automate de Moore.
2. (b) correspond a` un automate deterministe.
399

3. (c) et (e) reconnaissent le meme langage.


4. (d) est un automate non deterministe.
5. (e) est un automate de Moore.

Q UESTION 29 : On consid`ere un automate a` 6 e tats : e0 , . . . , e5 . Son e tat initial est


e0 et son e tat final est e4 . Sa table de transition est
t

e0
e1
e2
e3
e4
e5

e0
e1
e2
e5
e4
e3

e4
e0
e4
e2
e3
e2

Soit R la relation dequivalence (reflexive, symetrique et transitive) engendree par


e0 Re2 , e1 Re3 et e3 Re5 . Quel est le nombre detats de lautomate quotient ?
1. 2.
2. 3.
3. 4.
4. 5.

Q UESTION 30 : Avec la meme table de transition et la meme relation qu`a la question precedente, repondre par vrai ou faux : R nest pas une congruence dautomate.

Q UESTION 31 : Lorsquun AFND A est defini par une relation de transition t non
deterministe, la methode du dual consiste, dans le pire des cas
1. en trois determinisations et deux inversions.
2. deux determinisations et deux inversions.
3. un nombre de quotients qui depend de R.
4. une determinisation et une inversion.

400

Init1

a
b

b
4

aa

a
b

b a
5

a
7

F IG . 29.4 Automate a` trop grand nombre detats (Question 32)

401

Init1

Init1

B
Init1

a b

e0

e3

b a
a

aa

a aa
e1

10

b
e2

(a)

11

12

(b)

(c)

F IG . 29.5 Automates reconnaissant une expression reguli`ere

Q UESTION 32 : On consid`ere lautomate donne a` la figure 29.4.


Combien lautomate minimal de Moore reconnaissant le meme langage contientil detats ?
1. 2.
2. 4.
3. 7.
4. Un autre nombre.

Q UESTION 33 : Cette question est liee a` la figure 29.5. Choisir la bonne reponse.
Lexpression reguli`ere ((aba) | (aa))
1. est reconnue par lautomate 29.5(a).
2. est reconnue par lautomate 29.5(b).
3. est reconnue par lautomate 29.5(c).
4. est reconnue par un autre automate

402

Init1

10

F IG . 29.6 Automate de Thompson


Q UESTION 34 : Cette question est liee a` lautomate A donne a` la figure 29.6. De
combien detats de A est constitue letat initial de la version sans epsilon-transition.
1. 1.
2. 3.
3. 5.
4. 6.

Q UESTION 35 : Cette question est aussi liee a` lautomate donne a` la figure 29.6.
Combien detats a la forme sans epsilon-transition qui correspond a` cet automate.
1. 6.
2. 7.
3. 10.
4. 11.

403

Q UESTION 36 : Cette question est aussi liee a` lautomate donne a` la figure 29.6.
Combien detats dacceptation a la forme sans epsilon-transition qui correspond a`
cet automate.
1. 1.
2. 3.
3. 4.
4. Un autre nombre.

Q UESTION 37 : On consid`ere lautomate :

1
0

e0
0,1

e1
0

1
e2

e3
1

et la relation binaire ei Rej si et seulement si i et j ont la meme parite.


1. R est une relation dequivalence sur E.

2. R est une congruence dautomate sur E.

3. La table de transition de lautomate quotient est


E

A = {e0 , e2 }
{e0 , e2 }
{e4 }
B = {e1 , e3 , e5 } {e1 , e3 , e5 } {e0 , e2 }
C = {e4 }
{e4 }
{e1 , e3 , e5 }
4. Le graphe de lautomate quotient est

404

0
1

1
1

1
0

5
1

405

Chapitre 30
Bibliographie
Outils mathematiques pour linformaticien, Michel Marchand [De Boeck ] : les th`emes
abordes sont proches de ce cours de mathematiques discr`etes (notre premi`ere
annee y est plus detaillee que la partie concernant automates, graphes et langages).
On y trouve des exercices, corriges, parfois repris dans ce support. Cependant, le
formalisme choisi seloigne par moment de celui adopte dans notre document,
ce qui pourrait en destabiliser certains.
Methodes mathematiques pour linformatique, Jacques Velu [Dunod ] : Reprend
une grande partie du cours de mathematiques discr`etes, et y ajoute un peu de probabilites et dalg`ebres lineaires. Contient des exercices corriges. Un peu dense
par moment, mais une bonne reference quand meme.
Le magazine Tangente : que lon trouve chaque mois chez les bons marchants de
journaux. Niveau lycee et plus. On y trouve frequemment des articles sur les
graphes, la logique, le cryptage, etc. Ludique et plaisant, pour ceux qui aiment
les mathematiques, veulent les decouvrir. Les hors-series sur la logique, sur les
codes secrets, etc. me servent a` trouver des idees de TP, ou a` enrichir le cours.
Introduction a` la logique, Francois Rivenc [Petite Biblioth`eque Payot ] : Pour un
public avertis, souhaitant e tudier plus systematiquement la logique, sous ses aspects mathematiques et philosophiques.
http ://www.apprendre-en-ligne.net/ Site de Didier Muller, sur lequel jai repris la
partie graphes. A noter une autre partie (tr`es riche, bien fournie) consacree a` la
cryptographie, et un blog tr`es interessant sur les mathematiques.

406

Chapitre 31
Programme Pedagogique National
2005 (PPN)
Voici le contenu de lUnite de Formation Mathematiques Discr`etes (TC-CCGMATH1) du PPN actuel :
Volume horaire : 70 h
Pre-requis : aucun.
Objectifs : Connatre le calcul booleen.
Calculer dans Z/nZ.
Connatre les notions de base en theorie des graphes, des langages et des automates.
Competences minimales : Mettre en uvre des schemas de raisonnement (contraposee, absurde, recurrence, etc.).
Mettre en uvre des algorithmes darithmetique (Euclide, Bezout, etc.).
Faire le lien entre langage usuel et langage formalise (propositions et predicats).
Contenu : Vocabulaire de la theorie des ensembles, relations, ensembles ordonnes.
Logique : calcul propositionnel et calcul des predicats.
Arithmetique : nombres premiers, division euclidienne, congruences.
ements de theorie des graphes : graphes orientes et non orientes.
El
ements de langages et dautomates.
El
Indications de mise en uvre : Exemples dalgorithmes de plus courts chemins, de
parcours et darbre couvrant de poids minimum.
Prolongements possibles : Exemples de raisonnement par recurrence (en liaison
avec les enseignements dalgorithmique).
Developpement des liens avec les enseignements dinformatique, en particulier (( Architectures, Syst`emes et Reseaux )) et (( Outils et Mod`eles du Genie
logiciel )) (alg`ebre relationnelle, etc.).
Chanage avant et chanage arri`ere.
Resolution dequations en nombres entiers.
407

Cryptographie (RSA, methode du (( sac a` dos )), etc.).


Codes correcteurs et codes detecteurs derreurs.

408

Index
e quivalence
de Nerode, 268
e tat
absorbant, 383
dacceptation, 253
de rejet, 253
e tat-repos, 248
alg`ebre de Boole, 106
algorithme
dEuclide, 75
generalise, 78
de Thompson, 276
anagramme, 43
antecedent, 26
antilogie, 151
appartenance, 15
application, 24
bijective, 29
injective, 26
inverse, 29
surjective, 27
arete, 298
arborescence, 340
hauteur, 341
ordonnee, 341
arbre, 325
couvrant, 337
maximal, 337
arc
critique, 376
arcs, 359
atome, 194
automate
a` pile, 281
a` e tats dacceptation, 282

configuration, 284
calcul valide, 284
derivation valide, 284
deterministe, 283
langage reconnu, 285
mot reconnu, 285
de Moore, 253
fini
a` comportement determine, 249
non deterministe, 256
axiome logique, 163
bijection, 29
bit de signe, 73
borne
inferieure, 38
superieure, 38
boucle, 298
cardinal, 31
carte, 320
connexe, 320
chane
e lementaire, 300
simple, 301
chane de Markov, 379
champ dun quantificateur, 194
chemin, 362
critique, 376
eulerien, 313
circuit, 301, 363
eulerien, 313
hamiltonien, 323
cle, 56
classe dequivalence, 42
clique, 317
409

codage de Huffman, 343


coloration
des sommets, 349
complementation, 20
composant de substitution, 221
composante fortement connexe, 364
composantes connexes
dun graphe, 304
congru, 67
congruence dautomates, 264
consequence logique, 151
consensus, 121
contraposee, 170
Corollaire de Dirac, 323
courbe elliptique, 103
crit`ere
de Pocklington, 97
cycle, 248, 301
decomposition en facteurs premiers, 61
demonstration, 163
degre
dune region, 320
exterieur, 360
interieur, 361
digraphe, 359
fortement connexe, 363
distance, 362
diviseur, 60
division euclidienne, 64
ensemble, 14
cardinal, 31
complementaire, 20
des parties, 16
fini, 31
ordonne, 35
puissance, 31
sous-, 16
totalement ordonne, 35
vide, 15
entiers naturels, 58
extremites, 298

feuilles, 325
fonction
booleenne, 111
nulle, 111
de succession, 58
referentiel, 111
fonctions booleennes e lementaires, 111
foret, 325
forme canonique
conjonctive, 117
disjonctive, 116
formes e quivalentes, 153
formes propositionnelles, 143
formule, 194
grammaire, 234
algebrique, 293
axiome, 236, 292
contextuelle, 292
de Chomsky, 292
de type 0, 292
de type 1, 292
de type 2, 293
de type 3, 293
non restreinte, 292
reguli`ere, 293
graphe, 23
biparti, 305
complet, 304
connexe, 304
eulerien, 313
hamiltonien, 323
non oriente, 298
ordre, 298
oriente, 359
partiel, 315
planaire, 303, 318
regulier, 300
simple, 301
sous-, 316
graphes
homeomorphes, 321
groupe operatoire, 188
410

groupe relationnel, 189


image, 25
inclusion, 16
indice
dun minterme, 113
injection, 27
intersection, 18
involution, 20

maximum, 37
maxterme, 111
minimum, 38
minorant, 37
minterme, 111
modulo, 67
monome, 115
monomes principaux, 123
monode libre, 291
mot reconnu
par e tat dacceptation, 285
par pile vide, 285
par symbole de sommet de pile, 285
multigraphe, 303
multiple, 60

langage, 291
alphabet, 292
langages
algebrique, 293
contextuels, 292
recursivement e numerables, 292
reguliers, 293
noeuds, 325
reconnaissables par des automates fi- nombre
nis, 293
chromatique, 349
lex`emes, 233
de stabilite, 349
loi de De Morgan, 20
premier, 60
Lukasiewicz, 342
pseudo-premier fort, 96
notation polonaise, 342
mecanisme, 248

methode de construction par sous-ensemble, operation n-aire, 188


258
ordre dun graphe, 298
machine, 247
dacceptation, 253
parcours
de Mealy, 252
en profondeur, 342
machines
partie majoree, 37
de Turing
partition, 43
deterministes, 292
PGCD, 62
non deterministes a` plusieurs bandes, plus grand commun diviseur, 62
292
plus petit commun multiple, 62
majorant, 37
PPCM, 62
matrice
predicat, 189
dadjacences, 366
principe
de non-contradiction, 135
dincidence, 307
de transition, 379
du tiers-exclu, 135
fondamentale de la chane absorbante, Principe de la numerotation de position,
385
65
matrice dincidence
principe de recurrence, 58
entrante, 365
probl`eme
du voyageur de commerce, 324
sortante, 365
411

processus stochastique
regime permanent, 381
productions, 292
proposition, 134
pseudo-premier, 70
puissance
dun ensemble, 31
du continu, 32
du denombrable, 32
quantificateur
champ, 194
universel, 191
quotient, 64
recurrence, 58
generalisee, 59
restreinte, 59
regions, 320
reunion, 18
r`egle
de disjonction des cas, 172
de reduction a` labsurde, 172
rand
dun sommet, 370
reconnue, 257
relation
antisymetrique, 34
dordre, 34
partiel, 35
totale, 35
fonctionnelle, 25
reflexive, 33
symetrique, 41
transitive, 34
relation binaire, 23
relation n-aire, 48, 189
relations n-aires
e gale, 50
e quivalentes, 50
representation
en virgule flottante, 81
reste, 64

SGBD, 51
sommet, 298
accessible, 300
adjacent, 298
critique, 376
rang, 340
sommets, 359
sous-graphe
partiel, 316
stable, 317, 349
successeur, 58
surjection, 27
symbole
de predicat, 190
non terminal, 235
relationnel, 190
terminal, 235
T-flip-flop, 249
table de transition detats, 250
tautologie, 150
test
de Lucas, 97
de Miller-Rabin, 96
theor`eme
de Bezout, 77
de Beth, 180
de completude, 181
de la contradiction, 171
de la contraposee, 170
de la deduction, 167
de Ore, 323
de substitution, 155
Kuratowski, 322
logique, 163
petit theor`eme de Fermat, 95
Theor`eme de falsification, 212
traducteur, 252
transition instantanee, 276
treillis, 40
complet, 40
unificateur
412

le plus grand, 222


variable propositionnelle, 143
w-compatible, 268
zero, 58

413

Anda mungkin juga menyukai