Christophe GUYEUX
guyeux@iut-bm.univ-fcomte.fr
21 avril 2008
13
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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 . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
230
232
233
233
233
233
234
234
235
235
235
236
238
238
238
239
240
240
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
263
263
263
264
265
268
268
269
271
271
271
274
274
275
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
295
297
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
298
298
298
298
299
301
302
303
303
303
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
304
304
305
306
307
307
308
310
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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.
2. B = {1,2,7,14}
2. B = {x N|x(2x + 3) = 14}
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...
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
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
5 Exercices
Exercice 5. Est-ce que {a} {a, b, c} ? Former la liste des parties de {a, b, c}.
Exercice 7. Quels sont les e lements de P() ? Quels sont ceux de P(P()) ?
17
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 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}
18
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}
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.
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) = ?
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.
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.
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 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.
24
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.
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
II
(C ARACT E RISATION
26
3.2 Exercices
Exercice 6. Tracez le graphe dune application qui est injective, et dune application
qui ne lest 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 .
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.
P ROPRI E T E
III
(C ARACT E RISATION
)
DE LA SURJECTIVIT E
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 .
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
6. A = N, B = N, f (x) = x(x + 1)
INVERSE ).
N OTATION : On la note f 1
29
...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.
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
P ROPRI E T 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.
32
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.
E XEMPLE 6 (E XEMPLES
(R, 6)
(P(E), )
DE RELATIONS D ORDRE ).
34
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 ?
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
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 23 ( E L E MENT
de A qui est majorant de A.
MAXIMUM ).
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 ).
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.
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
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.
D E FINITION 28 (T REILLIS
le treillis est dit complet.
COMPLET ).
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
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 14 (R ELATION
DE CONGRUENCE MODULO
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 )) ).
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 ?
P ROPRI E T E
VII
P ROPRI E T E
VIII
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).
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
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.
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}.
4 Exercices
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,
45
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 ?
46
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.
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
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).
50
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).
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 ).
51
DES PROJECTIONS )
(Ra )b = (Rb )a .
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
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].
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.
FONCTIONNELLE ).
et
R(x1 , . . . , xp , xp+1 , . . . , xq , xq+1 , . . . , xn )
si et seulement si
xp+1 = xp+1 , . . . , xq = xq
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}
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 ).
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.
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.
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
P ROPRI E T E
VI
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 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.
62
Reponse : 2346.
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
63
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).
2. m = 165 et n = 14.
Reponses : (-7,4) et (-11,11).
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.
65
2.4 Exercices
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
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,
67
1,
2}.
P ROPRI E T E XI : La relation de (( congruence modulo n )) est compatible avec laddition et la multiplication des nombres entiers.
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),
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]
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.
70
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.
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
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
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
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
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
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
1101
1110
(1011)0110
13
14
6
(-3)
(-2)
6
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.
76
3 Theor`eme de Bezout
On consid`ere deux nombres entiers strictement positifs a et b.
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
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
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)
3 Format (( double ))
s
(11 bits)
(52 bits)
4 Format (( extended ))
s
(15 bits)
83
(63 bits)
84
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
(15 bits)
(63 bits)
86
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
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.
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 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
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 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 =
93
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
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
On montre que :
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.
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 :
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
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.
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. . . ).
101
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...
102
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. . . ).
(en supposant que le discriminant = 4a3 + 27b2 nest pas nul, pour quelle ne soit
pas degeneree).
103
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).
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.
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.
Que vaut a 0 ? a 1 ?
Calculez a a et a a.
Calculez a b.
Montrez que est associative et commutative.
107
108
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.
109
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)
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 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.
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
VARIABLES ).
VARIABLES ).
abc
a + b + c.
Exercice 7. Dressez la liste des mintermes et des maxtermes pour deux variables a et
b.
(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
abc
010
m2
abc
100
m4
a+b+c
111
M7
113
E XEMPLE 7. a b c = a + b + c
P ROPRI E T E
III
(n)
(n)
= M2n 1i et Mi
(n)
= m2n 1i .
P ROPRI E T E
IV
i 6= j, alors mi
(n)
mj
=0
P ROPRI E T E
(n)
mi
=1
i=0
i=0
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 :
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.
Il existe une autre methode pour obtenir ces formes canoniques : la methode des
diagrammes.
117
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
118
H
HH ab
HH
c
H
00 01
11 10
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.
Reponse :
HH
HHabc
de
HH
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
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
00 01
11 10
Alors la negation de a + bc est dans les cases pas rouge : la FCD de f est m0 +
m2 + m3 .
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 14. abc et bcd presentent un consensus (acd), quand abc et bcd dune part,
et abc et bcd dautre part, nen presentent pas.
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.
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.
123
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.
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
126
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
bc+bd+cd
ou
cd+bd+bc
ac
ou
ab
ou
ad
(3) y1 r = 0
.
(4) r s = 0
2 Exercice
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
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 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
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.
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.
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 ?
137
P Q
Negation logique :
P Q
Implication logique :
P Q
e quivalence logique :
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 ))
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
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 ?
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.
144
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 ?
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
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
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.
148
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 .
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
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 )).
150
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))
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
F V
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.
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)
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)
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
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...
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
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
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
|= (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)
Article 5 : Tout membre qui porte une jupe est Ecossais et marie.
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 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
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.
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
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
TOLLENS ).
{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
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
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.
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
2 Hypoth`ese n
3 m.p. sur 1 , 2
Conclusion {G1 , G2 , . . . , Gn } H
Gn
H
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.
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
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)).
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
P ROPRI E T E
P ROPRI E T E
XI
(R E` GLE
DUCTION A` L ABSURDE )
DE R E
: On a
{P Q , P Q} P
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
..
.
..
.
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
..
.
..
.
i
..
.
Hypoth`ese supplementaire
..
.
H
..
.
Hypoth`ese supplementaire
..
.
A
..
.
i
i+1
i+2
..
.
Hypoth`ese supplementaire
..
.
C
A C
B
..
.
C
j+1
j+2
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
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.
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 :
10.3 Exemple
Demonstration de ((P Q) P ) P
((P Q) P ) P
P
(P Q) Q
P Q
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
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
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 :
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 ))
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.
187
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.
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
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).
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
190
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 )).
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
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 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
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
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...
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
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.
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
200
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
203
(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
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
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 .
ab
b c
a c
abc
C1
C2
C3
C4
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
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
C1
C2
C3
C4
C5
Soupirent Comprend
Ces exercices Habituelle
F acile Mal
Habituelle Comprend
Soupirent Mal
:
:
:
:
:
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.
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 }
: C7
: C8
: C9
C10
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
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.
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.
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 [].
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)
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)
(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
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.
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
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
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
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 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 )), (( ) )).
233
Affectation
toto
Addition
tutu
titi
234
E XEMPLE 3. Dans if (temps == beau), if est un symbole terminal (on trouve le mot
dans le programme).
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
< 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.
2 La grammaire du langage
< expression >
< groupe0 >
< suite0 >
< groupe1 >
< suite1 >
: :=
: :=
: :=
: :=
: :=
: :=
: :=
Il faut :
238
239
else
}
p r i n t f ( M auvais \n ) ;
p r i n t f ( M auvais \ n ) ;
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;
}
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 ) ;
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
Exercice 3. Ecrire,
en syntaxe BNF, la grammaire algebrique de toutes les expressions
rationnelles sur .
243
Reponse :
< expression >
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
: :=
x (avec x )
( < expression > | < expression > < suite > )
< expression > < suite >
< expression > < expression >
< primitive > *
< parenth`ese > *
< concatenation > *
3. ((a+) |)b c,
4. ((a b) |ca+ ).
244
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) .
245
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).
247
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 ).
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
0 0 1
T = 1 0 0
0 1 0
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
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
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
e0
e1
e2
e3
e1
e2
e3
e3
e3
e2
e2
e2
R EMARQUE 3. Une telle machine est aussi appelee traducteur (elle (( traduit )) lentree
0001001 en une sortie acbcbbc).
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.
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
e0 e1 e2
e1 e1 e2
e2 e2 e1
Letat initial est e0 et le seul e tat dacceptation est e2 .
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
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
{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
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 ?
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)...
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 .
a
e0
e1
VI. Exercices
Exercice 12. Soit = {a, b}.
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,
263
1
0
e0
0,1
e1
0
1
e2
e3
1
Cest-`a-dire si toute paire detats e quivalents modulo R est transformee par toute
entree en une paire detats e quivalents modulo R.
264
3 Ensemble quotient
Soit R une congruence dautomates sur lAFD (E, I, t).
lensemble quotient E/R.
N OTATION : On note E,
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
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
Reponses :
E
267
0
A
1
0
1
0
B
1
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 .
2 Lalgorithme
2.1 La theorie
Pour obtenir lequivalence de Nerode associee a` un automate, on dispose de lalgorithme suivant...
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.
269
a
1
2,6
1
b
a,b b
a,b
a
a
3,5
b
6
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
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
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.
272
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
10
10 11
10
10 10
11
8
8
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.
Les automates a` transitions instantanees interviennent dans lalgorithme de Thompson de construction automatique dun automate reconnaissant le langage associe a` une
expression rationnelle...
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 :
(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
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
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}.
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
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.
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,
282
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.
(e0 , w, q0 ) (e, , q)
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}.)
286
E
E
T
T
F
F
F
T
T +E
F
F T
(E)
a
b
z
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 , )
288
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.
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 .
D E FINITION 1 (L ANGAGE
SUR
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 >::= ...).
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
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 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...
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).
D E FINITION 3 (D EGR E D UN
de tous ses sommets.
GRAPHE ).
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.
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 .
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
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.
D E FINITION 9 (C YCLE ). Un circuit dont tous les sommets et toutes les aretes sont
differentes, sappelle 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.
301
5 Exercices
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 ?
302
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.
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 ).
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
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 ).
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.
P ROPRI E T E
III
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
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
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 :
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
P ROPRI E T E
309
2 1 0 1
J = 0 1 1 0
0 0 1 1
310
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
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.
D E FINITION 3 (G RAPHE
circuit eulerien.
RIEN ).
EUL E
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 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.
314
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 )}
E XEMPLE 2 (G RAPHE
PARTIEL DE
Ici,
V=V,
E={e3 , e4 , e5 }.
315
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.
DE
Ici,
V={v1 , v3 , v4 , v5 },
E={e3 , e4 , e5 }.
PARTIEL ).
PARTIEL DE
316
Ici,
V={v1 , v2 , v3 , v4 },
E={e1 , e4 }.
E XEMPLE 5 (U NE
CLIQUE DE
Ici,
V={v1 , v2 , v3 },
E={e1 , e2 , e3 }.
E XEMPLE 6 (U N
STABLE DE
Ici,
V={v1 , v4 , v5 },
E={}.
317
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.
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 :
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.
P ROPRI E T E
III
(E ULER ) :
SA+R =2
Exercice 9. Utilisez ce resultat pour prouver que K3,3 nest pas planaire.
321
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.
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.
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
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.
D E FINITION 2 (F OR E T ). Un graphe sans cycles mais non connexe est appele une
foret.
5. Chaque paire (u, v) de sommets distincts est reliee par une seule chane
simple (et le graphe est sans boucles).
P ROPRI E T E II : Tout arbre fini avec au moins deux sommets comporte au moins
deux feuilles.
4 Exercices
Indication : Recurrence.
326
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
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 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
337
1.1 Exercices
338
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
340
ARBORESCENCE ).
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,...
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
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.
2.3 Exercices
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.
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
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 %
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
R EMARQUE 1. Une coloration avec k couleurs est donc une partition de lensemble
des sommets en k stables.
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 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
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
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 ?
352
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
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
354
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.
355
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.
356
357
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.
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 :
360
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 ).
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 .
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
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.
364
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 )
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
366
0
1
A=
0
1
1
0
1
0
0
1
0
1
1
0
1
0
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
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
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
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.
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.
372
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
5 Exercices
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
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 ).
D E FINITION 2 (A RC CRITIQUE ). Un arc (i, j) est critique si ses extremites sont des
sommets critiques et dij = dj di .
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
377
Taches
Precedences
Duree [jours]
1/2
B, J
1/2
E, H, I
1/2
E, A
Peinture du plafond
H, I
Arrachage de la moquette
H, I, J
1/2
Poncage du parquet
L, F
Peinture du balcon
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
DE TRANSITION ).
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
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 ).
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 ?
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.
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
382
Beau
Beau
0.8
0.2
Beau
Mauvais
0.4
0.6
Mauvais
Beau
0.6
0.4
Mauvais
Mauvais
0.1
0.9
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.
ABSORBANTE ).
383
...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
384
I O
R Q
I est une matrice unite et 0 une matrice de 0.
Dans lexemple du phospore vu precedemment,
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
385
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.
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
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
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
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
391
2. : E E E.
2. (A , B) (A, B).
3. (A , B) = (A, B).
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 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
394
(n)
(2)
3. m6
(2)
4. m0
(7)
(7)
2. N N
3. {(i, i) | i N et i 6}
396
Init
e0
b
e1
a b
b
e2
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)
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)
e0
e1
e2
e3
e4
e5
e0
e1
e2
e5
e4
e3
e4
e0
e4
e2
e3
e2
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
401
Init1
Init1
B
Init1
a b
e0
e3
b a
a
aa
a aa
e1
10
b
e2
(a)
11
12
(b)
(c)
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
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.
1
0
e0
0,1
e1
0
1
e2
e3
1
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
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
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
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
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
413