Telechargé par Arouna M. KABORE

Mathematique-Cours-FC-pdf

publicité
Cours de mathématiques
Formation continue
Laurent Thomann
2
Table des matières
1 Algèbre de Boole
1.1 Définitions . . . . . . . . . . . . . . . . . .
1.1.1 La somme logique (OR) . . . . . .
1.1.2 Le produit logique (AND) . . . . .
1.1.3 L’inversion logique (NOT) . . . . .
1.1.4 La somme logique exclusive (XOR)
1.2 Propriétés dérivées . . . . . . . . . . . . .
1.3 Expressions booléennes . . . . . . . . . . .
1.4 Application aux circuits logiques . . . . .
1.5 Application à l’analyse d’argumentation .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
9
9
10
12
13
14
2 Statistiques
2.1 Quelques éléments de statistique descriptive . . . .
2.2 Étude et représentation d’une variable qualitative .
2.2.1 Diagramme en bâton . . . . . . . . . . . . .
2.2.2 Diagramme circulaire . . . . . . . . . . . . .
2.3 Étude et représentation d’une variable quantitative
2.3.1 Étude d’une variable à valeurs discrètes . .
2.3.2 Étude d’une variable à valeurs continues . .
2.3.3 Représentations . . . . . . . . . . . . . . . .
2.4 Régression linéaire . . . . . . . . . . . . . . . . . .
2.4.1 Introduction . . . . . . . . . . . . . . . . . .
2.4.2 Covariance . . . . . . . . . . . . . . . . . .
2.4.3 Méthode des moindres carrés . . . . . . . .
2.5 Ajustement non-linéaire . . . . . . . . . . . . . . .
2.5.1 Ajustement de la forme y = a ln x + b . . .
2.5.2 Ajustement de la forme y = bax . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
16
16
17
18
18
19
20
21
21
23
25
27
27
27
.
.
.
.
.
.
.
.
.
.
29
29
29
30
31
31
32
32
33
36
39
3 Probabilités
3.1 Dénombrement . . . . . . . . . . . . .
3.1.1 Arrangements et combinaisons
3.1.2 Combinaisons . . . . . . . . . .
3.2 Probabilités . . . . . . . . . . . . . . .
3.2.1 Expériences aléatoires . . . . .
3.2.2 Événements . . . . . . . . . . .
3.2.3 Calculs de probabilités . . . . .
3.2.4 Variables aléatoires discrètes .
3.2.5 Variables aléatoires continues .
3.3 Loi des grands nombres . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
TABLE DES MATIÈRES
3.4
3.5
Application aux intervalles de confiance . . . . . . . . . . . . . . . . . .
3.4.1 L’intervalle de confiance de la moyenne d’une loi normale quand
type est connu . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2 Intervalle de confiance pour un sondage . . . . . . . . . . . . . .
Application aux tests d’hypothèses . . . . . . . . . . . . . . . . . . . . .
3.5.1 Principes généraux des tests . . . . . . . . . . . . . . . . . . . . .
3.5.2 Test de la moyenne d’une loi normale dont l’écart-type est connu
3.5.3 Test d’une proportion . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
l’écart. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
40
40
42
43
43
44
45
4 Applications de l’arithmétique
4.1 Division euclidienne . . . . . . . . . . . . . . . . . . . . .
4.2 Crible d’Eratosthène . . . . . . . . . . . . . . . . . . . . .
4.3 Systèmes de numération . . . . . . . . . . . . . . . . . . .
4.3.1 Écriture en base décimale . . . . . . . . . . . . . .
4.3.2 Écriture en binaire . . . . . . . . . . . . . . . . . .
4.3.3 Écriture en base b . . . . . . . . . . . . . . . . . .
4.3.4 Écriture en base hexadécimale (base 16) . . . . . .
4.4 Congruences, calcul modulo n . . . . . . . . . . . . . . . .
4.5 Règles de divisibilité . . . . . . . . . . . . . . . . . . . . .
4.5.1 Divisibilité par 2 . . . . . . . . . . . . . . . . . . .
4.5.2 Divisibilité par 5 . . . . . . . . . . . . . . . . . . .
4.5.3 Divisibilité par 3 . . . . . . . . . . . . . . . . . . .
4.5.4 Divisibilité par 9 . . . . . . . . . . . . . . . . . . .
4.6 Application 1 : Génération de nombres pseudo-aléatoires .
4.7 Application 2 : Calcul de la clé d’un RIB . . . . . . . . . .
4.8 Application 3 : Vérification d’un numéro de billet en euros
4.9 Application 4 : Chiffrement affine . . . . . . . . . . . . . .
4.10 Application 5 : Cryptographie RSA . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
48
48
48
49
51
51
52
54
54
54
55
55
55
57
58
59
59
5 Systèmes linéaires
5.1 Introduction . . . . . . . . . . . . . . . . . . . . .
5.1.1 Exemple introductif . . . . . . . . . . . .
5.1.2 Équations de droites . . . . . . . . . . . .
5.1.3 Systèmes . . . . . . . . . . . . . . . . . .
5.2 Résolution par substitution . . . . . . . . . . . .
5.3 Méthode du pivot de Gauss . . . . . . . . . . . .
5.3.1 Systèmes échelonnés . . . . . . . . . . . .
5.3.2 Opérations sur les équations d’un système
5.4 Quelques rappels sur les matrices . . . . . . . . .
5.4.1 Définition . . . . . . . . . . . . . . . . . .
5.4.2 Matrices particulières . . . . . . . . . . .
5.4.3 Addition de matrices . . . . . . . . . . . .
5.4.4 Multiplication de matrices . . . . . . . . .
5.4.5 Pièges à éviter . . . . . . . . . . . . . . .
5.4.6 Matrice identité . . . . . . . . . . . . . . .
5.4.7 Inverse d’une matrice . . . . . . . . . . . .
5.4.8 Déterminant d’une matrice carrée . . . . .
5.5 Algorithme du simplexe . . . . . . . . . . . . . .
5.5.1 Résolution graphique . . . . . . . . . . . .
5.5.2 Présentation de l’algorithme du simplexe .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
65
65
65
65
66
67
67
67
69
69
69
70
70
71
72
72
73
73
74
74
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TABLE DES MATIÈRES
5.5.3
5
Complexité de l’algorithme du simplexe . . . . . . . . . . . . . . . . . . .
77
6 Graphes et arbres
6.1 Graphes orientés . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Définitions . . . . . . . . . . . . . . . . . . . . .
6.1.2 Matrice d’adjacence . . . . . . . . . . . . . . . .
6.2 Graphes non orientés . . . . . . . . . . . . . . . . . . . .
6.2.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . .
6.3 Problèmes de coloration de graphes . . . . . . . . . . . .
6.3.1 Coloration de sommets . . . . . . . . . . . . . . .
6.3.2 Coloration d’arêtes . . . . . . . . . . . . . . . . .
6.4 Arbre recouvrant de poids minimum . . . . . . . . . . .
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . .
6.4.2 Algorithme de Kruskal . . . . . . . . . . . . . . .
6.4.3 Algorithme de Prim . . . . . . . . . . . . . . . .
6.4.4 Complexité des algorithmes précédents . . . . . .
6.5 Algorithme de plus court chemin . . . . . . . . . . . . .
6.5.1 Introduction et définitions . . . . . . . . . . . . .
6.5.2 Algorithme de Bellman-Ford-Moore . . . . . . . .
6.5.3 Exemple du voyageur de commerce . . . . . . . .
6.5.4 Modélisation des problèmes de plus court chemin
6.6 Algorithme de recherche de flot maximal . . . . . . . . .
6.6.1 Présentation du problème . . . . . . . . . . . . .
6.6.2 Un exemple . . . . . . . . . . . . . . . . . . . . .
6.6.3 Algorithme de Ford-Fulkerson . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
79
79
80
81
81
82
82
84
85
85
86
88
90
91
91
91
96
98
101
101
103
104
7 Initiation aux chaînes de Markov et applications
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
7.2 Théorème de Chapman-Kolmogorov . . . . . . . . .
7.3 Comportement asymptotique des chaînes de Markov
7.4 Application à l’algorithme PageRank de Google . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
109
109
110
111
113
.
.
.
.
117
117
118
120
121
8 Tests du khi-deux
8.1 Principes des tests statistiques . . . . . . .
8.2 Quelques résultats de probabilité . . . . . .
8.3 Test d’ajustement d’une loi empirique à une
8.4 Test d’indépendance . . . . . . . . . . . . .
A Fonctions logarithme, exponentielle
A.1 Fonction logarithme . . . . . . . .
A.2 Fonction exponentielle . . . . . . .
A.3 Fonction puissance . . . . . . . . .
Références
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
loi de probabilité théorique
. . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
et puissance
123
. . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . 124
125
6
TABLE DES MATIÈRES
Chapitre 1
Algèbre de Boole
L’algèbre de Boole que l’on appelle aussi calcul booléen se trouve à l’intersection de la
logique, de l’électronique et des mathématiques. Elle s’intéresse aux opérations et aux fonctions
sur les variables logiques.
On travaillera donc sur des techniques algébriques pour résoudre des problèmes du calcul des
propositions. Son utilisation par Shannon dans les années 1930 pour fabriquer des circuits à l’aide
de relais électromagnétiques est une des étapes fondamentales dans l’invention de l’informatique.
L’algèbre de Boole ne concerne que des éléments (variables ou constantes booléennes) pouvant
prendre les valeurs 0 et 1. Ces éléments servent souvent à représenter des tensions sur des fils
(niveaux logiques) ou des conditions logiques (vrai ou faux) :
•
•
•
•
•
le courant passe / le courant ne passe pas
vrai / faux
marche / arrêt
ouvert / fermé
bas / haut
Objectif : Comprendre et savoir manier les règles de base de l’algèbre de Boole. Savoir modéliser
un problème concret à l’aide ce formalisme.
1.1
1.1.1
Définitions
La somme logique (OR)
La somme logique est définie par la table d’addition suivante :
+
0
1
0 1
0 1
1 1
Soient x et y deux variables booléennes (c’est à dire que x ∈ {0, 1} et y ∈ {0, 1}), on associe
une variable booléenne d’identificateur x+y dont les valeurs sont données par la table de vérité
suivante qui est la table de vérité de l’opérateur logique OU (en anglais OR) :
x
0
0
1
1
y
0
1
0
1
x+y
0
1
1
1
7
8
CHAPITRE 1. ALGÈBRE DE BOOLE
La somme logique possède les propriétés algébriques remarquables suivantes :
• associativité : ∀(x, y, z) ∈ {0, 1}3 ,
(x + y) + z = x + (y + z) ;
• commutativité : ∀(x, y) ∈ {0, 1}2 ,
x + y = y + x;
• élément neutre : ∀x ∈ {0, 1},
x + 0 = 0 + x = x.
Preuve : On montre seulement l’associativité. On fait un tableau de vérité, et on est amené à
étudier 23 = 8 cas :
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
x + y (x + y) + z y + z x + (y + z)
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
Les colonnes 5 et 7 sont identiques, donc on a bien l’égalité. Une autre façon de procéder est de
considérer les différents cas possibles. On suppose que x = 1, alors 1 + y = 1, puis (1 + y) + z =
1 + z = 1 = 1 + (y + z). Maintenant si x = 0, alors 0 + y = y, puis (0 + y) + z = y + z = 0 + (y + z).
Ilustration par un circuit électrique :
Il a deux interrupteurs, chacun actionné par la valeur d’une entrée. Quand l’entrée est un 1,
l’interrupteur se ferme, et le courant peut passer. Quand l’entrée est un 0, l’interrupteur s’ouvre,
et le courant ne passe pas. Ici les deux interrupteurs sont en parallèle, donc le courant peut passer
dans le circuit dès qu’un des deux interrupteurs est fermé. Si le courant passe on note 1, sinon
on note 0.
1.1.2
Le produit logique (AND)
Le produit logique est défini par la table de multiplication :
.
0
1
0 1
0 0
0 1
Soient x et y deux variables booléennes, on associe une variable booléenne d’identificateur x.y
dont les valeurs sont données par la table de vérité suivante qui est la table de vérité de l’opérateur
logique ET (en anglais AND) :
x y x.y
0 0
0
0 1
0
1 0
0
1 1
1
1.1. DÉFINITIONS
9
Le produit logique possède les propriétés algébriques remarquables suivantes :
• associativité : ∀(x, y, z) ∈ {0, 1}3 ,
• commutativité : ∀(x, y) ∈
{0, 1}2 ,
• élément neutre : ∀x ∈ {0, 1},
(x.y).z = x.(y.z) ;
x.y = y.x ;
x.1 = 1.x = x.
Ilustration par un circuit électrique :
Les règles sont les mêmes que dans le cas du OU, mais ici les deux interrupteurs sont en série.
Ainsi le courant passe dans le circuit si et seulement si les deux interrupteurs sont fermés.
1.1.3
L’inversion logique (NOT)
L’inversion est notée avec une barre et elle est définie par 0 = 1 et 1 = 0. Soit x une variable
booléenne, on associe une variable booléenne d’identificateur x dont les valeurs sont données par
la table de vérité suivante qui est la table de vérité de l’opérateur logique NON (en anglais NOT) :
x
x
0 1
1 0
Les propriétés de l’inversion logique sont les suivantes :
• ∀x ∈ {0, 1},
x + x = 1;
• ∀x ∈ {0, 1},
x.x = 0.
Ilustration par un circuit électrique :
Il y a exactement un interrupteur qui reçoit l’entrée. L’ampoule est une résistance et l’interrupteur
est situé sur une branche qui offre une résistance inférieure à celle de l’ampoule. Quand l’entrée
est un 1, i.e. que l’interrupteur se ferme, alors le courant passe surtout par la branche parallèle,
et l’ampoule s’éteint (ou luit très faiblement). Quand l’entrée est un 0, i.e. que l’interrupteur est
ouvert, alors tout le courant passe par l’ampoule, et le résultat est un 1.
1.1.4
La somme logique exclusive (XOR)
La somme logique exclusive est définie par la table d’addition suivante :
⊕
0
1
0 1
0 1
1 0
10
CHAPITRE 1. ALGÈBRE DE BOOLE
Soient x et y deux variables booléennes, on associe une variable booléenne d’identificateur
x ⊕ y dont les valeurs sont données par la table de vérité suivante qui est la table de vérité de
l’opérateur logique OU-exclusif (en anglais XOR) :
x
0
0
1
1
y
0
1
0
1
x⊕y
0
1
1
0
Le produit logique possède les propriétés algébriques remarquables suivantes :
• associativité : ∀(x, y, z) ∈ {0, 1}3 ,
• commutativité : ∀(x, y) ∈
{0, 1}2 ,
• élément neutre : ∀x ∈ {0, 1},
(x ⊕ y) ⊕ z = x ⊕ (y ⊕ z) ;
x ⊕ y = y ⊕ x;
x ⊕ 0 = 0 ⊕ x = x;
• élément symétrique : ∀x ∈ {0, 1},
x ⊕ x = 0.
Ilustration par un circuit électrique :
L’interrupteur de gauche est en position supérieure quand il reçoit un 1 et en position inférieure
quand il reçoit un 0. L’interrupteur de droite est en position inférieure quand il reçoit un 1 et en
position supérieure quand il reçoit un 0. On voit bien que le courant passe dans le circuit quand
un des deux interrupteurs reçoit un 1, et l’autre, un 0.
Exercice : Vérifier que pour tout (x, y) ∈ {0, 1}2 on a x⊕y = x.y +x.y. Ainsi la somme exclusive
peut s’obtenir à l’aide des opérations logiques élémentaires précédentes.
Pour conclure, on donne la définition suivante :
Définition 1.1
Tout ensemble muni de deux éléments particuliers 1 et 0 et des trois opérations somme,
produit et inversion logiques vérifiant toutes les propriétés énoncées précédemment est une
algèbre de Boole, souvent notée (B, +, .) avec B = {0, 1}.
1.2
Propriétés dérivées
Les propriétés suivantes sont des propriétés dérivées d’une algèbre de Boole :
• dualité : tout énoncé exprimé en fonction de + et de 0 est vrai lorsque l’on remplace +
par . et 0 par 1 ;
• unicité : les éléments neutres 0 et 1 pour la somme et le produit logiques, respectivement,
sont uniques ; l’inverse de tout élément est unique ;
• involution :
∀x ∈ {0, 1},
x=x
1.2. PROPRIÉTÉS DÉRIVÉES
11
• idempotence :
∀x ∈ {0, 1},
x+x=x
∀x ∈ {0, 1},
x.x = x
• élément absorbant :
∀x ∈ {0, 1},
x+1=1
∀x ∈ {0, 1},
x.0 = 0
• absorption :
∀(x, y) ∈ {0, 1}2 ,
x + x.y = x
∀(x, y) ∈ {0, 1}2 ,
x.(x + y) = x
(?)
• simplification :
∀(x, y) ∈ {0, 1}2 ,
x + x.y = x + y
∀(x, y) ∈ {0, 1}2 ,
x.(x + y) = x.y
• formules de De Morgan :
∀(x, y) ∈ {0, 1}2 ,
x + y = x.y
(?)
∀(x, y) ∈ {0, 1}2 ,
x.y = x + y
(?)
• distributivité du produit sur la somme :
∀(x, y, z) ∈ {0, 1}3 ,
x.(y + z) = (x.y) + (x.z)
• distributivité de la somme sur le produit :
∀(x, y, z) ∈ {0, 1}3 ,
(x + y).(x + z) = x + (y.z)
Preuve : Les démonstrations sont élémentaires. On peut soit raisonner en traitant les différents
cas possibles ou en faisant une table de vérité.
• Démontrons par exemple la propriété de simplification par disjonction de cas.
Si x = 0, alors x + x.y = 0 + 1.y = y = x + y. Si x = 1, x + x.y = 1 + 0.y = 1 = x + y.
• Démontrons par exemple les formules de De Morgan avec une table de vérité.
x
0
0
1
1
y
0
1
0
1
x+y x+y
0
1
1
0
1
0
1
0
x
1
1
0
0
y x.y
1 1
0 0
1 0
0 0
Les colonnes 4 et 7 sont identiques, donc on a bien x + y = x.y.
12
CHAPITRE 1. ALGÈBRE DE BOOLE
1.3
Expressions booléennes
Définition 1.2
Soient x1 , x2 , . . . , xn un ensemble de variables booléennes, on appelle expression booléenne
sur les variables x1 , x2 , . . . , xn toute variable exprimée à l’aide des opérations + , . et de
l’inversion.
Exemple : L’expression f (x, y, z) = (x.y + z).(y + z) est une expression booléenne.
Les propriétés des expressions booléennes sont les suivantes :
• La somme de 2 expressions booléennes est une expression booléenne ;
• le produit de 2 expressions booléennes est une expression booléenne ;
• l’inverse d’une expression booléenne est une expression booléenne.
En général, les expressions booléennes ne sont pas écrites sous forme optimale. On dispose
de plusieurs méthodes pour simplifier les expressions booléennes. Par exemple, on peut utiliser
le calcul algébrique et les propriétés vues au paragraphe précédent.
Exemple : Simplifier l’expression f (x, y, z) = (x.y + z).(y + z). On peut la développer :
f (x, y, z) = x.y.y + x.y.z + y.z + z.z = x.y + x.y.z + y.z + z = x.y + z,
en utilisant l’idempotence et l’absorption.
Une autre méthode, appelée méthode du consensus, repose sur le résultat suivant
Proposition 1.3
Soient A et B des expressions booléennes et x une variable booléenne. Alors on a l’égalité
suivante :
x.A + x.B = x.A + x.B + A.B
Le monôme A.B est appelé le consensus des deux premiers.
Preuve : On peut démontrer ce résultat à l’aide d’une table de vérité :
x A B
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
x.A + x.B A.B x.A + x.B + A.B
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
Exemple : Soit f (x, y, z) = x + x.y. Alors
f (x, y, z) = x + x.y + y
= x+y
.
(consensus)
(absorption).
1.4. APPLICATION AUX CIRCUITS LOGIQUES
13
On peut énumérer toutes les fonctions booléennes à deux variables, il y a en a 24 = 16. On
consigne le résultat dans le tableau suivant
x
0
0
1
1
y
0
1
0
1
0
0
0
0
0
1 OR NOR AND NAND x y XOR NXOR ⇔ ⇔
6
⇒ ⇐ ; :
1 0
1
0
1
1 1
0
1
0 1 1 1 0 0
1 1
0
0
1
1 0
1
0
1 0 1 0 0 1
1 1
0
0
1
0 1
1
0
0 1 0 1 1 0
1 1
0
1
0
0 0
0
1
1 0 1 1 0 0
Toutes les fonctions booléennes de ce tableau peuvent être écrites à l’aide des fonctions de
base : somme, produit et inversion (en fait l’inversion et l’une des deux autres suffisent).
Exercice : Écrire « ⇒ » à l’aide des fonctions élémentaires.
1.4
Application aux circuits logiques
L’intérêt principal est de minimiser les composants électroniques en vue de minimiser les
coûts. Les fonctions booléennes de base peuvent se réaliser par des circuits logiques combinatoires.
On utilise des portes logiques dont voici les principaux :
La porte Inverseur (ou NOT) :
La porte AND :
La porte OR :
La porte Inverseur (ou NAND) :
La porte NOR :
La porte XOR :
On peut ajouter un complémenté (une inversion) à l’aide d’un rond.
On peut donc construire un circuit réalisant une fonction définie par une expression booléenne.
Mais aussi, on peut exprimer sous forme d’une fonction booléenne un circuit logique, et ainsi
essayer de le simplifier.
Exemple : Voici un circuit et sa fonction booléenne associée
Grâce aux règles algébriques du calcul booléen, on peut simplifier les expressions obtenues.
14
CHAPITRE 1. ALGÈBRE DE BOOLE
1.5
Application à l’analyse d’argumentation
On peut utiliser l’algèbre booléenne pour analyser une argumentation.
Exemple : Un crime a été commis : André, Bernard et Claude sont suspects. Ils sont interrogés
et déclarent :
• André : Bernard est coupable et Claude est innocent.
• Bernard : Si André est coupable alors Claude aussi.
• Claude : Je suis innocent mais l’un des deux autres est coupable.
Que penser de cette affaire ?
• La première déclaration donne la fonction booléenne : P1 = B.C
• La deuxième déclaration donne la fonction booléenne : P2 = (A ⇒ C)
• La troisième déclaration donne la fonction booléenne : P3 = C.(A + B)
On est alors amené à étudier la fonction booléenne
P1 .P2 .P3 = (B.C).(A ⇒ C).(C.(A + B)).
1. Vérifier que (A ⇒ C) = A.C + A = A + C.
2. En déduire que P1 .P2 .P3 = A.B.C.
Si l’on considère que tous ont dit la vérité, alors Bernard est le meurtrier
B = 1,
A = C = 0.
Chapitre 2
Statistiques
Objectif : L’objectif de ce chapitre est d’acquérir les notions de base en statistiques. Le but est
de savoir traiter et interpréter des données.
2.1
Quelques éléments de statistique descriptive
On appelle statistique descriptive l’ensemble des méthodes et techniques mathématiques
permettant de représenter, décrire et résumer un ensemble de données.
Une population statistique est l’ensemble sur lequel on effectue des observations.
Les individus sont les éléments de la population. Pour chaque individu, on dispose d’une ou
plusieurs observations.
Une variable statistique est ce qui est observé ou mesuré sur chacun des individus d’une
population statistique. Les valeurs de la variable s’appellent modalité.
Une variable peut être :
• Quantitative : Elle exprime une quantité sur laquelle on peut faire des opérations (par
exemple : taille, âge, salaire, . . .)
• Qualitative : Elle exprime une modalité sur laquelle on ne peut pas faire d’opération
(par exemple : couleur des yeux, sexe, nationalité, . . .)
Exemple : On considère un groupe de stagiaires P1 , P2 , P3 , P4 dont on a regroupé quelques
informations :
P1
P2
P3
P4
Couleur des yeux
V
B
N
N
Sexe
H
H
F
H
Temps dans les transports
25
12
05
50
Taille
1.80
1.65
1.71
1.75
Frères et soeurs
1
2
0
1
La population est le groupe de stagiaires.
Les individus sont les stagiaires.
Les variables statistiques qualitatives sont la couleur des yeux, le sexe ; les variables quantitatives sont le temps passé dans les transports, le taille et le nombre de frères et soeurs (quantitatives
discrètes).
15
16
CHAPITRE 2. STATISTIQUES
2.2
Étude et représentation d’une variable qualitative
Soit x une variable qualitative, pouvant prendre K modalités, x1 , . . . , xK . On commence par
donner la distribution d’effectifs
Modalités
x1
x2
...
xk
...
xK
Total
Effectifs
n1
n2
...
nk
...
nK
n = n1 + · · · + nK
Fréquences
f1
f2
...
fk
...
fK
f1 + · · · + fK = 1
nk
.
n
On appelle mode, la modalité de la variable x qui a l’effectif le plus grand.
On calcule la fréquence (ou proportion) de chaque modalité par fk =
Exemple : Loi de Mendel
Un croisement entre roses rouges et blanches a donné en seconde génération des roses rouges,
roses et blanches. Sur un échantillon de taille 600, on a trouvé les résultats suivants
Couleur
Rouges
Roses
Blanches
Total
Effectifs
141
315
144
600
Fréquences
0.235
0.525
0.240
1
On s’intéresse maintenant aux représentations possibles de ces données. On va le faire sur un
exemple. Les recettes fiscales de l’État en 2015 sont de 378.6 milliards d’euros dont
• TVA (taxe sur la valeur ajoutée) : 193.3 milliards ;
• IR (impôt sur le revenu) : 75.3 milliards ;
• IS (impôt sur les sociétés) : 58.1 milliards ;
• TICPE (taxe intérieure de consommation sur les produits énergétiques) : 14 milliards ;
• Autres : 37.9 milliards.
2.2.1
Diagramme en bâton
Chaque modalité en abscisse est représentée par une barre dont la hauteur est proportionnelle
à la fréquence de la modalité. On peut mettre l’ordre que l’on veut en abscisse (il n’y a pas de
relation d’ordre naturelle entre les différentes quantités).
Calcul des fréquences de chaque impôt : TVA : 51.1 % ; IR : 19.9 % ; IS : 15.3 % ; TICPE :
3.7% ; Autres : 10.0 %.
17
0
10
20
30
40
50
2.2. ÉTUDE ET REPRÉSENTATION D’UNE VARIABLE QUALITATIVE
TVA
IR
IS
TICPE
Autres
Pour faire cette représentation, on utilise le logiciel R avec le code suivant :
x<-c(51.1, 19.9, 15.3, 3.7, 10)
barplot(x, names.arg=c("TVA", "IR", "IS", "TICPE", "Autres"))
2.2.2
Diagramme circulaire
On représente un disque et les modalités sont des secteurs. L’angle au centre est proportionnel
à la fréquence de la modalité. On appelle aussi cette représentation un diagramme camembert.
Par exemple, pour la TVA, l’angle au centre vaut 360 · 51.1
100 ≈ 184 degrés.
Recettes fiscales en France, en 2015
TVA
Autres
IR
TICPE
IS
Pour faire cette représentation, on utilise le logiciel R avec le code suivant :
slices <- c(193.3, 75.3, 58.1, 14, 37.9)
lbls <- c("TVA", "IR", "IS", "TICPE", "Autres")
pie(slices, labels = lbls, main="Recettes fiscales en France, en 2015")
18
CHAPITRE 2. STATISTIQUES
2.3
Étude et représentation d’une variable quantitative
2.3.1
Étude d’une variable à valeurs discrètes
Soit x une variable statistique prenant des valeurs discrètes. À chaque valeur xk (modalité),
pour 1 ≤ k ≤ K, correspond un effectif nk et une fréquence fk = nnk avec n = n1 + · · · + nK . On
peut consigner les résultats dans un tableau comme celui de la page 16.
On appelle classe modale, la modalité dont l’effectif est le plus élevé.
Pour étudier plus finement la variable x on introduit les notions de moyenne, de variance et
d’écart-type.
Définition 2.1
La moyenne est définie par
x=
K
K
i=1
i=1
X
1X
ni xi =
fi xi .
n
La variance est définie par
V ar(x) =
K
K
i=1
i=1
X
1X
ni (xi − x)2 =
fi (xi − x)2 .
n
L’écart-type est défini par σ(x) =
p
V ar(x).
La variance donne une idée de la dispersion de la distribution de x : plus elle est élevée, plus
les écarts entre les modalités sont grands.
Exemple : On compare deux groupes de 20 salariés.
Dans le 1er groupe, tous les salariés gagnent 1500 euros. Alors x = 1500, V ar(x) = 0 et
σ(x) = 0.
Dans le 2ème groupe,
10 salariés gagnent 2000 euros et 10 gagnent 1000 euros. Alors x = 1500,
1 P20
mais ici V ar(x) = 20 i=1 (xi − x)2 = 5002 = 250 000 et σ(x) = 500.
Une autre notion utile pour étudier la dispersion d’une distribution est la médiane :
Définition 2.2
La médiane est le nombre m séparant l’échantillon ordonné en deux parties égales.
Si l’effectif total est impair, m est défini de façon unique.
Si l’effectif total est pair, on obtient deux valeurs et on définit m comme étant la moyenne
des deux.
On note la médiane Q2 .
Exemple : Voici les notes obtenues par un groupe d’étudiants
2.3. ÉTUDE ET REPRÉSENTATION D’UNE VARIABLE QUANTITATIVE
Notes
2
4
6
8
9
10
12
14
16
18
Effectifs
2
1
1
1
1
1
3
1
1
2
19
Effectifs cumulés
2
3
4
5
6
7
10
11
12
14
Il y a 14 étudiants. On sépare l’effectif en deux et on trouve Q2 = (12 + 10)/2 = 11.
La moyenne est x = (2 · 2 + 4 + 6 + 8 + 9 + 10 + 3 · 12 + 14
√+ 16 + 2 · 18)/14 = 10.21.
La variance est V ar(x) = 26.88 et l’écart-type est σ(x) = 26.88 = 5.1.
De façon analogue on peut définir les quartiles Q1 et Q3 de sorte à ce que Q1 , Q2 et Q3
partagent la population en 4 parties égales.
Dans l’exemple précédent, Q1 = 6 et Q3 = 14.
Avec le logiciel R, on peut obtenir ces valeurs avec la commande suivante :
y <- c(2, 2, 4, 6, 8, 9, 10, 12, 12, 12, 14, 16, 18, 18)
summary(y)
1 PK
Attention, en R, la commande var fournit la quantité n−1
i=1 ni xi . Donc pour obtenir la
variance comme définie dans le cours, il faut multiplier le résultat obtenu par n−1
n .
Remarque : Quelle est la différence entre médiane et moyenne ? La médiane est moins sensible
aux valeurs extrêmes. Par exemple, en France en 2013, le salaire brut moyen était de 2200 euros
alors que le salaire médian était de 1770 euros. Commentaires ?
2.3.2
Étude d’une variable à valeurs continues
Soit x une variable statistique qui prend ses valeurs dans un intervalle [`, L]. On découpe cet
intervalle en sous-intervalles [`0 , `1 [, [`1 , `2 [, . . ., [`K−1 , `K ] et on note n1 , n2 , . . . , nK les effectifs
associés.
L’amplitude de l’intervalle [`k−1 , `k [ est le nombre ak = `k − `k−1 .
La fréquence des individus dans l’intervalle [`k−1 , `k [ est fk = nnk avec n = n1 + · · · + nK .
On a f1 + · · · + fK = 1.
La densité de fréquence des individus dans l’intervalle [`k−1 , `k [ est dk = afkk . Cette quantité
tient compte de la longueur de l’intervalle.
Intervalles
[`0 , `1 [
[`1 , `2 [
...
[`k−1 , `k [
...
[`K−1 , `K [
Amplitudes
a1
a2
...
ak
...
aK
Effectifs
n1
n2
...
nk
...
nK
Fréquences
f1
f2
...
fk
...
fK
Densités de fréquence
d1
d2
...
dk
...
dK
La classe modale est la classe dont la densité de fréquence est la plus élevée.
20
CHAPITRE 2. STATISTIQUES
Si les effectifs dans des classes sont trop faibles, on a tendance à regrouper des intervalles.
Donnons maintenant la définition de la moyenne, variance et écart-type :
Définition 2.3
La moyenne est calculée en utilisant le centre de chaque intervalle : pour 1 ≤ i ≤ K, on
pose xi = (`i +`2i−1 ) , alors
K
K
X
1X
x=
ni xi =
fi xi .
n
i=1
i=1
La variance est définie par
K
K
i=1
i=1
X
1X
ni (xi − x)2 =
fi (xi − x)2 .
V ar(x) =
n
L’écart-type est défini par σ(x) =
p
V ar(x).
Ainsi les formules sont les mêmes que dans la Définition 2.1 avec la valeur xi remplacée par
le centre de chaque intervalle.
2.3.3
Représentations
• Si la variable est quantitative discrète, on pourra faire un diagramme en bâton. Les bâtons
sont placés en abscisse au niveau de chaque valeur possible de la variable et leur hauteur est
proportionnelle à la fréquence observée.
Exemple : On reprend l’exemple des notes
1.5
0.0
0.5
1.0
Frequency
2.0
2.5
3.0
Notes du groupe
0
5
10
15
20
y
Pour faire cette représentation, on utilise le logiciel R avec le code suivant :
y <- c(2, 2, 4, 6, 8, 9, 10, 12, 12, 12, 14, 16, 18, 18)
hist(y, xlim = c(0, 20), breaks = 500, main = "Notes du groupe")
• Si la variable est quantitative continue, on pourra faire un histogramme. On représente un
rectangle pour chaque classe dont l’aire est proportionnelle à la densité de fréquence de la
classe. Si tous les intervalles ont la même longueur, on peut indifféremment choisir comme axe
des ordonnées, les effectifs, les fréquences ou les densités de fréquence. Si tous les intervalles n’ont
2.4. RÉGRESSION LINÉAIRE
21
pas la même longueur, on doit obligatoirement choisir comme axe des ordonnées les densités de
fréquence.
Exemple : On reprend l’exemple des notes, mais en regroupant les notes par classes : [0, 4],
]4, 8], . . ., ]16, 20]. Ainsi, la variable statistique x (qui donne la note d’un étudiant), est traitée
comme une variable continue.
0
1
2
Frequency
3
4
5
Notes du groupe
0
5
10
15
20
y
Pour faire cette représentation, on a utilisé le code suivant en R :
y <- c(2, 2, 4, 6, 8, 9, 10, 12, 12, 12, 14, 16, 18, 18)
hist(y, breaks = seq(0, 20, 4), main = "Notes du groupe")
2.4
Régression linéaire
La problématique est ici la suivante : on dispose de deux variables statistiques quantitatives
et on souhaite étudier s’il y a un lien entre elles.
2.4.1
Introduction
On mesure deux variables quantitatives x et y simultanément, et on veut voir si elles sont
liées : est-ce que la connaissance de x donne des informations sur y ?
On commence par résumer les observations de x et de y dans un tableau :
Population
x
y
1
x1
y1
2 ...
x2 . . .
y2 . . .
...
...
...
n
xn
yn
On représente graphiquement les points (xi , yi )1≤i≤n .
Différents cas sont possibles :
a) Les variables x et y sont liés par une relation fonctionnelle y = f (x).
Exemple : Si x est le rayon d’un disque et y son aire, alors y = πx2 .
CHAPITRE 2. STATISTIQUES
40
0
20
surface
60
80
22
1
2
3
4
5
rayon
Dans un tel cas, la variable y est entièrement déterminée par la connaissance de x.
b) Les variables x et y sont totalement indépendantes.
10
5
note
15
Exemple : Si on considère x la taille d’un étudiant et y sa note au bac, alors les variables x et y
sont a priori indépendantes.
1.60
1.65
1.70
1.75
1.80
1.85
1.90
taille
Pour faire le graphique précédent, on a utilisé le logiciel R avec le code suivant :
note <- c(2, 10, 17, 13, 8, 14, 13, 9, 15, 11, 8, 12, 16)
taille < -c(1.6, 1.7, 1.9, 1.65, 1.85, 1.85, 1.67, 1.76, 1.65, 1.81, 1.71, 1.77, 1.69)
plot(taille, note, pch = 16)
La commande pch est une option qui permet de choisir la forme des points représentés.
c) Il existe une dépendance partielle entre x et y.
Exemples : Lien entre la taille et le poids d’un humain ; hygiène de vie et espérance de vie.
Dans le cas d’une dépendance partielle, et si les points semblent plus ou moins proches
d’une droite, on essayera de faire un ajustement linéaire, i.e. (id est ≡ c’est-à-dire) de trouver la
meilleure 1 droite qui passe par le nuage de points.
Objectif : Pouvoir prédire des valeurs de y non observées.
Exemple : On dispose de la surface x (exprimée en m2 ) et du prix y (en milliers d’euros) de 5
appartements à Paris
x
20
60 90 140 160
y
250
400 600 1000 1300
1. Noter qu’il faudra aussi définir mathématiquement ce qu’on appelle la « meilleure droite ».
23
800
400
600
prix
1000
1200
2.4. RÉGRESSION LINÉAIRE
20
40
60
80
100
120
140
160
surface
à combien peut-on estimer le prix d’un appartement de 120 m2 ?
Exemple : Dans certains cas, d’autres ajustements non-linéaires sont mieux adaptés. On verra
cela au paragraphe 2.5.
2.4.2
Covariance
On considère deux variables x et y dont on a des observations (x1 , . . . , xn ) et (y1 , . . . , yn ).
On rappelle que les moyennes sont données par
n
1X
x=
xi ,
n
i=1
n
1X
y=
yi .
n
i=1
Proposition 2.4 (Formule de Koenig )
La variance peut s’écrire
n
V ar(x) =
1X
(xi − x)2 = x2 − (x)2 = σ 2 (x).
n
i=1
Preuve : On a
n
V ar(x) =
1X
(xi − x)2
n
i=1
n
X
=
1
n
=
X
1X
1 X
1
(xi )2 − 2 x
xi + (x)2
1
n
n
n
(xi )2 − 2xxi + (x)2
i=1
n
n
n
i=1
i=1
i=1
= x2 − 2(x)2 + (x)2 = x2 − (x)2 .
Une façon de mesurer le lien entre x et y est donnée par la covariance et par le coefficient de
corrélation :
Définition 2.5
On appelle covariance de x et de y la quantité
n
1X
Cov(x, y) =
(xi − x)(yi − y).
n
i=1
24
CHAPITRE 2. STATISTIQUES
Le coefficient de corrélation de x et de y est donné par
Cov(x, y)
Cov(x, y)
=
r(x, y) = p
.
σ(x)σ(y)
V ar(x)V ar(y)
Remarques :
• Cov(x, x) = V ar(x), Cov(x, y) = Cov(y, x) et r(x, y) = r(y, x) ;
• Cov(x, y) peut être positif, négatif ou nul ;
• La covariance dépend des échelles de x et y, mais le coefficient de corrélation est tel
que −1 ≤ r(x, y) ≤ 1 (il s’agit d’une versions normalisée de la covariance). Par exemple,
Cov(1000x, y) = 1000Cov(x, y) : si x est multiplié par 1000 (par changement d’unité par
exemple), il en est de même de la covariance. En revanche, r(1000x, y) = r(x, y).
Remarques :
• Ce n’est pas parce que r(x, y) est proche de 1 ou de -1 que les points sont presque
alignés.
• Ce n’est pas parce que r(x, y) est proche de 0 qu’il n’y a pas de relation entre les
variables x ou y.
Proposition 2.6 (Formule de Koenig )
La covariance peut s’écrire
n
Cov(x, y) =
1X
(xi − x)(yi − y) = xy − x · y.
n
i=1
Preuve : C’est la même preuve que pour la variance.
Exemple : On compare les notes en informatique x et en mathématiques y, d’un groupe d’étudiants :
x
y
xy
x2
y2
2
3
6
4
9
4 6 9 10 11 12 13 16 18
6 6 7
9
10 10 11 14 14
24 36 63 90 110 120 143 224 252
16 36 81 100 121 144 169 256 324
36 36 49 81 100 100 121 196 196
4
6
8
y
10
12
14
En pratique, on peut rajouter les lignes xy, x2 et y 2 , qui sont utiles pour les calculs.
5
10
x
15
2.4. RÉGRESSION LINÉAIRE
25
On trouve x = 10.1, y = 9.0 et xy = 106.8. V ar(x) = x2 − (x)2 = 125.1 − (10.1)2 = 23.09,
V ar(y) = y 2 − (y)2 = 92.4 − 92 = 11.4. Cov(x, y) = 106.8 − 10.1 · 9 = 15.9. On en déduit
r(x, y) = √
15.9
= 0.98,
23.09 · 11.4
qui est proche de 1, donc il y a une forte corrélation entre x et y.
2.4.3
Méthode des moindres carrés
Question : Comment trouver une bonne droite qui permet de relier x à y ?
Un exemple : La droite des extrêmes : c’est la droite qui passe par (x1 , y1 ) et (xn , yn ) (on
suppose ici que x1 est la plus petite valeur des (xi )1≤i≤n et que xn est la plus grande). Le
problème est que cette droite ne tient pas compte de ce qui se passe pour les autres points. De
plus cette droite est très sensible aux variations des points extrémaux, dont les valeurs ne sont
pas forcément représentatives des autres (par exemple, le prix d’un appartement / m2 ).
On cherche donc des critères mathématiques pour décider ce qu’est une bonne droite de
régression.
On considère un nuage de points (xi , yi )1≤i≤n et on considère la droite d’équation y = ax + b
que l’on suppose être la meilleure droite d’ajustement.
La valeur prédite ou prédiction de yi est ŷi = axi + b. En faisant cela on commet une
erreur, appelée résidu ei = yi − ŷi = yi − axi − b pour chacun des 1 ≤ i ≤ n. On cherche à
minimiser ces erreurs (en globalité) et on est amené à la définition suivante :
Définition 2.7
La droite des moindres carrés est celle pour laquelle la quantité
n
X
(ei )2 = (e1 )2 + (e2 )2 + · · · + (en )2 ,
i=1
est la plus petite, en faisant varier a et b.
Remarque : On minimise une somme de carrés, d’où le nom « droite des moindres carrés ».
1/2
La quantité (e1 )2 + (e2 )2 + · · · + (en )2
représente la distance verticale de la droite d’ajustement au nuage de points. On a ei = yi − ŷi = yi − axi − b, ainsi
n
X
i=1
2
(ei ) =
n
X
(yi − axi − b)2 = f (a, b).
i=1
On est ainsi amené à trouver a, b ∈ R tels que la valeur de f soit minimale. Trouver la droite des
moindres carrés est un fait un problème de recherche d’extremum.
Question : A-t-on existence et unicité de (a, b) ? La réponse est donnée par le résultat suivant.
Proposition 2.8 (Droite des moindres carrés)
La fonction f admet un unique minimum pour
Cov(x, y)
a=
, b = y − ax.
V ar(x)
La droite des moindres carrés est alors y = ax + b pour ce choix de (a, b).
26
CHAPITRE 2. STATISTIQUES
Remarques : • La formule donnant b montre que la droite des moindres carrés passe toujours
par le centre de gravité du nuage de points (x, y).
• Pour réaliser un ajustement affine de la variable x en fonction de y, il suffit d’échanger le
Cov(x, y)
rôle de x et y dans ce qui précède : x = a0 y + b0 avec a0 =
et b0 = x − a0 y.
V ar(y)
Exemple : On reprend l’exemple des notes de mathématiques et d’informatique. La droite de
15.9
Cov(x, y)
=
= 0.69 et b = 9 − 0.69 · 10.1 =
régression est donnée par y = ax + b avec a =
V ar(x)
23.09
2.03. Ainsi, la droite de régression est y = 0.69x + 2.03. Elle passe par le point moyen (10.1, 9.0).
On peut toujours calculer une régression linéaire dès lors que l’on a deux variables x et y
quantitatives, mais elle n’est pas pertinente pour autant. Un indicateur est le coefficient de
corrélation
Cov(x, y)
r(x, y) = p
.
V ar(x)V ar(y)
Si r est proche de 1 ou de -1, et que graphiquement les points semblent alignés, on
accepte la corrélation linéaire. Par ailleurs, on peut montrer que
Proposition 2.9
Le coefficient r2 (x, y) s’appelle coefficient de détermination et on a :
Pn
Pn
2
(ŷi − y)2
2
i=1
i=1 (ei )
P
r (x, y) = Pn
=
1
−
.
n
2
2
i=1 (yi − y)
i=1 (yi − y)
Soit encore
r2 (x, y) =
V ar(ŷ)
V ar(e)
=1−
.
V ar(y)
V ar(y)
Ainsi, plus ŷi est proche de yi , plus r2 est proche de 1. La quantité r2 représente la proportion
de variance totale de y expliquée par le modèle.
4
6
8
y
10
12
14
Exemple : Dans notre exemple, on a trouvé r(x, y) = 0.98 qui est très proche de 1. De plus,
graphiquement, les points semblent proche d’une droite. En conclusion on accepte le modèle
linéaire.
On trace la droite des moindres carrés et le nuage de points :
5
10
15
x
Ceci s’obtient avec le logiciel R avec le code suivant :
x <- c(2, 4, 6, 9, 10, 11, 12, 13, 16, 18)
y <- c(3, 6, 6, 7, 9, 10, 10, 11, 14, 14)
fr <- data.frame(x, y)
plot(y ∼ x, fr) ; abline(lm(y ∼ x, fr))
2.5. AJUSTEMENT NON-LINÉAIRE
2.5
27
Ajustement non-linéaire
Dans certains cas, l’ajustement n’est pas proche d’une droite, mais plutôt d’une autre fonction
(logarithme, exponentielle, . . .)
2.5.1
Ajustement de la forme y = a ln x + b
On considère deux variables x et y avec des observations (xi )1≤i≤n et (yi )1≤i≤n et on suppose
que pour tout 1 ≤ i ≤ n, on a xi > 0. À la vue des données, on cherche un modèle de régression
de la forme y = a ln x + b.
Rappel : La fonction logarithme vérifie ln (uv) = ln u + ln v pour tous u, v > 0.
On pose z = ln x ainsi que zi = ln xi et on consigne le résultat dans un tableau.
y
x
z = ln x
y1
x1
z1 = ln x1
y2
...
x2
...
z2 = ln x2 . . .
...
...
...
yn
xn
zn = ln xn
On utilise la méthode des moindres carrés pour les variables y et z. On obtient donc la droite
y = az + b avec
a=
Cov(z, y)
,
V ar(z)
b = y − az,
r(z, y) = p
Cov(z, y)
V ar(z)V ar(y)
.
Comme z = ln x, on obtient finalement y = a ln x + b.
Exemple : On dispose des données suivantes
y
x
4.2
100
4.54 4.65 4.71
200 250 280
4.2
4.3
4.4
y
4.5
4.6
4.7
On propose un modèle du type y = a ln x + b. On pose z = ln x, d’où y = az + b. On calcule
a = 0.49 et b = 1.95, soit y = 0.49z + 1.95 et finalement y = 0.49 ln x + 1.95.
100
150
200
250
x
Par ailleurs, r(z, y) = 0.99 est très proche de 1.
2.5.2
Ajustement de la forme y = bax
On cherche une relation de la forme y = bax avec y, x, a, b > 0.
Rappel : ax = ex ln a . La fonction exponentielle vérifie eu+v = eu ev et (eu )n = enu , pour tous
u, v ∈ R et n ∈ N.
En prenant le logarithme de la relation y = bax on obtient ln y = ln b + x ln a. Ainsi en posant
Y = ln y, A = ln a et B = ln b on est amené à considérer le modèle Y = Ax + B. On peut alors
faire une régression linéaire.
28
CHAPITRE 2. STATISTIQUES
Chapitre 3
Probabilités
3.1
3.1.1
Dénombrement
Arrangements et combinaisons
Définition 3.1
Soient n et p deux entiers tels que 0 < p ≤ n et E un ensemble à n éléments. Un parrangement (ou p-liste) d’éléments distincts de E est une p-liste (x1 , ..., xp ) d’éléments
de E telle que : xi 6= xj pour i 6= j.
Dans un arrangement, les éléments sont tous distincts, et l’ordre des éléments est important.
Exemple : Trois personnes P1 , P2 , P3 font la course. Les classements sont des arrangements
à 3 éléments : (P1 , P2 , P3 ), (P1 , P3 , P2 ), (P2 , P1 , P3 ), (P2 , P3 , P1 ), (P3 , P1 , P2 ), (P3 , P2 , P1 ). On
suppose maintenant qu’une quatrième personne participe à la course et que seuls les trois premiers
sont classés. Combien y-a-t-il de podiums possibles ? Énumérer tous les cas.
Rappel : On appelle cardinal le nombre d’élément d’un ensemble E. On le note cardE ou #E
ou |E|. Si l’ensemble E a un nombre infini d’éléments, on dit qu’il est de cardinal infini.
Le résultat suivant donne une formule générale pour le nombre d’arrangements :
Proposition 3.2
Si card E = n, le nombre des p-listes d’éléments distincts de E est le nombre noté Apn :
Apn = n(n − 1) · · · (n − p + 1) =
n!
.
(n − p)!
Le nombre Apn est le produit de p entiers consécutifs décroissants à partir de n.
Rappel : On appelle la factorielle d’un entier n ≥ 1, le nombre n! = n(n − 1) · · · 1. On utilise la
convention 0! = 1. Si n ≥ 1, alors (−n)! = 0 par convention.
Preuve : On a n choix pour le premier élément. Celui-ci étant fixé, on (n − 1) choix pour le
deuxième et ainsi de suite. On refait l’opération p fois, d’où le résultat.
Exemples :
• Un tiercé dans l’ordre pour une course de 15 chevaux est une 3-liste d’éléments distincts
de {1, ..., 15} : il y a donc A315 = 2730 tiercés possibles (on a supposé qu’il n’y a pas
d’ex-aequo).
• Nombre de façons de ranger trois objets distincts dans cinq tiroirs numérotés, chaque tiroir
ne pouvant recevoir qu’un objet. On peut considérer qu’un rangement possible est une
29
30
CHAPITRE 3. PROBABILITÉS
3-liste (x1 , x2 , x3 ) d’éléments distincts de {1, 2, 3, 4, 5} où xi indique le tiroir dans lequel
on a rangé l’objet i. Il y a A35 = 60 rangements possibles.
• Un numéro de téléphone de 8 chiffres peut être considéré comme une 8-liste d’éléments de
{0, ..., 9}. Il y a donc 108 numéros de téléphone possibles (100 millions).
• Nombre de façons de ranger trois objets distincts dans cinq tiroirs numérotés, chaque tiroir
pouvant recevoir un, deux ou trois objets. Un rangement possible est une 3-liste (x1 , x2 , x3 )
d’éléments de {1, . . . , 5} où xi indique le tiroir dans lequel est rangé l’objet i. Il y a 53 = 125
rangements possibles.
Définition 3.3
Une permutation de E est un arrangement à n éléments de E.
Proposition 3.4
Le nombre des permutations de E (de cardinal n) est : Ann = n!.
Exemple : Le nombre d’anagrammes du mot CASTOR est 6 !=720, un anagramme étant une
permutation des lettres C, A, S, T, O, R.
3.1.2
Combinaisons
Définition 3.5
Soit p ∈ N∗ , on appelle combinaison à p éléments d’un ensemble E toute partie de E
contenant p éléments. Dans une combinaison, les éléments sont tous distincts et leur rang est
sans importance.
Proposition 3.6
Si card E = n, le nombre de combinaisons à p éléments de E se note
Cnp
n
p
ou Cnp et l’on a :
n
1
n!
=
= Apn =
.
p
p!
(n − p)! p!
Exemples :
• Le nombre de tiercés dans le désordre dans une course de 15 chevaux est : 15
3 = 455.
• Le nombre de façons de choisir 8 cartes dans un jeu de 32 cartes est 32
8 = 10 518 300.
• Au loto, le nombre de façon de prendre au hasard 6 boules parmi 49 est de 49
6 = 13 983 816.
• Le nombre de façons de ranger trois objets identiques dans cinq tiroirs numérotés, chaque
tiroir ne pouvant recevoir qu’un objet. On peut considérer
qu’un rangement possible est
une partie de 3 éléments de {1, 2, 3, 4, 5}. Il y a 53 = 10 rangements possibles.
Définition 3.7
Soit E un ensemble. On appelle P(E) l’ensemble des parties de E : c’est l’ensemble de tous
les ensembles que l’on peut former à partir d’éléments de E.
n o
Exemple : Si E = A, B . Alors P(E) = ∅, A , B , A, B .
n o
Si E = A, B, C . Alors P(E) = ∅, A , B , C , A, B , A, C , B, C , A, B, C .
3.2. PROBABILITÉS
31
Proposition 3.8
Soit P(E) l’ensemble des parties de E. Si cardE = n, alors card[P(E)] = 2n .
Preuve : Pour tout 0 ≤ p ≤ n, il y a
Cnp
parties à p éléments de E. Ainsi card[P(E)] =
n
X
Cnp .
p=0
Maintenant, on utilise la formule du binôme de Newton : 2n = (1+1)n =
n
X
Cnp 1p 1n−p =
n
X
p=0
Cnp .
p=0
On peut alors conclure.
Rappel : Formule du binôme de Newton : Soient x, y ∈ R. Alors
(x + y)1 = x + y,
(x + y)2 = (x + y)(x + y) = x2 + 2xy + y 2 ,
(x + y)3 = (x + y)(x + y)2 = (x + y)(x2 + 2xy + y 2 ) = x3 + 3x2 y + 3xy 2 + y 3 .
De façon générale, pour n ∈ N on a
(x + y)n = Cn0 y n + Cn1 xy n−1 + Cn2 x2 y n−2 + · · · + Cnn−1 xn−1 y + Cnn xn =
n
X
Cnp xp y n−p .
(3.1)
p=0
3.2
3.2.1
Probabilités
Expériences aléatoires
Définition 3.9
Une expérience est dite aléatoire lorsqu’elle a plusieurs issues possibles dont on ne peut pas
prévoir laquelle sera réalisée. L’ensemble de toutes les issues constitue l’univers de tous les
possibles.
Exemple : Le lancer d’un dé à six faces constitue une expérience aléatoire d’issue xi pour i
allant de 1 à 6 et correspondants à la sortie de la face i du dé. Il y a donc 6 issues ou éventualités
possibles.
Définition 3.10
Soit Ω = {x1 ; x2 ; . . . ; xr } l’ensemble des issues d’une expérience aléatoire, on définit une loi
de probabilité sur Ω en associant à chaque issue xi un nombre pi tel que : pour tout entier i
tel que 0 6 pi 6 1 ; p1 + p2 + . . . + pn = 1. Le nombre pi est appelé probabilité de l’issue xi .
Proposition 3.11
On répète n fois une expérience aléatoire dont les issues sont {x1 ; x2 ; . . . ; xn } où chaque
issue xi a pour probabilité pi .
Alors les fréquences fi d’apparition des xi vérifient f1 + f2 + . . . + fr = 1 et 0 6 fi 6 1.
Si n devient grand, les fréquences se stabilisent autour de la probabilité pi : c’est la loi
des grands nombres.
La loi des grands nombres est un résultat fondamental de la théorie des probabilités.
Exemple : On jette un dé 100 fois et on note la face apparue à chaque lancer. Si le 1 apparaît 12
fois la fréquence de sortie est 12/100 = 0.12. On a f1 + f2 + . . . + f6 = 1. Si le nombre de lancers
devient grand, les fréquences se stabilisent autour de 1/6, probabilité d’apparition du 1.
Exercice : Jeter une pièce 100 fois et compter le nombre de piles et de faces.
32
CHAPITRE 3. PROBABILITÉS
Définition 3.12
Lorsque les r issues d’une expérience aléatoire ont la même probabilité p de se réaliser, on
parle de loi équirépartie ou loi uniforme. Alors p = 1r .
Exemple : pour le lancer d’un dé non truqué à six faces, chaque face ayant la même probabilité
d’apparaître, la loi est équirépartie et chaque face i a une probabilité pi d’apparaître égale à
pi = 16 .
3.2.2
Événements
Définition 3.13
Soit Ω l’univers associé à une expérience aléatoire. Toute partie de l’univers est appelé un
événement et le nombre d’issues constituant un événement A est appelé son cardinal.
L’événement ∅ est appelé événement impossible. L’événement Ω est l’événement certain.
Exemple : On lance un dé à six faces :
• « obtenir 1 ou 2 » est un événement ;
• « obtenir 7 » est l’événement impossible.
Proposition 3.14
P (∅) = 0 ; P (Ω) = 1 ; pour tout événement A, 0 6 P (A) 6 1.
3.2.3
Calculs de probabilités
Définition 3.15
Soient A et B deux événements.
• L’intersection A ∩ B (lire « A inter B » ou « A et B » ) est l’ensemble des issues qui
réalisent à la fois A et B.
• Lorsqu’aucune issue ne réalise A et B, c’est à dire A ∩ B = ∅, on dit que A et B sont
incompatibles.
• L’union A∪B (lire « A union B » ou « A ou B » ) est l’ensemble des issues qui réalisent
A ou B, c’est à dire au moins l’un des deux événements.
• L’événement A appelé événement complémentaire ou contraire de A est l’ensemble
des issues qui ne réalisent pas A.
Proposition 3.16
Soit P une loi de probabilité sur un ensemble Ω.
• Pour tous les événements A et B, on a :
P (A ∪ B) = P (A) + P (B) − P (A ∩ B).
En particulier, si A et B sont des événements incompatibles, alors
P (A ∪ B) = P (A) + P (B).
• Pour tout événement A,
P (Ā) = 1 − P (A).
3.2. PROBABILITÉS
33
Preuve : Si A et B sont incompatibles, on a A ∩ B = ∅ donc P (A ∩ B) = 0 d’où la formule. On
a Ω = A ∪ A et A ∩ A = ∅ donc A et A sont incompatibles et P (Ω) = P (A ∪ A) = P (A) + P (A).
Or P (Ω) = 1 donc 1 = P (A) + P (A) d’où P (A) = 1 − P (A).
Définition 3.17
On dit que deux événements A et B sont indépendants si
P (A ∩ B) = P (A)P (B).
Définition 3.18
On suppose que P (B) 6= 0. La probabilité conditionnelle de A sachant B est définie par
P (A|B) =
P (A ∩ B)
.
P (B)
Ainsi, si A et B sont indépendants, on a P (A|B) = P (A) : la réalisation de B ne donne pas
d’information sur la réalisation de A.
Exemple : On lance deux fois un dé (de façon indépendante) et on définit les événements :
A1 = le résultat du lancer du premier dé est pair ,
A2 = le résultat du lancer du deuxième dé est pair .
Alors les événements A1 et A2 sont indépendants.
3.2.4
Variables aléatoires discrètes
Définition 3.19
Soit Ω l’univers associé à une expérience aléatoire. Toute fonction X définie sur Ω et à valeurs
dans R,
X : Ω −→ R,
est appelée une variable aléatoire.
Définition 3.20
Soit X une variable aléatoire définie sur l’univers Ω d’une expérience aléatoire. Notons
{x1 ; x2 ; . . . ; xn } l’ensemble des valeurs de X et pi la probabilité de l’événement « X prend
la valeur xi », événement noté {X = xi }. La loi de probabilité de X est la fonction qui, à
chaque xi , associe le nombre pi = P (X = xi ).
Exemple : On dispose d’un jeu de 32 cartes. On tire une carte dans ce jeu, et on attribue à ce
tirage la valeur X calculée suivant la règle suivante :
• si la carte est un Roi, X vaut 4 points ;
• si la carte est une Dame, X vaut 3 points ;
• si la carte est un Valet, X vaut 1 point ;
• toutes les autres cartes valent 0 point.
34
CHAPITRE 3. PROBABILITÉS
La loi de X est donnée par
5
P (X = 0) = ,
8
1
P (X = 1) = ,
8
1
P (X = 3) = ,
8
1
P (X = 4) = .
8
Exemple : On lance un dé une fois et on regarde le résultat. On peut modéliser cette expérience
avec l’univers Ω = {1, 2, 3, 4, 5, 6}. On note X la v.a. qui donne le numéro de la face obtenue.
Si le dé n’est pas truqué, on a P (X = i) = 1/6 pour tout 1 ≤ i ≤ 6. La loi de probabilité ainsi
obtenue est appelée loi uniforme sur {1, 2, 3, 4, 5, 6}.
On truque le dé de façon à ce que le 1 sorte avec probabilité 1/2 et les autres faces ont la
même probabilité de sortir. Donner cette nouvelle loi de probabilité.
Définition 3.21
Soit X une variable aléatoire discrète telle que pi = P (X = xi ).
• On appelle espérance mathématique de X le nombre
E(X) = p1 x1 + · · · + pn xn =
n
X
pi xi .
i=1
• On appelle variance de X le nombre
2
2
V ar(X) = p1 (x1 − E(X)) + · · · + pn (xn − E(X)) =
n
X
pi (xi − E(X))2 .
i=1
• On appelle écart type de X et on note σ(X) le nombre σ(X) =
p
V ar(X).
Remarque : Dans le cas de la loi uniforme sur {x1 ; x2 ; . . . ; xn }, on a pi =
retrouve les formules du Chapitre 2.
1
n
pour tout i et on
Remarque : L’espérance d’une variable aléatoire donne son centre de gravité et son écart-type
donne une idée de sa dispersion (plus l’écart-type est grand, plus la variable est dispersée).
Exemple : On reprend l’exemple du jeu de cartes et on calcule :
E(X) = 0 ·
5
1
1
1
+ 1 · + 3 · + 4 · = 1.
8
8
8
8
Ainsi, un joueur gagne en moyenne 1 point.
Un joueur affronte la banque selon les règles précédentes (un point vaut un euro). Pour que
le jeu soit équitable, la mise du joueur doit être d’un euro.
Loi de Bernoulli et loi binomiale
Définition 3.22
Une expérience de Bernoulli est une expérience qui n’a que deux issues possibles, l’une appelée
« succès » qui a pour probabilité p, l’autre appelée « échec » qui a pour probabilité 1 − p.
Si X suit une loi de Bernoulli de paramètre p, et on note X ∼ B(1, p), alors
P (X = 1) = p,
On a E(X) = p et V ar(X) = p(1 − p).
P (X = 0) = 1 − p.
3.2. PROBABILITÉS
35
Définition 3.23
La loi binomiale de paramètres n et 0 ≤ p ≤ 1, notée B(n, p), est la loi de probabilité du
nombre de succès dans la répétition de n expériences de Bernoulli de paramètre p identiques
et indépendantes. Elle est définie par
P (X = k) = Cnk pk (1 − p)n−k ,
0 ≤ k ≤ n.
On a E(X) = np et V ar(X) = np(1 − p).
Remarque : On vérifie que l’on définit bien une loi de probabilité, grâce à la formule du binôme (3.1) :
n
n
X
X
n
P (X = k) =
Cnk pk (1 − p)n−k = p + (1 − p) = 1.
k=0
k=0
Exemple : On lance 2 fois un dé bien équilibré. On s’intéresse à l’apparition de la face 6, et on
note X le nombre de 6 obtenus. Chaque lancer est une expérience de Bernoulli de paramètre 1/6,
la loi de X est donc une loi binomiale B(2, 1/6). Ainsi
P (X = 0) =
25
,
36
P (X = 1) =
10
,
36
P (X = 2) =
1
.
36
Si on le lance 10 fois, alors la v.a. X donnant le nombre de 6 obtenus suit une loi binomiale B(10, 1/6), et
P (X = 0) =
5 10
,
6
k
P (X = k) = C10
1
P (X = 1) = C10
5 10−k 1 k
,
6
6
5 9 1
,
6 6
0 ≤ k ≤ 10.
Loi de Poisson
La loi de Poisson modélise des situations où l’on s’intéresse au nombre d’occurrences d’un
événement dans un laps de temps déterminé ou dans une région donnée. Par exemple :
• nombre d’appels téléphoniques qui arrivent à un standard en x minutes ;
• nombre de clients qui attendent à la caisse d’un magasin ;
• nombre de défauts de peinture par m2 sur la carrosserie d’un véhicule, . . .
Définition 3.24
La variable aléatoire X suit une loi de Poisson de paramètre λ > 0, et on note X ∼ P(λ), si
pour tout k ∈ N
λk −λ
P (X = k) =
e .
k!
On a E(X) = λ et V ar(X) = λ.
Loi des événements rares : En pratique, la loi de Poisson sert à approcher une loi binomiale
quand n est grand et p est petit, ainsi que np. Plus précisément, lorsque

 p ≤ 0.1
n ≥ 30

np < 15,
36
CHAPITRE 3. PROBABILITÉS
on peut remplacer une loi B(n, p) par une loi de Poisson P(λ) de paramètre λ = np.
Remarque : On vérifie que l’on définit bien une loi de probabilité, en utilisant la formule
+∞ k
X
λ
= eλ valable pour tout λ ∈ R.
k!
k=0
3.2.5
Variables aléatoires continues
Définition 3.25
Une variable aléatoire continue est une variable qui prend ses valeurs dans un intervalle de R.
Exemples : Les variables aléatoires suivantes sont continues :
• variable T correspondant à la taille d’une personne ;
• variable L correspondant à longueur d’un train ;
• variable A correspondant au temps d’attente à une caisse, . . .
Définition 3.26
Soit X une variable aléatoire continue.
• On appelle fonction de répartition de X la fonction définie sur R par
F (x) = P (X ≤ x).
• La fonction F est dérivable et sa dérivée f (x) = F 0 (x) est appelée densité de probabilité de X.
• Avec les notations précédentes, on a pour tous a, b ∈ R
Z
P (a ≤ X ≤ b) = F (b) − F (a) =
b
f (x)dx.
a
Remarques :
Z
• La quantité P (a ≤ X ≤ b) = F (b) − F (a) =
de f , délimitée par les abscisses x = a et x = b.
Z
f (x)dx représente l’aire sous la courbe
a
a
• La quantité P (X ≤ a) = F (a) =
domaine x ≤ a.
b
f (x)dx représente l’aire sous la courbe de f , sur le
−∞
3.2. PROBABILITÉS
37
Z
+∞
• On a toujours P (X ∈ R) =
f (x)dx = 1 (l’aire totale sous la courbe vaut 1).
−∞
Définition 3.27
Soit X une variable aléatoire continue de densité f .
• On appelle espérance mathématique de X et on note E(X) le nombre
Z +∞
xf (x)dx
E(X) =
−∞
• On appelle variance de X le nombre
Z +∞
V ar(X) =
(x − E(X))2 f (x)dx.
−∞
• On appelle écart type de X et on note σ(X) le nombre σ(X) =
p
V ar(X).
Loi normale
La loi normale (ou de Laplace-Gauss), est la loi de certains phénomènes continus qui fluctuent
autour d’une valeur moyenne m, de manière aléatoire, résultante d’un grand nombre de causes
indépendantes dont les effets s’ajoutent sans que l’un d’eux soient dominant.
Exemple : La taille d’un individu en cm, influencée par la nourriture, l’environnement, l’hérédité,
le lieu géographique, . . .
Définition 3.28
On appelle loi normale de paramètres m ∈ R et σ > 0 la loi d’une variable aléatoire
continue X prenant toutes les valeurs réelles, de densité de probabilité la fonction définie par
1 x−m 2
1
f (x) = √ e− 2 ( σ ) .
σ 2π
On note X ∼ N (m, σ).
La loi N (0, 1) est appelée loi normale centrée (m = 0) et réduite (σ = 1).
Proposition 3.29
Si une variable aléatoire X suit la loi normale N (m, σ). Alors la variable aléatoire Y = X−m
σ
suit la loi normale centrée réduite N (0, 1). En particulier, on a E(Y ) = 0 et V ar(Y ) = 1.
38
CHAPITRE 3. PROBABILITÉS
Figure 3.1 – Pour une loi normale, une majeure partie de la distribution (aire sous la courbe)
se concentre autour de m dans l’intervalle [m − 2σ, m + 2σ].
!"#$ %"#&'( )#*'+ ,#' -.'++'#+ /' !" 0"11'$ '$0 0+"% 23%"+0410'5 62 &"#$
0"-7+'( #1' '++'#+ /' #$ 0"11'$ $#+ -' %"2/$ 0"04-8 $"20 '19"+' #1' '++'#+ /'
H % #$$ *+433'$ :4# -2'# /' ;<< %-#$ =4#0> $#+ -' %"2/$ 3"?'18 &"#$ /'&'(
s
4#*3'10'+ -4 042--' /' -.79=4102--"15 @.'++'#+ '$0 /"117' %4+ H % #="& '@ q(8
9' ,#2 /"11' A
q % '#="& ! @H(! =
B41$ 1"0+' 'C'3%-'8 1"#$ /'&"1$ %+7-'&'+ #1 79=4102--"1 /' 042--'
q % '#="& ! @H(! % '#="& ! )@$=#(! % )*!+=
D-#$ *717+4-'3'108 $2 "1 $' !C' #1 $'#2- /' 9"1!419' &4-410 8 "1 /"20 /70'+E
321'+ #1' &4-'#+ 1"07' }@! F %4+02+ /' -4 04G-' /' -4 -"2 1"+34-'5 H'00' &4-'#+ F
Figure 3.2 – Exemples
de densités
de lois%4+normales
pour
(m,9'10+7'
σ) = (0, 0.5) et (2, 1.1).
#1' %+"G4G2-207
@, /.I0+' /7%4$$7$'
-'$ +74-2$402"1$ /.#1'
-"2 1"+34-'
+7/#20'5 D-#$ =4#08 "1 4&420 %+2$ % !- '0 "1 4&420 0"#&7 }@! % }!="# % #="&5
@.210'+&4--' /' 9"1!419'8 4# 12&'4# /' 9"1!419' /' # :"# '19"+' 4# $'#2/' 9"1!419' /' > '$0 /"117 %4+ A
Figure 3.3 – Pour une loi N (0, 1), on définit les quantiles
zα/2 par P (−zα/2 ≤ X ≤ zα/2 ) = 1−α,
{"} s =
q
pour 0 < α < 1.
@!
Loi exponentielle
D"#+ 9' $'#2- /' 9"1!419' '0 %"#+ #1' '++'#+ /.'$023402"1 H8 -4 042--' /'
-.79=4102--"1 /"20 I0+' /'
!
q % }@!
! '@H(! =
@' 9"10+40 4 #1' &4-'#+ /' F % !$$$$$ J#+"$5 62 &"#$ %"#&'( +'&'1/+'
-' K2-" /' %"33'$ F L5; J#+"$8 -' +7$#-040 /' 9'00' "%7+402"1 $'+4 /' U %
!$$$$ ! p !$$$$$5 B"19 &"0+' %"210 3"+0 '$0 +74-2$7 %"#+ #1 %"2/$ 3"?'1
&4-410 p % #$ K*5 H"33' &"#$ 1' 9"1142$$'( %4$ 9' %"2/$8 &"#$ /'&'( /792/'+
/' -4 $2*140#+' "# 1"1 /' 9' 9"10+40 '1 M"1902"1 /# +7$#-040 /' -.79=4102--"15 N-
La loi exponentielle permet de modéliser la durée de vie d’un composant électronique. Elle
peut aussi être utilisée pour décrire par exemple le temps écoulé entre deux coups de téléphone
O
reçus au bureau, ou le temps écoulé entre deux accidents
de voiture dans lequel un individu donné
est impliqué. Ceci se justifie par la propriété importante d’absence de mémoire (Proposition 3.31).
Définition 3.30
On appelle loi exponentielle de paramètre λ > 0 la loi d’une variable aléatoire continue X,
prenant toutes les valeurs réelles positives, de densité de probabilité la fonction définie par
f (x) =
λe−λx ,
0,
si x ≥ 0
si x < 0.
3.3. LOI DES GRANDS NOMBRES
39
Figure 3.4 – Densité d’une loi exponentielle.
On note X ∼ E(λ). On a E(X) = 1/λ et V ar(X) = 1/λ2 .
Proposition 3.31
Une variable aléatoire X de loi exponentielle est sans mémoire. Autrement dit
∀s, t ≥ 0,
P (X > s + t|X > t) = P (X > s).
Ceci s’interprète de la manière suivante : sachant le matériel en état de bon fonctionnement
au temps t, la loi de probabilité de sa durée de vie future est la même que celle de sa durée de
vie initiale. En d’autres termes, le matériel ne s’use pas.
Rappel : Si A et B sont deux événements tels que P (B) > 0, alors on définit la probabilité de
P (A ∩ B)
l’événement conditionnel « A sachant B » par P (A|B) =
.
P (B)
3.3
Loi des grands nombres
Le résultat suivant permet de donner un sens à l’intuition (voir Proposition 3.11).
Proposition 3.32
Soit (Xi )1≤i≤n une suite de variables aléatoires indépendantes et de même loi, alors
X1 + X2 + · · · + Xn
−→ E(X),
n
lorsque n −→ +∞.
Dans le résultat précédent, il faut en fait de plus supposer que E(|X|) < +∞, mais ce sera
toujours le cas dans le cadre de ce cours.
Exemple : On lance une pièce équilibrée de façon répétée. À chaque lancer, on note 1 si on
obtient Face et 0 si on obtient Pile. On pose Xi ∼ B(1/2) le résultat du ième lancer, alors la
proportion du nombre de faces au cours des n premiers lancers est
Xn =
et donc X n −→ 1/2 lorsque n −→ +∞.
X1 + X2 + · · · + Xn
,
n
40
CHAPITRE 3. PROBABILITÉS
3.4
Application aux intervalles de confiance
L’estimation ponctuelle d’un paramètre, i.e. la connaissance de la seule valeur estimée du
paramètre considéré, ne présente guère d’intérêt si on n’a aucune idée de la précision du résultat
obtenu. Aussi est-il nécessaire de compléter autant que possible cette information, soit par le
calcul de l’erreur standard, soit par la détermination, autour de la valeur estimée, d’un intervalle
dont on a de bonnes raisons de croire qu’il contient la « vraie valeur » du paramètre. Cette
dernière façon de procéder porte le nom d’estimation par intervalle.
D’une manière plus précise, supposons qu’on s’intéresse à un paramètre γ, dont on possède
un estimateur G, et qu’on s’efforce de déterminer, de part et d’autre de G, les limites G1 et G2
d’un intervalle qui a une forte probabilité de contenir γ.
Pour résoudre ce problème, on se donne un niveau de confiance, légèrement inférieur à
l’unité et égal par exemple à 0.95, 0.99 ou 0.999, soit : 1 − α = 0.95, 0.99 ou 0.999.
On détermine ensuite les limites de confiance ou limites de sécurité G1 et G2 de telle sorte
que :
P (G1 ≤ γ ≤ G2 ) = 1 − α.
L’intervalle [G1 , G2 ] est appelé intervalle de confiance. On peut affirmer que cet intervalle
contient la « vraie valeur » γ, avec un risque d’erreur dont la probabilité est précisément α,
c’est-à-dire le plus souvent 5 %, 1 % ou 0.1 %.
Généralement, on divise le risque d’erreur en deux parties égales, les limites de confiance
étant alors telles que : P (γ ≤ G1 ) = P (γ ≥ G2 ) = α/2.
3.4.1
L’intervalle de confiance de la moyenne d’une loi normale quand l’écarttype est connu
Vous vous posez la question de savoir si vous devez ou non signer un contrat pour l’acquisition
d’une cargaison contenant N cagettes de pommes (on prendra N = 100 000 dans cet exemple).
Le bénéfice (ou la perte) de cette opération dépendra du poids total de la cargaison que vous
ne connaissez pas, sauf si vous avez la possibilité de peser les 100 000 cagettes.
Si vous connaissiez le poids moyen m d’une cagette, le poids total se calculerait en faisant N × m.
Comme m est inconnu, on veut l’estimer.
L’idée est de prélever un échantillon de cette cargaison. Notons X1 , X2 , . . ., Xn les poids des
cagettes de l’échantillon à prélever (n la taille de l’échantillon) qui sont des variables aléatoires
car l’échantillon est le résultat d’un tirage aléatoire. On suppose que les variables aléatoires X1 ,
X2 , . . ., Xn suivent des lois normales N (m, σ) avec σ > 0 connu.
Pour estimer m, on prendra appui sur la moyenne X n de l’échantillon définie comme :
X1 + X2 + · · · + Xn
.
n
En utilisant ce que l’on a vu précédemment, l’espérance mathématique de X n vaut :
Xn =
E(X1 ) + E(X2 ) + · · · + E(Xn )
m + m + ··· + m
=
= m.
n
n
Cela signifie qu’en moyenne, la moyenne de l’échantillon coïncide avec la vraie moyenne m
recherchée.
E(X n ) =
3.4. APPLICATION AUX INTERVALLES DE CONFIANCE
41
La variance de X n est telle que :
Var(X n ) =
=
Var(X1 ) + Var(X2 ) + · · · + Var(Xn )
n2
2
2
σ + σ + · · · + σ2
σ2
=
.
n2
n
On peut remarquer que cette variance diminue avec la taille de l’échantillon.
En fait, on peut montrer que la loi de X n une loi normale N (m, √σn ), ce qui confirme les
résultats précédents. Ainsi, la variable aléatoire
Z=
Xn − m
√
σ/ n
suit une loi normale centrée réduite N (0, 1), d’après la Proposition 3.29.
Nous allons utiliser ce résultat pour proposer une estimation non plus ponctuelle, i.e. annoncer
le résultat donné par X n , mais plutôt un résultat sous forme d’intervalle.
Considérons Z la loi normale N (0, 1) et cherchons l’intervalle (centré) tel que les valeurs de Z
soient contenues dans cet intervalle avec une probabilité de 95%.
Cela signifie encore que la probabilité que la valeur tirée ne soit pas dans cet intervalle et 5%
ou que la probabilité de tirer une valeur trop grande (ou trop petite) est 2.5%.
!"#$% &'()&'(% *+,-"')+.-/,% +)012#-&'(%3 ,/'% /2.(,/,% 4
"
La lecture de la table de la !loi normale
nous permet de
conclure que
s
s
!"
[
#=$%
[
&
#=$%
p
'95
(=$)=
contenues dans l’intervalle [−1.96; 1.96] avec
une
probabilité
de
%.
q
q
les valeurs de Z sont
Ainsi, nous avons P (−1.96 ≤ Z ≤ 1.96) = 0.95, soit encore :
5(..( 6(#,-$#( 1&'+.-/, %-0,-!( &'( )7-,.(#8+))( 9+)1+./-#(: 4
X n − m#@sq$ >
√ ≤ 1.96) = 0.95.
P (−1.96 ≤ [ ! #=$%
σ/ n
;/,.-(,. )+ 8#+-( 8+)('# p +8(; ',( "#/2+2-)-.1 6( $)*<
Après quelques ='""/%/,%
manipulations
algébriques,
on obtient
&'( )( "/-6%
*/>(, .#/'81
6+,% ', :1;?+,.-))/, 6( .+-))( q ' #((
;+0(..(% "#1)181(% +)1+./-#(*(,. %/-. { ' #(=% @0< A/'% %'""/%(#/,% &'( σ
σ
(%. ;/,,'P(.(X
8+'.
' +nj< =-,/,3 ;/**( /, %'""/%( &'( )71;?+,.-))/, (%.
n − 1.96 √ ≤ m ≤ X n + 1.96 √ ) = 0.95.
n
n )71;+#.B.>"( v (%.-*1
%'!%+**(,. 0#+,63 -) (%. +;;(".+2)(
6( #(*")+;(# "+#
(. ;+);')1 C "+#.-# 6(% 6/,,1(% 6(s)71;?+,.-))/,< D7+"#$% )(% #1%'.+.% */,.#1%
Cette dernière
équation
signifie{ que
l’intervalle
(aléatoire)
: )$ *+"!'"*$ "/'# )+
;-B6(%%'%3
)7-,.(#8+))(
! #=$%
,@ q-3 +""())1
!"#$%&'(($
*/>(,,( p +' "!&$', )$ *+"!'"*$ 6( $)*3 ;/,.-(,. )+ 8#+-( */>(,,( p +8(; ',(
"#/2+2-)-.1 6( $)*< E+ "#/2+2-)-.1 &'( ;(. -,.(#8+))( ,( ;/,.-(,,( "+% )+ 8#-+(
s
8+)('#3 -;- )*3 %7+""())( )( -$,!( )$ *+"!'"*$< F) (%. ;)+-# &'( H ' #=$% ,@ q%7-,.(#"#$.( ;/**( )7(##('# 67(%.-*+.-/,<
D+,% ,/.#( (G(*")(3 /, + 4
% s &
#(=% ! #=$% +@ #(( ' #(=% ! (=).. ' /#(=(#0> ##=#..1
42
CHAPITRE 3. PROBABILITÉS
h
σ
σ i
X n − 1.96 √ ; X n + 1.96 √ ,
n
n
contient la vraie valeur m avec une probabilité de 95%.
Application numérique : Supposons que le poids moyen trouvé dans un échantillon de taille
n = 100 cagettes prélevées aléatoirement soit xn = 10.6 kg (c’est la valeur observée de X n ). On
suppose que σ = 3 kg, alors on obtient l’intervalle de confiance au risque α = 0.05 (on dit aussi
au niveau 95%)
σ
σ xn − 1.96 √ ; xn + 1.96 √ = [10.01; 11.19].
n
n
Autrement dit, on a 95% de chances que le poids moyen soit compris entre 10.01 kg et 11.19 kg.
3.4.2
Intervalle de confiance pour un sondage
On fait un sondage avant une élection, il y a deux candidats, A et B. On interroge un
échantillon de la population totale (que l’on suppose grande par rapport à l’échantillon), et on
suppose que cet échantillon est représentatif de l’ensemble de la population.
• n est taille de l’échantillon.
• X est la v.a. qui donne le nombre d’individus de l’échantillon votant pour le candidat A.
• p est la proportion d’individus de la population totale votant pour le candidat A.
La proportion p est inconnue et on souhaite obtenir un intervalle de confiance pour cette
quantité.
Le sondage donne une proportion pn en faveur du candidat A. Avec le théorème central
limite (non vu dans ce cours), on peut montrer que la v.a.
X
qn
−p
pn (1−pn )
n
suit approximativement une loi normale centrée réduite.
Soit Z ,→ N (0, 1), 0 < α < 1 et zα/2 le quantile associé :
P (−zα/2 ≤ Z ≤ zα/2 ) = 1 − α,
donc
X
P (−zα/2 ≤ q n
−p
pn (1−pn )
n
≤ zα/2 ) ≈ 1 − α,
qui donne
P p∈
hX
n
r
− zα/2
pn (1 − pn ) X
,
+ zα/2
n
n
r
pn (1 − pn ) i
≈ 1 − α.
n
En conclusion,
r
pn (1 − pn )
pn − zα/2
, pn + zα/2
n
et un intervalle de confiance de p au niveau 1 − α.
h
r
pn (1 − pn ) i
,
n
Application numérique : On interroge 1000 personnes et 520 votent pour A. Donner un intervalle de confiance au risque α = 0.05 (5%) pour p. Ici zα/2 = 1.96, n = 1000, pn = 0.52.
3.5. APPLICATION AUX TESTS D’HYPOTHÈSES
43
Ainsi la formule précédente donne l’intervalle [0.49, 0.55]. Autrement dit, on a 95% de chances
que le résultat de A après l’élection soit dans cette intervalle. On remarque que l’on a une marge
d’erreur de ±3%.
Si l’on veut une marge d’erreur de ±1%, il faut interroger 9000 personnes. Évidemment un
tel sondage est beaucoup plus long et compliqué à réaliser donc plus coûteux.
3.5
Application aux tests d’hypothèses
Les tests d’hypothèses servent à vérifier certaines caractéristiques d’une population donnée.
3.5.1
Principes généraux des tests
1. On commence par énoncer une hypothèse à tester, appelée hypothèse nulle, notée H0 . On
note H1 l’hypothèse alternative.
2. On suppose que H0 est vérifiée et l’on compare cette hypothèse avec les caractéristiques du
système. Si l’on observe un écart important, on rejette l’hypothèse H0 (et on accepte H1 ),
sinon on ne la rejette pas.
Exemple : Soit X ∼ N (m, 1) et soient X1 , . . ., Xn iid de même loi que X. On considère les
hypothèses
H0 : m = 0
H1 : m 6= 0.
P
À partir des observations, on calcule la moyenne empirique xn = ( ni=1 xi )/n qui est une approximation de m quand n est grand.
• Si |xn | est grand on a tendance à rejeter H0 .
• Si |xn | est proche de 0, on a tendance à ne pas rejeter H0 .
Question : Comment quantifier cela ? On verra cela dans le paragraphe suivant.
À l’issue du test on quatre possibilités :
Cas favorables :
• On ne rejette pas H0 sachant que H0 est vraie.
• On rejette H0 sachant que H1 est vraie.
Cas défavorables :
• On rejette H0 sachant que H0 est vraie. C’est ce que l’on appelle le risque de 1ère
espèce : α = P (Rejet H0 | H0 ). C’est le pire des cas, on veut minimiser ce risque.
• On ne rejette pas H0 sachant que H1 est vraie. C’est le risque de 2ème espèce :
β = P (Non rejet H0 | H1 ).
Remarque : Si l’on diminue α, on a tendance à augmenter β. Une façon d’obtenir α = 0 est de
systématiquement accepter H0 , ce qui n’est pas satisfaisant.
Le choix des hypothèses H0 et H1 n’est pas symétrique. On a une préférence pour l’hypothèse H0 .
Exemple : On considère les hypothèses suivantes
H0 : « La personne jugée est innocente »
H1 : « La personne jugée est coupable ».
44
CHAPITRE 3. PROBABILITÉS
Le risque de 1ère espèce α est la probabilité de mettre un innocent en prison. Le risque de 2ème
espèce β est la probabilité de laisser un coupable en liberté.
Dans un état de droit, on préfère rendre α le plus petit possible, quitte à augmenter β. Ainsi
les rôles de H0 et de H1 ne sont pas symétriques.
Exemple : On étudie le diagnostic d’une maladie grave :
• Décider que le patient est malade à tort entraîne des traitements désagréables.
• Décider que le patient n’est pas malade à tort est encore plus grave.
Ici il vaut mieux poser
H0 : « Le patient est malade »
H1 : « Le patient est sain ».
Rejeter H0 est quelque chose de définitif. Avant de valider définitivement l’hypothèse H0 , on
effectue différents tests. C’est pour cela que l’on dit « on ne rejette pas H0 » plutôt que « on
valide H0 ».
3.5.2
Test de la moyenne d’une loi normale dont l’écart-type est connu
On suppose qu’une population admet un caractère qui suit une loi X normale N (m, σ) avec σ
n
connu et m inconnu. On effectue une série de n mesures de X. Soit X n = X1 +···+X
la moyenne
n
σ
√
des mesures de X. On peut montrer que la v.a. X n suit une loi normale N (m, n ).
On se donne m0 et on veut tester les hypothèses
H0 : m = m0
H1 : m 6= m0 .
Mise en place du test : On se fixe un risque α. Sous l’hypothèse H0 , X n suit une loi normale
N (m0 , √σn ) et on a
σ
σ ≈ 1 − α.
P m0 ∈ X n − zα/2 √ ; X n + zα/2 √
n
n
À partir des observations dont on dispose, on calcule la statistique xn et
• si m0 ∈ xn − zα/2 √σn ; xn + zα/2 √σn , on ne rejette pas l’hypothèse H0 .
• si m0 ∈
/ xn − zα/2 √σn ; xn + zα/2 √σn , on rejette l’hypothèse H0 .
Étude du risque de 1ère espèce : Dans ce test, α est le risque de première espèce : c’est la
probabilité de rejeter H0 à tort. En effet, lorsque X suit une loi N (m0 , σ)
σ
σ α = P m0 ∈
/ X n − zα/2 √ ; X n + zα/2 √
.
n
n
Étude du risque de 2ème espèce : C’est la probabilité β d’accepter H0 à tort. Ce risque est
difficile à calculer ici.
Exemple : On reprend l’exemple des pommes du Paragraphe 3.4.1 avec les données n = 100,
xn = 10.6, σ = 3. On va tester les hypothèses
H0 : m = 9.9 kg
H1 : m 6= 9.9 kg ,
3.5. APPLICATION AUX TESTS D’HYPOTHÈSES
45
Si α = 0.05, on obtient l’intervalle de confiance [10.01; 11.19]. Comme 9.9 ∈
/ [10.01; 11.19], on
rejette H0 .
Si α = 0.01, on utilise que zα/2 = 2.58, on obtient l’intervalle de confiance [9.83; 11.37].
Comme 9.9 ∈ [9.83; 11.37], on ne rejette pas H0 .
Si α diminue, on augmente la taille de l’intervalle de confiance, on rejette moins souvent H0
et on augmente le risque de second espèce β.
3.5.3
Test d’une proportion
On reprend les mêmes caractéristiques et notations que dans l’estimation d’une proportion.
On se donne ph ∈]0, 1[ et on veut tester les hypothèses
H0 : p = ph
H1 : p 6= ph .
Mise en place d’un test de risque de première espèce α : On se fixe un risque α. Sous
l’hypothèse H0 , on a
r
r
hX
ph (1 − ph ) X
ph (1 − ph ) i
P p∈
− zα/2
,
+ zα/2
≈ 1 − α.
n
n
n
n
À partir des observations dont on dispose, on calcule la statistique pn
q
q
i
h
ph (1−ph )
h)
,
p
+
z
, on ne rejette pas l’hypothèse H0 .
• si ph ∈ pn − zα/2 ph (1−p
n
α/2
n
n
q
q
h
i
ph (1−ph )
h)
• si ph ∈ pn − zα/2 ph (1−p
,
p
+
z
, on rejette l’hypothèse H0 .
n
α/2
n
n
Application numérique : Soit p (inconnu) la proportion de la population totale votant pour A.
On fait un sondage de 1000 personnes et on obtient que 520 votent pour A. On veut tester les
hypothèses
H0 : p = 0.5
H1 : p 6= 0.5.
Ici n = 1000 et pn = 0.52. Au risque α = 0.5 on trouve l’intervalle de confiance pour p qui
est [0.49, 0.55]. Comme p ∈ [0.49, 0.55], on ne rejette pas l’hypothèse H0 .
46
CHAPITRE 3. PROBABILITÉS
Chapitre 4
Applications de l’arithmétique
Rappels : On note N = {0, 1, . . . , n, . . .} l’ensemble des entiers naturels.
On note Z = {. . . , −2, −1, 0, 1, . . . , n, . . .} l’ensemble des entiers relatifs.
4.1
Division euclidienne
Théorème 4.1 (Division euclidienne)
Soient a et b deux éléments de Z avec b > 0. Alors il existe un unique couple (q, r) ∈ Z2
vérifiant
a = bq + r, 0 ≤ r < b.
On dit que q est le quotient et que r est le reste de la division euclidienne de a par b.
Si r = 0 on dit que a est divisible par b (b divise a) et on note b|a.
Exemples : Division euclidienne de 17 par 5 : on a 17 = 5 · 3 + 2. Donc q = 3 et r = 2.
Division euclidienne de −17 par 5 : on a −17 = 5 · (−4) + 3. Donc q = −4 et r = 3.
Définition 4.2
On dit qu’un entier p est premier s’il n’admet par d’autre diviseur que 1 et lui-même
Remarques : Les entiers 2, 3, 5, 7, 11, . . . , 97, . . . sont premiers. Le nombre 1 n’est pas premier.
Il existe une infinité de nombres premiers. Bien qu’on ne connaisse pas de formule simple pour
en générer, on sait en construire de très grands. On sait également facilement tester si un nombre
(même très grand) est premier ou non.
Il est commode de chercher des grands nombres premiers sous la forme Mn = 2n − 1. Ces
nombres s’appellent nombres de Mersenne. Le 7 janvier 2016, il a été confirmé que Mn pour
n = 74 207 281 était premier ; ce nombre a 22 338 618 chiffres en base 10. C’était à cette date le
plus grand nombre premier connu.
Proposition 4.3 (Lemme d’Euclide, ≈ 300 avant JC )
Si p est premier et p|ab, alors p|a ou p|b.
On peut montrer que tout entier naturel peut se décomposer en produit de nombre premiers.
Par exemple : 150 = 2 · 3 · 52 . Une telle décomposition est unique, à l’ordre près des facteurs. De
ce point de vue, les nombres premiers servent de briques de base de la théorie des nombres.
Proposition 4.4
Il existe une infinité de nombres premiers.
47
48
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
Preuve : Par l’absurde, supposons qu’il n’y ait qu’un nombre fini de nombres premiers. Notonsles p1 = 2, p2 = 3, p3 , . . . , pn . Soit N = p1 · p2 · · · pn + 1 et soit p un diviseur premier de N .
Alors d’une part p est l’un des entiers pi donc p|(p1 · p2 · · · pn ). D’autre part p|N donc p divise la
différence N − p1 · p2 · · · pn = 1. Cela implique que p = 1, ce qui contredit que p soit un nombre
premier.
Exemple : On considère le nombre n = 101 000 000 qui a plus d’un million de chiffres et soit
N = n! + 1. Alors soit N est premier, soit il a un diviseur premier qui a plus d’un million de
chiffres. En effet, pour tout p ≤ n, le nombre p ne divise pas N .
4.2
Crible d’Eratosthène
Comment trouver les nombres premiers ? On commence par le nombre premier 2 et on supprime tous ses multiples. Le premier nombre non barré est premier, et on recommence. Cette
méthode s’appelle le crible d’Eratosthène.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
2
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
2 3
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
2 3 4 5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
2 3 4 5 6 7
13
12 8 9 10 11
19
18 14 15 16 17
√
20 21 22 23
Si un nombre n n’est pas premier alors un de ses facteurs est inférieur ou égal à
24 25
n.
Exemple : Pour tester si un nombre inférieur à 100 est premier il suffit de tester les diviseurs
plus petits que 10. Il suffit même de tester la divisibilité par 2, 3, 5 et 7 (les nombres premiers
plus petits que 10). Le nombre 89 n’est pas divisible par 2, 3, 5, 7, c’est un nombre premier.
Définition 4.5
On appelle plus grand commun diviseur (pgcd) de deux entiers non nuls n, m ∈ N? , le
plus grand entier qui divise simultanément ces deux entiers. On le note n ∧ m ou pgcd(n, m).
On dit que deux entiers n, m ∈ Z sont premiers entre eux, et on note n ∧ m = 1, s’ils n’ont
pas de diviseur commun.
Exemples : On a 20 ∧ 3 = 1 ; 14 ∧ 21 = 7.
4.3
4.3.1
Systèmes de numération
Écriture en base décimale
Un nombre entier s’écrit
N=
n
X
k=0
ak 10k = an · 10n + · · · + a1 · 10 + a0 = an an−1 . . . a1 a0 ,
4.3. SYSTÈMES DE NUMÉRATION
49
avec pour tout 0 ≤ k ≤ n, ai ∈ {0, 9}. Cette écriture est unique, appelée écriture en base
décimale.
Plus généralement, tout nombre réel x peut peut s’écrire
x=
n
X
ak 10k ,
k=−∞
avec pour tout 0 ≤ k ≤ n, ak ∈ {0, 9}.
Exemple : 1204.35 = 1 · 103 + 2 · 102 + 0 · 101 + 4 · 100 + 3 · 10−1 + 5 · 10−2 .
4.3.2
Écriture en binaire
L’architecture matérielle des systèmes informatiques actuels est basée sur des phénomènes
physiques à deux états :
• le courant passe / le courant ne passe pas,
• chargé / non chargé,
• position haute / position basse (ou autres directions),
Par convention, on représentera un de ces états par un 0, et l’autre par un 1. Grâce à ces
deux valeurs, en comptant en base 2, on peut représenter tous les entiers et les nombres réels
avec une certaine précision.
Définition 4.6
Un nombre entier N s’écrit de façon unique
N=
n
X
ak 2k = an · 2n + · · · + a1 · 2 + a0 = (an an−1 . . . a1 a0 )2 ,
k=0
avec pour tout 0 ≤ k ≤ n, ak ∈ {0, 1}. Ceci est l’écriture en base deux ou écriture en
binaire.
Lorsqu’il n’y a pas d’ambiguité, on peut simplifier l’écriture :
(an an−1 . . . a1 a0 )2 = an an−1 . . . a1 a0 .
Exemple : Calculons l’écriture binaire du nombre 2395. Pour cela procédons par divisions euclidiennes successives jusqu’à obtenir un quotient plus petit que 2
2395 = 2 · 1197 + 1
1197 = 2 · 598 + 1
598 = 2 · 299 + 0
299 = 2 · 149 + 1
149 = 2 · 74 + 1
74 = 2 · 37 + 0
37 = 2 · 18 + 1
18 = 2 · 9 + 0
9 = 2·4+1
4 = 2·2+0
2 = 2·1+0
1 = 2·0+1
50
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
L’écriture binaire du nombre 2395 est donc 1001 0101 1011. À partir de l’écriture en binaire on
retrouve l’écriture en base décimale
1 · 211 + 0 · 210 + 0 · 29 + 1 · 28 + 0 · 27 + 1 · 26 + 0 · 25 + 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 = 2395.
Dans le calcul précédent on a aussi obtenu l’écriture binaire des nombres intermédiaires. Par
exemple 299 s’écrit 1 0010 1011, autrement dit
1 · 28 + 0 · 27 + 1 · 26 + 0 · 25 + 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 = 299.
Un peu de vocabulaire :
• Un chiffre binaire est appelé un bit, pour binary digit en anglais.
• Un mot binaire est la quantité de bits qu’un ordinateur peut traiter en même temps,
actuellement 32 ou 64. À fréquence équivalente, un ordinateur 64 bits traite deux fois plus
d’information qu’un ordinateur 32 bits.
• Les premiers ordinateurs utilisaient des mots de 8 bits. C’est encore la granularité 1 minimale en informatique. Un groupe de 8 bits s’appelle un octet, byte en anglais.
1 Kilooctet (Ko) vaut 1024 octets (210 = 1024).
1 Mégaoctet (Mo) vaut 1024 Ko, soit 220 octets.
1 Gigaoctet (Go) vaut 1024 Mo, soit soit 230 octets.
Remarque : Pour représenter un nombre décimal, typiquement un ordinateur utilise 64 bits
(1 bit de signe, 11 bits d’exposant (-1022 à 1023), 52 bits de mantisse (nombres après la virgule)).
Cela conduit à de nombreuses approximations. Par exemple, le nombre 1/3 (quotient de deux
entiers) ne peut pas s’écrire de façon exacte à l’aide d’une somme finie d’inverses de puissances
de 2. En effet, en utilisant la formule
+∞
X
qk =
k=0
1
,
1−q
−1 < q < 1,
avec q = 1/4 on remarque que (et avec le changement d’indice j = k − 1)
+∞
+∞
+∞
X
X
1
1
1X 1
1
1
=
=
=
= .
j
2k
k
4
4
4(1 − 1/4)
3
2
4
k=1
k=1
j=0
+∞
X
1
ak
=
, a0 = 0, a2j = 1 pour j ≥ 1 et
Ainsi, on a obtenu la décomposition en binaire
3
2k
k=0
a2j+1 = 1 pour j ≥ 0.
Pour plus de détails concernant les problèmes d’approximation, voir : http://images.math.
cnrs.fr/Un-ordinateur-est-il-une-parfaite.html
Application : Le code ASCII (American Standard Code for Information Interchange) définit
128 codes à 7 bits, comprenant 95 caractères imprimables (chiffres, lettres, ...) et 32 caractères
de contrôle (espace, saut de ligne, ...). On peut rajouter un bit de parité, pour permettre la
détection d’une erreur de transmission.
1. La notion de granularité définit la taille du plus petit élément, de la plus grande finesse d’un système. Quand
on arrive au niveau de granularité d’un système, on ne peut plus découper l’information.
4.3. SYSTÈMES DE NUMÉRATION
4.3.3
51
Écriture en base b
Plus généralement, on peut écrire un entier n en base b avec b un entier quelconque.
Le calcul des chiffres de l’écriture d’un entier naturel n en base b s’effectue par des divisions
euclidiennes successives par b, en partant de l’entier N jusqu’à obtenir un quotient plus petit
que b.
Calcul d’un entier à partir de son écriture dans une base : Inversement à partir de la connaissance de l’écriture an an−1 . . . a1 a0 dans une base b d’un entier N , il est possible de convertir cet
entier en base 10 par une évaluation de la somme
N=
n
X
ak bk = (an an−1 . . . a1 a0 )b .
k=0
Exercice : 1) Comment s’écrit 27 en base 7 ?
2) Comment s’écrit le nombre (1012)3 en base 10 ?
4.3.4
Écriture en base hexadécimale (base 16)
Cette numération est fréquemment utilisée en informatique, notamment pour
• coder des adresses mémoire ;
• coder la couleur d’un pixel.
On va détailler le deuxième point :
La couleur d’un pixel est codée par 24 bits en trois groupes de 8 bits :
52
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
• les 8 premiers bits sont consacrés à la teinte primaire rouge ;
• les 8 bits suivants sont consacrés à la teinte primaire vert ;
• les 8 derniers bits sont consacrés à la teinte primaire bleu.
Une séquence de 8 bits (un octet) permet de coder un nombre entier compris entre 0 et
28 − 1 = 255. Une façon commode de représenter les couleurs, est de les coder en base hexadécimale (base 16), c’est le cas en HTML. En effet on remarque ici que 256 = 162 , ainsi chaque octet
pourra être codé par deux chiffres en base 16. Pour chaque composante primaire de couleur, on
code son intensité de 0 à 255.
Pour la conversion en base décimale, on utilise le tableau de conversion suivant :
Base 10
Base 16
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
A
11
B
12
C
13
D
14
E
15
F
Application : On considère la couleur « indigo » codée en HTML 2 par #791CF 8. Quelle est
l’intensité de chacune des couleurs primaires ?
Intensité du rouge : 7 · 16 + 9 = 121 ; Intensité du vert : 1 · 16 + 12 = 28 ; Intensité du bleu :
15 · 16 + 8 = 248. On trouve une couleur mauve, proche du bleu.
Exercice : Combien de couleurs peut-on coder de cette manière ? Il y a en a 2563 = 16 777 216.
4.4
Congruences, calcul modulo n
Définition 4.7
On dit que a est congru à b modulo n si n divise a − b, c’est-à-dire s’il existe x ∈ Z tel que
(a − b) = nx. On note alors a ≡ b (modulo n) ou bien a ≡ b (mod n) ou bien a ≡ b [n].
On vérifie facilement que
• on a toujours a ≡ a (modulo n) ;
• si a ≡ b (modulo n), alors b ≡ a (modulo n) ;
• si a ≡ b et b ≡ c (modulo n), alors a ≡ c (modulo n).
On dit que la relation de congruence « ≡ » est une relation d’équivalence.
Exemples : 20 ≡ 0 ≡ 10 (modulo 2) ; 96 ≡ −1 (modulo 97) ; 121 ≡ 1 (modulo 20).
Proposition 4.8
Soient a, b, c, d, x, y ∈ Z. Alors,
si a ≡ c et b ≡ d (modulo n), alors a + b ≡ c + d (modulo n),
si a ≡ c et b ≡ d (modulo n), alors ab ≡ cd (modulo n),
si a ≡ c et b ≡ d (modulo n), alors ax + by ≡ cx + dy (modulo n).
2. L’Hypertext Markup Language, généralement abrégé HTML, est le format de données conçu pour représenter les pages web.
4.4. CONGRUENCES, CALCUL MODULO N
53
Preuve : On montre seulement la seconde implication. Puisque a ≡ c (modulo n), alors n|(a−c).
Donc, il existe un entier x tel que a − c = nx. De même, il existe y tel que b − d = ny. Pour
montrer que ab ≡ cd (modulo n), on doit montrer que n|ab − cd. Or,
ab − cd = (ab − ad) + (ad − cd)
= a(b − d) + d(a − c)
= nay + nxd
= n(ay + xd).
D’où n|(ab − cd), ce qui est équivalent à la conclusion cherchée.
Proposition 4.9
Soient a et n deux entiers tels que a < n. Si a ∧ n = 1, alors il existe un x ∈ {1, . . . , n − 1}
unique tel que ax ≡ 1 (modulo n).
Exemples : Voici les tables d’addition et de multiplication modulo 3 et 4 :
addition modulo 3 :
+
0
1
2
0
0
1
2
1
1
2
0
2
2
0
1
addition modulo 4 :
+
1
2
3
1
2
3
0
2
3
0
1
3
0
1
2
multiplication modulo 3 :
×
0
1
2
0
0
0
0
1
0
1
2
2
0
2
1
multiplication modulo 4 :
×
1
2
3
1
1
2
3
2
2
0
2
3
3
2
1
On peut illustrer le résultat la Proposition 4.9 : si n = 3 et a = 2, alors dans le tableau on lit
x = 2 (car 2 · 2 ≡ 1 modulo 3).
Si n = 4 et a = 2, alors on lit 2 · 2 ≡ 0 modulo 4. Ici il n’existe pas x tel que ax ≡ 1 (modulo n).
Définition 4.10 (Indicatrice d’Euler )
Soit n ≥ 1 un entier. On note ϕ(n) le nombre d’entiers 1 ≤ k ≤ n tels que k ∧ n = 1.
Par exemple, lorsque p est un nombre premier, ϕ(p) = p − 1. En effet, tous les entiers
1 ≤ k ≤ p − 1 sont premiers avec p, et p|p.
Voici un autre cas particulier important qui va servir dans la suite :
Proposition 4.11
Soient p et q deux nombres premiers distincts. Alors,
ϕ(pq) = (p − 1)(q − 1).
Preuve : On doit compter le nombre d’entiers de E = {1, 2, . . . , pq−1} qui sont premiers avec pq.
Les seuls entiers qui ne sont pas premiers avec pq sont les multiples de p, ceci donne l’ensemble
P = {p, 2p, . . . , (q − 1)p} (on en a q − 1) et les multiples de q, soit Q = {q, 2q, (p − 1)q} (on en
a p − 1). Notons que P ∩ Q = ∅ puisque, si np = mq avec m < p, alors p|np = mq, et d’après la
54
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
Proposition 4.3 soit p|m, soit p|q, ce qui est absurde. Au total, le nombre d’entiers de S qui sont
premiers avec pq est
pq − 1 − (p − 1) − (q − 1) = pq − p − q + 1 = (p − 1)(q − 1).
La fonction ϕ apparaît dans le résultat suivant :
Théorème 4.12 (Théorème d’Euler )
Soient m < n tels que n ∧ m = 1, alors mϕ(n) ≡ 1 (modulo n).
Exemple : • On prend n = 6 et m = 5. Alors d’après la Proposition 4.11 on a ϕ(6) = 2. On
vérifie que l’on a bien 52 = 25 ≡ 1 modulo 6.
• On prend n = 7 et m = 3. On vérifie que 36 ≡ 1 mod 7.
Application : test de primalité de Fermat : si n est un nombre premier, on obtient que
mn−1 ≡ 1 (modulo n), pour tout 1 ≤ m < n. Ce résultat s’appelle le petit théorème de Fermat.
En pratique, ceci peut servir de test de primalité : si un nombre n est tel que
2n−1 ≡ 3n−1 ≡ 5n−1 ≡ 7n−1 ≡ 1
(modulo n),
alors il a de bonnes chances d’être premier 3 .
Un raffinement de ce test est le test de Miller-Rabin qui donne de plus une majoration de
la probabilité de décider à tort qu’un nombre est premier.
4.5
4.5.1
Règles de divisibilité
Divisibilité par 2
Proposition 4.13
Pour qu’un nombre soit divisible par 2, il faut et il suffit que son dernier chiffre (le chiffre des
unités) soit pair.
Preuve : Modulo 2 on a 10 ≡ 0 donc 10n ≡ 0 pour tout n ≥ 1. Soit N un entier. Alors on peut
l’écrire N = an 10n + · · · + a1 10 + a0 , ainsi N ≡ an · 0 + · · · + a1 · 0 + a0 ≡ a0 modulo 2.
4.5.2
Divisibilité par 5
Proposition 4.14
Pour qu’un nombre soit divisible par 5, il faut et il suffit que son dernier chiffre soit 0 ou 5.
Preuve : Modulo 5 on a 10 ≡ 0 donc 10n ≡ 0 pour tout n ≥ 1.
Un nombre s’écrit N = an 10n + · · · + a1 10 + a0 , ainsi N ≡ an · 0 + · · · + a1 · 0 + a0 ≡ a0 modulo 5.
3. Attention : il existe des nombres qui ne sont pas premiers et qui passent ce test. Ils sont appelés nombres
de Carmichaël.
4.6. APPLICATION 1 : GÉNÉRATION DE NOMBRES PSEUDO-ALÉATOIRES
4.5.3
55
Divisibilité par 3
Proposition 4.15
Pour qu’un nombre soit divisible par 3, il faut et il suffit que la somme de ses chiffres soit
divisible par 3.
Preuve : Modulo 3 on a 10 ≡ 1 donc 10n ≡ 1 pour tout n ∈ N. Un nombre s’écrit N =
an 10n + · · · + a1 10 + a0 , ainsi N ≡ an + · · · + a1 + a0 modulo 3.
En pratique, on fait la somme des chiffres, on obtient un nouveau nombre sur lequel on
recommence le procédé et ainsi de suite. Pour trouver le reste d’une division par 3, il suffit de
remplacer le nombre à diviser par la somme de ses chiffres et de faire la division euclidienne de
cette somme par 3.
Exemple : Le nombre 123 451 722 est divisible par 3. Ainsi 123 451 724 ≡ 2 modulo 3.
4.5.4
Divisibilité par 9
Proposition 4.16
Pour qu’un nombre soit divisible par 9, il faut et il suffit que la somme de ses chiffres soit
divisible par 9.
Preuve : C’est le même argument que pour la division par 3.
Exemple : Trouver le reste de 785 486 par 9. C’est celui de (7+8+5+4+8+6) par 9, donc de 38
par 9, donc aussi de (3+8) par 9, donc de 11 par 9, donc de (1+1)=2 par 9, c’est donc 2.
Une application, la preuve par 9 : Cette méthode permet de vérifier des résultats de multiplications. Dans un produit, elle consiste à comparer les restes modulo 9. Vérifions-la sur un
exemple : 4752 · 347 = 1 648 944.
On a 4752 ≡ 0 et 347 ≡ 5 modulo 9, donc 4752 · 347 ≡ 0 modulo 9. D’un autre côté,
1 648 944 ≡ 0 modulo 9. Ainsi le résultat n’apparaît pas faux.
Exercice : Montrer que la preuve par 9 est insensible à une erreur de permutation des chiffres.
4.6
Application 1 : Génération de nombres pseudo-aléatoires
Le modèle de générateur pseudo-aléatoire le plus connu est le générateur congruentiel
linéaire : Il génère des nombres appartenant à E = {1, . . . , p − 1} par la règle suivante : on part
d’un nombre x0 ∈ E appelé graine, puis on définit la suite
xn+1 = axn
(modulo p),
n ≥ 0,
où p est un nombre premier et a est un élément de E tel que
(
ak 6≡ 1 modulo p, pour tout k < p − 1,
ap−1 ≡ 1.
Ce générateur produit une suite de nombres dans E = {1, . . . , p − 1}, et pour obtenir des
nombres dans [0, 1], on divise le résultat obtenu par p − 1. La suite de nombres obtenue est
périodique de période exactement p − 1. Les générateurs linéaires congruentiels sont employés
dans de nombreux logiciels et, par exemple, on utilise souvent p = 231 − 1 et a = 16 807, mais
ces générateurs ne sont pas jugés très fiables, car ils ne passent pas les tests statistiques (voir
exemple plus bas).
56
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
Exemple : Prenons comme exemple le cas p = 7. Alors on peut prendre a = 3 car
 2

3 ≡ 2 modulo 7




3


 3 ≡ 6 modulo 7
34 ≡ 4 modulo 7




35 ≡ 5 modulo 7



 36 ≡ 1 modulo 7
On peut par exemple initialiser la suite par x0 = 1, alors x1 = 3, x2 = 2, x3 = 6, . . .
Bien sûr, de tels nombres étant générés de façon automatique, ne sont pas du tout aléatoires
(on rappelle que la suite obtenue est même périodique de période p−1). Néanmoins, si a et p sont
bien choisis, et assez grands, on peut espérer que cette contrainte ne soit pas trop importante.
Pour illustrer des problèmes liés à l’utilisation de nombres pseudo-aléatoires, voici une anecdote tirée du livre « Mathématiques et technologie » (voir références) :
Exemple : Le 10 avril 1994, un joueur est appréhendé par la police au Casino de Montréal. Il
vient de battre toutes les statistiques possibles en remportant trois lots consécutifs au jeu de keno,
amassant ainsi plus d’un demi-million de dollars 4 . Il est clairement soupçonné d’avoir enfreint
les lois des jeux de hasard interdisant la collusion avec les employés du casino, la manipulation
des appareils électroniques, etc. Une enquête est menée et, après quelques semaines, le joueur
est relâché et son lot, capital et intérêts, lui est remis. Et le Casino de Montréal a appris une
leçon rapide sur les générateurs de nombres aléatoires : Le joueur en question connaissait, de
par son travail, le mécanisme des générateurs de nombres aléatoires. Il savait que les algorithmes
sous-jacents sont déterministes et donc, qu’un algorithme donné, pour des conditions initiales
identiques, génère des suites identiques. Lors de précédentes visites, il avait remarqué que les
nombres des appareils de keno sortaient, soir après soir, dans le même ordre. Il nota donc ces
nombres et les joua ! Une explication possible est que les machines générant les nombres aléatoires
étaient éteintes tous les soirs et qu’au moment du redémarrage, les machines réutilisaient les
mêmes conditions initiales, produisant soir après soir les mêmes nombres dans le même ordre.
Question : Comment peut-on changer les conditions initiales pour que les suites ne soient pas
toujours les mêmes à chaque démarrage du programme ? Voici deux manières différentes de
procéder :
• Au moment où l’on éteint la machine, elle enregistre les derniers nombres aléatoires générés.
Ceux-ci serviront alors comme conditions initiales au prochain démarrage.
• Au démarrage, le programme demande le nombre de secondes (ou de millièmes de secondes)
écoulé depuis une date fixée, disons depuis minuit le 1er janvier de l’an 2000. Les dernières
décimales de ce nombre seront utilisées comme conditions initiales.
En fait, à chaque redémarrage, le logiciel Scilab fournit la même suite de nombres pseudoaléatoires avec la fonction rand. Pour obtenir des suites moins prévisibles, on peut modifier la
graine en utilisant l’horloge interne de la machine, avec la commande n=getdate("s") ; rand("seed",n) ;
Vérifiez-le en faisant quelques simulations.
4. Au keno, le joueur doit choisir une dizaine de nombres dans l’ensemble {1,2,. . .,80}. Le casino tire alors
20 boules parmi 80 boules numérotées de 1 à 80. Ce tirage peut également être fait électroniquement, comme
c’est le cas maintenant dans la plupart des casinos. Le lot gagné dépend de la mise du joueur et du nombre de
coïncidences entre les nombres choisis par le joueur et les numéros des boules tirées au sort.
4.7. APPLICATION 2 : CALCUL DE LA CLÉ D’UN RIB
57
Exemple : On va montrer qu’un générateur linéaire congruentiel n’a pas toujours de bonnes
propriétés statistiques. Prenons comme paramètres p = 151 et a = 30. Alors avec la condition
initiale x0 = 1 on obtient la suite
30 145 122 36 23 86 13 88 73 76 15 148 61 18 87
43 82 44 112 38 83 74 106 9 119 97 41 22 56 19
117 37 53 80 135 124 96 11 28 85 134 94 102 40 143
62 48 81 14 118 67 47 51 20 147 31 24 116 7
59
109 99 101 10 149 91 12 58 79 105 130 125 126 5 150
121 6
29 115 128 65 138 63 78 75 136 3
90 133 64
108 69 107 39 113 68 77 45 142 32 54 110 129 95 132
34 114 98 71 16 27 55 140 123 66 17 57 49 111 8
89 103 70 137 33 84 104 100 131 4 120 127 35 144 92
42 52 50 141 2
60 139 93 72 46 21 26 25 146 1
On la transforme ensuite en une suite de 0 et de 1 en posant
(
0 si xn ≤ 75
yn =
1 si xn ≥ 76,
ce qui donne la suite
0
1
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
Dans cette suite 0 et 1 apparaissent chacun 75 fois, ce qui est satisfaisant. En revanche, lorsqu’on
étudie la fréquence d’apparition des suites de longueur 2, on voit que
• le terme 00 apparait avec fréquence 0.20 (15 occurrences sur 75),
• le terme 11 apparait avec fréquence 0.20 (15/75),
• le terme 01 apparait avec fréquence 0.25 (19/75),
• le terme 10 apparait avec fréquence 0.35 (26/75).
Ainsi, il semble à première vue qu’il n’y a pas équi-répartition des sous-suites de longueur 2.
Un bon générateur de nombres pseudo-aléatoires est le registre à décalage. Pour plus de
détails, voir « Mathématiques et technologie » chapitre 8.
4.7
Application 2 : Calcul de la clé d’un RIB
Un compte en banque est identifié par 23 caractères qui sont pour la plupart des chiffres.
On les trouve sur le relevé d’identité bancaire (le RIB). Le nombre formé par les deux derniers
chiffres de droite constitue la clé permettant de vérifier la cohérence du numéro.
Les 21 premiers caractères sont formés par :
• le code de banque (5 chiffres)
• le code du guichet ou de l’agence (5 chiffres)
• le numéro de compte proprement dit.
58
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
Si l’un des caractères est une lettre, il faut le coder à l’aide de la correspondance donnée dans
le tableau suivant.
A
J
B
K
S
2
1
C
L
T
3
D
M
U
4
E
N
V
5
F
O
W
6
G
P
X
7
H
Q
Y
8
I
R
Z
9
Si l’on désigne par N le nombre de 21 chiffres construit comme indiqué ci-dessus, la clé de
contrôle C est calculée par la formule suivante :
• On écrit la division euclidienne de 100 · N par 97, noté 100 · N = 97q + r avec 0 ≤ r ≤ 96.
• La clé est donnée par C = 97 − r.
Ce nombre C doit être écrit avec deux chiffres. S’il est plus petit que 10, il faut écrire un zéro
à sa gauche (par exemple, 4 devient 04).
Remarque 4.17
En écrivant la clé de contrôle C, avec deux chiffres, juste à droite du nombre N initial, on
doit donc obtenir un multiple de 97 (la division par 97 tombe juste).
Exemple :
Banque
18208
Guichet
00003
Compte
01170928519
Clé
13
Ici le nombre obtenu est 18 208 000 030 117 092 851 913 = 187 711 340 516 671 060 329 · 97,
donc le numéro de compte (clé incluse) est bien divisible par 97.
4.8
Application 3 : Vérification d’un numéro de billet en euros
Le numéro se présente pour les anciens billets, sous la forme d’une lettre suivie de onze chiffres
(par exemple : Z73585540773). Pour les nouveaux billets il y a deux lettres suivies de dix chiffres
(par exemple : EA4562608096).
Remplaçons d’abord la lettre par son rang dans l’alphabet comme indiqué dans le tableau
suivant :
A
1
N
14
B
2
O
15
C
3
P
16
D
4
Q
17
E
5
R
18
F
6
S
19
G
7
T
20
H
8
U
21
I
9
V
22
J
10
W
23
K
11
X
24
L
12
Y
25
M
13
Z
26
Nous obtenons un nombre de douze ou treize chiffres. Alors, le reste de ce nombre dans la
division par 9 doit être 8 pour les anciens billets et 7 pour les nouveaux billets.
Une autre façon de procéder est d’ajouter le nombre de lettres (1 ou 2) au reste dans la
division par 9 du nombre correspondant à la partie numérique du numéro à laquelle on a ajouté
le code de la ou des lettres. On doit obtenir un multiple de 9 : il doit donner un reste nul dans
la division par 9.
Exemples : Pour un ancien billet (Z a pour code 26) : Z73 585 540 773 donne 1 + 26 +
73585540773. Ainsi modulo 9 on obtient 1 + 26 + 54 = 81 dont le reste est nul dans la division
par 9.
4.9. APPLICATION 4 : CHIFFREMENT AFFINE
59
Pour un nouveau billet (E a pour code 5 et A a pour code 1) : EA4562608096 donne 2 + 5
+ 1 + 4562608096. Ainsi modulo 9 on obtient 2 + 5 + 1 + 46 = 54 dont le reste est nul dans la
division par 9.
Conclusion : Dans de nombreuses situations, on rencontre ces clés obtenues par des arguments
arithmétiques, qui permettent de s’assurer de la cohérence d’un grand nombre. C’est par exemple
aussi le cas dans :
• le numéro d’une carte de crédit ;
• le numéro INSEE d’une personne ;
• le numéro d’un avis de contravention ;
• le numéro de code barre ;
• le numéro ISBN 5 dans un livre, . . .
4.9
Application 4 : Chiffrement affine
Afin de coder un message on assimile chaque lettre de l’alphabet à un nombre entier comme
l’indique le tableau ci-dessous :
A
0
N
13
B
1
O
14
C
2
P
15
D
3
Q
16
E
4
R
17
F
5
S
18
G
6
T
19
H
7
U
20
I
8
V
21
J
9
W
22
K
10
X
23
L
11
Y
24
M
12
Z
25
Le chiffrement consiste à coder un message. Le déchiffrement consiste à décoder un message
codé.
Un chiffrement élémentaire est le chiffrage affine. On se donne une fonction de codage affine f ,
par exemple :
f (x) = 11x + 8 modulo 26.
A une lettre du message
• on lui associe un entier x entre 0 et 25 suivant le tableau ci-dessus ;
• on calcule y = f (x) = 11x + 8 modulo 26 ;
• on traduit y par une lettre d’après le tableau ci-dessus.
Pour décoder, il faut construire la fonction réciproque f −1 de f (voir exercices).
Exemples : On veut coder la lettre G. Celle-ci correspond à x = 6, donc on calcule f (6) = 74 ≡ 22.
On obtient donc la lettre W .
4.10
Application 5 : Cryptographie RSA
Étudions à présent le code RSA, du nom de ses concepteurs Rivest, Shamir et Adleman.
C’est une méthode de chiffrement asymétrique, appelée aussi code à clé publique 6 . Ce qui
5. International Standard Book Number
6. L’idée d’un système de chiffrement à clé publique est apparue dans les années 60. Les agences de renseignement britanniques focalisèrent leur efforts sur cette question vers 1969 et la solution, trouvée en 1973 (par un
certain Cocks), resta classée « secret défense ». C’est en 1977 que les trois Américains Rivest, Shamir et Adleman
ont proposés la première mise en œuvre d’un cryptosystème à clé publique : Le RSA. Ils déposèrent un brevet et
créèrent la société RSA security pour l’exploiter. Voir aussi les contributions de Diffie et Hellman.
60
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
est particulièrement remarquable dans ce code, c’est qu’il tient depuis 1978. Le fait est d’autant
plus surprenant que le mode de fonctionnement du code est complètement public.
De façon imagée, si Bob veut envoyer un message à Alice, il dépose son message dans la boîte
aux lettres d’Alice, seule Alice pourra ouvrir sa boîte et consulter le message. Ici la clé publique
est symbolisée par la boîte aux lettres, tout le monde peut y déposer un message, la clé qui ouvre
la boîte aux lettres est la clé privée d’Alice, que Alice doit conserver à l’abri.
L’ingrédient de base du code RSA est la théorie des nombres, plus particulièrement l’arithmétique (+, .) modulo n, et on utilise le théorème d’Euler (Théorème 4.12). La méthode fonctionne
à cause des trois faits suivants :
• il est difficile pour un ordinateur de factoriser un grand nombre ;
• il est facile pour un ordinateur de construire de grands nombres premiers ;
• il est facile pour un ordinateur de décider si un grand nombre est premier.
Avantages d’un système à clé publique :
• Il n’y a pas de risque d’interception de la clé, car celle-ci est publique !
• La méthode fonctionne même avec un grand nombre d’utilisateurs (par exemple
lorsque l’on paye avec sa carte de crédit sur Internet). Pour une méthode à clé secrète, il
faut autant de paires de clés que de couples de correspondants.
• Le code RSA permet de signer un message de telle sorte qu’on soit sûr de sa
provenance (ceci permet d’éviter une usurpation d’identité).
Inconvénients d’un système à clé publique :
• Pour un niveau de sécurité équivalent, les clefs doivent être beaucoup plus longues
(au moins dix fois plus longues).
• Les temps de traitement sont plus longs (entre 100 fois et 1000 fois plus longs).
Le code RSA est très utilisé sur Internet, par exemple, pour sécuriser un site lorsqu’il reçoit
des numéros de cartes de crédit. Le système bancaire est également protégé par le code RSA.
Pour tirer profit des deux méthodes de chiffrement, on peut utiliser une méthode de chiffrement à clé secrète (méthode de chiffrement symétrique), et la clé secrète est transmise avec une
méthode de chiffrement à clé publique (méthode de chiffrement asymétrique). C’est par exemple
le cas dans le protocole TLS (https).
Un système de cryptographie à clé publique est mis en place par une personne ou une organisation (que nous appellerons le receveur, Bob) qui veut recevoir des messages de manière
sécuritaire (de la part d’Alice). C’est elle qui construit le système et publie la méthode transmission des messages.
• Première étape : Bob choisit p et q deux grands nombres premiers (plus de 100 chiffres).
Il calcule n = pq. Ce nombre, la « clé », a près de 200 chiffres. Il est public, alors que p
et q sont gardés secrets. Les ordinateurs ne peuvent, en un temps raisonnable, retrouver p
et q à partir de n.
• Deuxième étape : Bob calcule ϕ(n), où ϕ est la fonction d’Euler définie comme suit :
ϕ(n) est le nombre d’entiers dans {1, 2, . . . , n − 1} qui sont premiers avec n, pour n > 1
et ϕ(1) = 1. D’après la Proposition 4.11 on a ϕ(n) = (p − 1)(q − 1). Remarquer que cette
formule fait appel aux facteurs inconnus p et q de n. Calculer ϕ(n) sans connaître p et q
semble aussi difficile que de factoriser n (quoiqu’il n’y ait pas de preuve rigoureuse que les
deux opérations soient aussi difficiles l’une que l’autre).
4.10. APPLICATION 5 : CRYPTOGRAPHIE RSA
61
Figure 4.1 – Alice veut envoyer un message à Bob. Elle commence par le chiffrer à l’aide de la
clé publique de Bob et lui transmet. Bob est le seul à pouvoir décoder le cryptogramme, à l’aide
de sa clé privée.
• Troisième étape : choix d’une clé de chiffrement. Bob choisit e ∈ {1, . . . , n − 1} premier
avec ϕ(n). Le nombre e est la clé de chiffrement. Elle est publique. Alice s’en sert pour
encoder son message suivant les instructions publiées par Bob.
• Quatrième étape : construction d’une clé de déchiffrement. On peut montrer qu’il existe
d ∈ {1, . . . , n−1} tel que ed = 1 (modulo ϕ(n)) (c’est-à-dire que le reste de la division de ed
par ϕ(n) est 1). On peut construire d grâce à l’algorithme d’Euclide (divisions euclidiennes
successives). Le nombre d, construit par le receveur, est la clé de déchiffrement. Elle est
secrète et permet à Bob de déchiffrer les messages reçus.
• Cinquième étape : chiffrement d’un message à envoyer. Alice veut envoyer un message
qui est un nombre m appartenant à {1, . . . , n − 1}. Pour l’encoder, elle calcule le reste a de
la division de me par n. On a donc me = a (modulo n), où a ∈ {1, . . . , n − 1}. Le a qu’elle
a calculé est le message chiffré. Alice envoie a. Il est facile pour un ordinateur de calculer
a, même si m, e et n sont très grands.
• Sixième étape : déchiffrement du message reçu. Bob reçoit a. Pour déchiffrer, il calcule ad
(modulo n). Nous allons montrer à la Proposition 4.18 que le reste de la division de ad par n
est précisément le message initial m.
Regardons un exemple simple avec des petits nombres.
Exemple : Traitons un cas simple. On prend p = 7 et q = 13, alors n = pq = 91. On doit
déterminer quels sont les entiers de E = {1, . . . , 90} qui ne sont pas premiers avec 91. Ce sont
7, 13, 14, 21, 26, 28, 35, 39, 42, 49, 52, 56, 63, 65, 70, 77, 78, 84,
soit 18 entiers. Il y a donc 90 − 18 = 72 entiers de E premiers avec 91, ce qui donne ϕ(91) = 72.
Choisissons e = 29. On a bien e ∧ ϕ(n) = 1. Pour trouver d, on fait des divisions euclidiennes
successives :
62
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
72 = 29 · 2 + 14,
29 = 14 · 2 + 1.
Maintenant, nous remontons pour écrire 1 en fonction de 29 et de 72 :
1 = 29 − 14 · 2 = 29 − (72 − 29 · 2) · 2 = 29 · 5 − 72 · 2.
On a donc 29 · 5 ≡ 1 modulo 72, ce qui donne d = 5. Soit m = 59 notre message. On a bien
59 < 91. Pour chiffrer, nous devons calculer 5929 modulo 91.
On va utiliser l’algorithme d’exponentiation rapide : on va calculer successivement 592 ,
598 et 5916 modulo 91, et utiliser que 5929 = 5916 · 598 · 594 · 59. On calcule
594 ,
592 = 3481 ≡ 23 (modulo 91)
594 = (592 )2 ≡ 232 = 529 ≡ 74 (modulo 91)
598 = (594 )2 ≡ 742 = 5476 ≡ 16 (modulo 91)
5916 = (598 )2 ≡ 162 = 256 ≡ 74 (modulo 91).
Donc finalement,
5929 = 5916 · 598 · 594 · 59
≡ 74 · 16 · 74 · 59 (modulo 91)
≡ 1 · 74 · 59 = 4366 (modulo 91)
≡ 89 (modulo 91).
La méthode de calcul que nous avons présentée est celle qu’utilisent les ordinateurs. Le message
encodé est a = 89. Nous l’envoyons. Pour le décoder, le receveur doit calculer le reste de la
division de 895 par 91. La même méthode permet de faire le calcul et de récupérer le message
initial, soit m = 59. En effet,
892 = 7921 ≡ 4 (modulo 91)
894 = (892 )2 ≡ 42 = 16 (modulo 91),
ce qui permet de calculer
895 = 894 · 89 ≡ 16 · 89 = 1424 ≡ 59 (modulo 91).
On a ainsi récupéré le message m.
Proposition 4.18
Le chiffrement-déchiffrement du code RSA fonctionne : si on encode un message m tel que
m ∧ n = 1 et si a est tel que me ≡ a (modulo n), alors le déchiffrement redonne le message
m, car ad ≡ m (modulo n).
Preuve : Si me ≡ a (modulo n), alors
ad ≡ (me)d = med = mkϕ(n)+1 = mkϕ(n) · m = (mϕ(n) )k · m
≡ 1k · m (modulo n).
Exemple : Une entreprise veut monter un système de commandes sur Internet. Elle instaure
donc un chiffrement à clé publique pour la transmission du numéro de carte de crédit. Le numéro
de carte de crédit est un nombre de 16 chiffres auquel on ajoute les 4 chiffres qui correspondent à
4.10. APPLICATION 5 : CRYPTOGRAPHIE RSA
63
la date d’expiration, pour un total de 20 chiffres. L’entreprise choisit p et q, deux grands nombres
premiers. Nous fonctionnerons dans notre exemple avec des nombres de 25 chiffres, ce qui donne
pour n un nombre de 50 chiffres environ. Prenons
p = 12 345 679 801 994 567 990 089 459
et
q = 8 369 567 977 777 368 712 343 087.
Ceci donne
n = pq = 103 328 006 334 666 582 188 478 564 007 333 624 855 622 630 219 933
et
ϕ(n) = (p − 1)(q − 1) = 103 328 006 334 666 582 188 478 543 292 085 845 083 685 927 787 388.
L’entreprise choisit ensuite e = 115 670 849 qui satisfait à e∧ϕ(n) = 1, et utilise la Proposition 4.9
pour calculer :
d = 34 113 931 743 910 925 784 483 561 065 442 183 977 516 731 202 177.
A priori, on ne peut envoyer que des messages premiers avec n. Ici, aucun problème : les seuls
diviseurs de n ont au moins 25 chiffres, et donc, tout nombre de 20 chiffres est premier avec n.
Un client a le numéro de carte de crédit 4540 3204 4567 8231, et la date d’expiration de sa carte
est le 10/02. On doit donc envoyer le message m = 45 403 204 456 782 311 002. Avant d’envoyer,
le logiciel calcule
me ≡ a ≡ 49 329 085 221 791 275 793 017 511 397 395 566 847 998 886 183 308 (modulo n).
Le nombre a est transmis. Sur réception, l’entreprise calcule
ad ≡ 45 403 204 456 782 311 002 = m (modulo n).
Dans cet exemple, les entiers p et q choisis ne sont pas assez grands, et un ordinateur pourrait
factoriser n.
Que se passerait-il s’il y avait une erreur de transmission ? On pourrait facilement s’en rendre
compte : le message erroné n’a a priori aucune raison d’avoir 20 chiffres une fois décodé.
64
CHAPITRE 4. APPLICATIONS DE L’ARITHMÉTIQUE
Chapitre 5
Systèmes linéaires
5.1
Introduction
5.1.1
Exemple introductif
Une entreprise fabrique deux types de peinture : une peinture Eco et une peinture de qualité
supérieure Extra. Un premier client achète 3 tonnes de peinture Eco et 2 tonnes de peinture
Extra et paye 60 000 euros. Un deuxième client achète 5 tonnes de peinture Eco et 3 tonnes de
peinture Extra et paye 95 000 euros. Combien coûte la tonne de peinture Eco et Extra ?
On note x le prix (en milliers d’euros) de la tonne de peinture Eco et y celui de la tonne de
peinture Extra. Les informations précédentes donnent le système d’équations :
3x + 2y = 60
5x + 3y = 95.
Ce système admet-il des solutions (existence, unicité) ? Comment le résoudre ?
5.1.2
Équations de droites
Une équation linéaire à deux inconnues, du type a1 x + a2 y = b, est l’équation d’une droite
dans le plan. Plus précisément, si a1 , a2 et b sont des réels fixés, tels que a1 6= 0 ou a2 6= 0,
l’ensemble des couples (x, y) vérifiant a1 x + a2 y = b est une droite.
Exemples : Tracer les droites suivantes : y = 1 ; y − 2x = −1 ; 3x + 5y = 2 ; x = 2.
5.1.3
Systèmes
On considère maintenant deux équations couplées de ce type
a11 x + a12 y = b1
a21 x + a22 y = b2 .
Chercher une solution de ce système revient à étudier les points d’intersections de ces droites.
Voici trois exemples de systèmes linéaires de 2 équations à 2 inconnues, et les interprétations
géométriques correspondantes :
1. On considère le système
2x − y = 5
x + y = 1.
(5.1)
On a deux équations de droites D1 et D2 qui se coupent en un seul point. Le système (5.1)
a une seule solution.
65
66
CHAPITRE 5. SYSTÈMES LINÉAIRES
2. On considère le système
3x − 2y = 5
3x − 2y = −1.
(5.2)
On a deux équations de droites D1 et D2 parallèles et non confondues. Le système (5.2)
n’a pas de solution.
3. On considère le système
4x + 5y = 3
8x + 10y = 6.
(5.3)
Les droites D1 et D2 sont confondues. Le système (5.3) a une infinité de solutions
y
y
D1
D1
y
D2
D2
D1 = D2
x
x
x
Une équation linéaire est une équation du type
a1 x1 + · · · + ap xp = b,
où les inconnues sont x1 , . . . , xp , et les données sont a1 , . . . , ap et b.
Un système de n équations linéaires à p inconnues est une liste de n équations linéaires
couplées

a11 x1 + a12 x2 + a13 x3 + · · · + a1p xp = b1




 a21 x1 + a22 x2 + a23 x3 + · · · + a2p xp = b2



..
.

.
= ..
ai1 x1 + ai2 x2 + ai3 x3 + · · · + aip xp = bi




..
..


.
=
.



an1 x1 + an2 x2 + an3 x3 + · · · + anp xp = bp .
Les nombres aij , i = 1, . . . , n, j = 1, . . . , p, s’appellent les coefficients du système, et les
nombres bi , i = 1, . . . , n le second membre. Une solution d’un système linéaire est une liste
de p nombres réels
(s1 , s2 , . . . , sp )
telle que si l’on remplace x1 par s1 , x2 par s2 , etc., dans le système linéaire, on obtient des
égalités pour toutes les équations. L’ensemble des solutions du système est l’ensemble de
tous ces p-uplets.
5.2
Résolution par substitution
La première méthode de résolution est la substitution. Cette méthode fonctionne bien pour
les systèmes à deux équations et deux inconnues. On va la présenter sur l’exemple du début. Soit
le système
3x + 2y = 60
5x + 3y = 95.
5.3. MÉTHODE DU PIVOT DE GAUSS
67
Nous isolons y dans la première équation, puis nous le remplaçons par sa valeur dans la seconde,
ce qui donne le système équivalent :
y = 30 − 32 x
⇐⇒
3
5x + 3(30 − 2 x) = 95
y = 30 − 32 x
⇐⇒
(5 − 3 · 32 )x = 95 − 90
x = 10
⇐⇒
y = 15.
Ainsi l’ensemble des solutions du système est S = {(10, 15)}.
Autrement dit, une tonne de peinture Eco coûte 10 000 euros et une tonne de peinture Extra
coûte 15 000 euros.
5.3
Méthode du pivot de Gauss
5.3.1
Systèmes échelonnés
Définition 5.1
Un système est échelonné si le nombre de coefficients nuls commençant une ligne croît
strictement ligne après ligne.
Un système échelonné est facile à résoudre, en trouvant la valeur de chaque inconnue de proche
en proche en commençant par la dernière équation.


 2x1 +3x2 +2x3 −x4 = 5

−x2 −2x3
= −4
est échelonné.
Exemple : Le système
2x
+x
5

3
4 =


x4 = 1
On trouve d’abord x4 = 1, puis x3 = 2, puis x2 = 0 et enfin x1 = 1. L’ensemble des solutions est
donc
S = {(x1 , x2 , x3 , x4 ) = (1, 0, 2, 1)} .
5.3.2
Opérations sur les équations d’un système
La méthode du pivot de Gauss permet de réduire un système et de le rendre équivalent à un
système échelonné. Les trois opérations élémentaires suivantes transforment un système linéaire
en un système linéaire équivalent :
• Li ← λLi avec λ 6= 0 : on peut multiplier une équation par un réel non nul
• Li ← Li + λLj avec λ ∈ R (et j 6= i) : on peut ajouter à l’équation Li un multiple
d’une autre équation Lj
• Li ↔ Lj : on peut échanger deux équations
Exemple : On considère le système

 x
2x

−x
suivant :
+y +7z = −1
−y +5z = −5
−3y −9z = −5
(L1 )
(L2 )
(L3 )
68
CHAPITRE 5. SYSTÈMES LINÉAIRES

 x
+y +7z = −1
−3y −9z = −3

−x −3y −9z = −5

 x +y +7z = −1
−3y −9z = −3
⇐⇒

−2y −2z = −6

 x +y +7z = −1
y
+3z = 1
⇐⇒

−2y −2z = −6

 x +y +7z = −1
y +3z = 1
⇐⇒

4z = −4

 x +y +7z = −1
y +3z = 1
⇐⇒

z
= −1
⇐⇒
L2 ←L2 −2L1
L3 ←L3 +L1
L2 ← − 31 L2
L3 ←L3 +2L2
L3 ← 41 L3
On peut déduire l’ensemble des solutions : S = {(2, 4, −1)}.
Exemple : Soit le système à résoudre :

−x2 +2x3 +13x4 = 5

x1 −2x2 +3x3 +17x4 = 4

−x1 +3x2 −3x3 −20x4 = −1

L1 ↔L2
 x1 −2x2 +3x3 +17x4 = 4
−x2 +2x3 +13x4 = 5
⇐⇒

−x1 +3x2 −3x3 −20x4 = −1

 x1 −2x2 +3x3 +17x4 = 4
−x2 +2x3 +13x4 = 5
⇐⇒

x2
−3x4 = 3
L3 ←L3 +L1

 x1 −2x2 +3x3 +17x4 = 4
x2
−2x3 −13x4 = −5
L2 ← −L2
⇐⇒

x2
−3x4 = 3

 x1 −2x2 +3x3 +17x4 = 4
x2
−2x3 −13x4 = −5
⇐⇒

2x3 +10x4 = 8
L3 ←L3 −L2

 x1 −2x2 +3x3 +17x4 = 4
x2
−2x3 −13x4 = −5
⇐⇒

x3
+5x4 = 4
L3 ← 21 L3
On a obtenu un système échelonné. Ici il y a plus d’inconnues que d’équations, alors on prend x4
comme paramètre et on résout en fonction de x4 . On trouve x3 = −5x4 + 4, x2 = 3x4 + 3,
x1 = 4x4 − 2. L’ensemble des solutions est
n
o
S = (4x4 − 2, 3x4 + 3, −5x4 + 4, x4 ) | x4 ∈ R .
On a donc une infinité de solutions, paramétrées par x4 .
5.4. QUELQUES RAPPELS SUR LES MATRICES
5.4
69
Quelques rappels sur les matrices
5.4.1
Définition
Définition 5.2
• Une matrice A est un tableau rectangulaire
• Elle est dite de taille n × p si le tableau possède n lignes et p colonnes.
• Les nombres du tableau sont appelés les coefficients de A.
• Le coefficient situé à la i-ème ligne et à la j-ème colonne est noté ai,j .
Un tel tableau est représenté de la manière suivante :

a1,1 a1,2
 a2,1 a2,2

... ...
A=
 ai,1 ai,2

... ...
an,1 an,2
...
...
...
...
...
...
a1,j
a2,j
...
ai,j
...
an,j
...
...
...
...
...
...

a1,p
a2,p 

... 

ai,p 

... 
A = ai,j
ou
1≤i≤n
1≤j≤p
ou
ai,j .
an,p
Le matrice
A=
1 −2 5
0 3 7
est de taille 2 × 3 avec, par exemple, a1,1 = 1 et a2,3 = 7.
Définition 5.3
• Deux matrices sont égales lorsqu’elles ont la même taille et que les coefficients correspondants sont égaux.
• L’ensemble des matrices à n lignes et p colonnes à coefficients dans R est noté Mn,p (R).
5.4.2
Matrices particulières
Voici quelques types de matrices intéressantes :
• Si n = p (même nombre de lignes que de colonnes), la matrice est dite matrice carrée.
On note Mn (R) au lieu de Mn,n (R). Soit

a1,1
 a2,1

A= .
 ..
a1,2
a2,2
..
.
...
...
..
.
an,1 an,2 . . .

a1,n
a2,n 

..  .
. 
an,n
Les éléments a1,1 , a2,2 , . . . , an,n forment la diagonale principale de la matrice A.
• Une matrice qui n’a qu’une seule ligne (n = 1) est appelée matrice ligne ou vecteur
ligne. On la note
A = a1,1 a1,2 . . . a1,p .
70
CHAPITRE 5. SYSTÈMES LINÉAIRES
• De même, une matrice qui n’a qu’une seule colonne (p = 1) est appelée matrice colonne
ou vecteur colonne. On la note


a1,1
 a2,1 


A =  . .
.
 . 
an,1
• La matrice (de taille n × p) dont tous les coefficients sont des zéros est appelée la matrice
nulle et est notée 0n,p ou plus simplement 0. Dans le calcul matriciel, la matrice nulle joue
le rôle du nombre 0 pour les réels.
5.4.3
Addition de matrices
Définition 5.4
Soient A et B deux matrices ayant la même taille n × p et α ∈ R. Leur somme C = A + αB
est la matrice de taille n × p définie par
cij = aij + αbij .
3 8
0 5
3 −2
. En revanche si
, alors A + 2B =
et B =
Exemple : Si A =
5 5
2 −1
1 7
−2
, alors A + B 0 n’est pas définie.
B0 =
8
5.4.4
Multiplication de matrices
Le produit AB de deux matrices A et B est défini si et seulement si le nombre de colonnes
de A est égal au nombre de lignes de B.
Définition 5.5
Soient A = (aij ) une matrice n × p et B = (bij ) une matrice p × q. Alors le produit de
matrices C = AB est une matrice n × q dont les coefficients cij sont définis par :
cij =
p
X
aik bkj = ai1 b1j + ai2 b2j + · · · + aik bkj + · · · + aip bpj .
k=1
Il est commode de disposer les calculs de la façon suivante.

×

×


×
×

 
|

 
|
 
A→
× × × × − − − cij




←B


 ← AB

Avec cette disposition, on considère d’abord la ligne de la matrice A située à gauche du
coefficient que l’on veut calculer (ligne représentée par des × dans A) et aussi la colonne de la
5.4. QUELQUES RAPPELS SUR LES MATRICES
71
matrice B située au-dessus du coefficient que l’on veut calculer (colonne représentée par des ×
dans B). On calcule le produit du premier coefficient de la ligne par le premier coefficient de la
colonne (ai1 × b1j ), que l’on ajoute au produit du deuxième coefficient de la ligne par le deuxième
coefficient de la colonne (ai2 × b2j ), que l’on ajoute au produit du troisième. . .
Calculer le coefficient cij dans le produit AB revient donc à calculer le produit scalaire des
vecteurs formés par la i-ème ligne de A et la j-ème colonne de B.
3 −2
0 5
Exemple : Si A =
et B =
, alors
1 7
2 −1
AB =
3 · 0 − 2 · 2 3 · 5 + (−2) · (−1)
−4 17
=
.
1·0+7·2
1 · 5 + 7 · (−1)
14 −2
Exercice : Faire le calcul avec Scilab.
Exemple : Le système

+y +7z = −1
 x
2x −y +5z = −5

−x −3y −9z = −5
s’écrit de façon équivalente AX = B avec


1
1
7
A =  2 −1 5  ,
−1 −3 −9
5.4.5
 
x
X = y 
z


−1
et B = −5 .
−5
Pièges à éviter
Premier piège. Le produit de matrices n’est pas commutatif en général.
En effet, il se peut que AB soit défini mais pas BA, ou que AB et BA soient tous deux
définis mais pas de la même taille. Mais même dans le cas où AB et BA sont définis et de la
même taille, on a en général AB 6= BA, comme le montre l’exemple suivant :
5 1
2 0
14 3
=
3 −2
4 3
−2 −6
5 1
10 2
2 0
.
=
3 −2
29 −2
4 3
mais
Deuxième piège. AB = 0 n’implique pas A = 0 ou B = 0.
Il peut arriver que le produit de deux matrices non nulles soit nul. En d’autres termes, on
peut avoir A 6= 0 et B 6= 0 mais AB = 0.
0 −1
A=
0 5
2 −3
B=
0 0
0 0
AB =
.
0 0
et
Troisième piège. AB = AC n’implique pas B = C. On peut avoir AB = AC et B 6= C.
A=
0 −1
0 3
B=
4 −1
5 4
C=
2 5
5 4
et
AB = AC =
−5 −4
.
15 12
72
CHAPITRE 5. SYSTÈMES LINÉAIRES
5.4.6
Matrice identité
La matrice carrée suivante s’appelle la matrice identité :



In = 

1 0 ...
0 1 ...
.. .. . .
.
. .
0 0 ...
0
0
..
.





1
Ses éléments diagonaux sont égaux à 1 et tous ses autres éléments sont égaux à 0. Elle se
note In ou simplement I. Dans le calcul matriciel, la matrice identité joue un rôle analogue à
celui du nombre 1 pour les réels. C’est l’élément neutre pour la multiplication. En d’autres
termes :
Proposition 5.6
Si A est une matrice n × p, alors
In A = A
5.4.7
et
AIp = A.
Inverse d’une matrice
Définition 5.7
Soit A une matrice carrée de taille n × n. S’il existe une matrice carrée B de taille n × n telle
que
AB = In
ou
BA = In ,
on dit que A est inversible. Dans ce cas on appelle B l’inverse de A et on la note A−1 .
 
x1

Si la matrice A ∈ Mn (R) est inversible, alors le système AX = B d’inconnue X = . . . 
xn
se résout en X = A−1 B.


1
1
7
Exemple : On peut montrer que la matrice A =  2 −1 5  est inversible. Alors le système
−1 −3 −9

+y +7z = −1
 x
2x −y +5z = −5

−x −3y −9z = −5
 
   
x
7
2
se résout en y  = A−1  5  =  4  . Avec le logiciel Scilab on peut procéder de la manière
z
−9
−1
suivante :
A=[1,1,7 ;2,-1,5 ; -1,-3,-9],
B=[-1 ;-5 ;-5]
X=inv(A)*B
5.5. ALGORITHME DU SIMPLEXE
0 1
0 0
73
a b
c d
Exemple : La matrice E =
n’est pas inversible. En effet cherchons A =
telle
1 0
0 a
que AE = I =
. On calcule AE =
et on voit qu’il n’existe aucun choix de A tel
0 1
0 c
1 0
0 a
que
=
.
0 1
0 c
Remarque : On dispose de formules directes pour calculer l’inverse d’une matrice, mais elles
sont coûteuses numériquement. Ainsi, pour résoudre un système, on préfèrera en général utiliser
la méthode du pivot de Gauss ou des méthodes du même type.
5.4.8
Déterminant d’une matrice carrée
À quelle condition une matrice carrée est-elle inversible ?
Proposition 5.8
Soit A ∈ Mn (R). On peut lui associer un nombre réel, le déterminant de A, noté det A,
calculé à partir des coefficients de A tel que
la matrice A est inversible ⇔
det A 6= 0.
0 1
a b
n’est pas
, alors det A = ad − bc. Ainsi on vérifie que E =
Exemple : Si A =
0 0
c d
1 1
l’est (det D=2).
inversible (det E=0), mais que D =
−2 0
Pour une matrice de taille plus grande, la formule du déterminant est assez compliquée.
5.5
Algorithme du simplexe
Dans de nombreux problèmes, on est amené à considérer des contraintes (équations ou inéquations) linéaires, et l’on cherche à optimiser une fonction (cela correspond à minimiser un
coût ou maximiser un profit). Commençons par donner un exemple :
Exemple : Une usine fabrique deux produits P1 et P2 en utilisant un certain nombre de ressources : équipement, main d’oeuvre, matières premières. Ces besoins sont indiqués dans le
tableau ci-dessous. Par ailleurs, chaque ressource est disponible en quantité limitée :
Équipement
Main d’oeuvre
Matière première
P1
3
4
2
P2
9
5
1
Disponibilité
81
55
20
Les deux produits P1 et P2 rapportent à la vente respectivement des bénéfices de 6 euros et 4
euros par unité. Quelles quantités de produits P1 et P2 (valeurs non-nécessairement entières) doit
produire l’usine afin de maximiser le bénéfice total venant de la vente des 2 produits ?
• Choix des variables (les inconnues) : x1 et x2 sont respectivement les quantités des produits P1 et P2 fabriqués (x1 , x2 ≥ 0).
74
CHAPITRE 5. SYSTÈMES LINÉAIRES
• Choix de la fonction objectif à maximiser : La fonction objectif F correspond au bénéfice
total. Elle vaut F (x1 , x2 ) = 6x1 + 4x2 . Le problème se traduit donc par
max F (x1 , x2 ) = max 6x1 + 4x2 ,
(x1 ,x2 )∈C
(x1 ,x2 )∈C
où C sont des contraintes à préciser.
• Détermination des contraintes. La disponibilité de

 3x1 + 9x2 ≤
4x1 + 5x2 ≤

2x1 + x2 ≤
chacune des ressources s’écrit :
81
55
20.
En résumé, le problème de production se modélise sous la forme
max 6x1 + 4x2 ,
(x1 ,x2 )∈C
sous les contraintes
(C) :

3x1 + 9x2 ≤ 81



4x1 + 5x2 ≤ 55
2x1 + x2 ≤ 20



x1 , x2 ≥ 0.
On parle de problème de programmation linéaire (PL).
5.5.1
Résolution graphique
Dans le cas d’un (PL) à deux variables, on peut envisager une résolution graphique. Les
contraintes où apparaissent des inégalités correspondent géométriquement à des demi-plans. L’intersection de ces demi-plans forme l’ensemble des variables satisfaisant à toutes les contraintes
(la partie hachurée de la figure 5.1).
À la fonction objectif F correspond une droite F (x1 , x2 ) = 6x1 + 4x2 = constante, de coefficient directeur (1, 6/4). La constante précédente qui définie la droite doit être la plus grande
possible (maximisation) et rencontrer l’ensemble des variables qui satisfont les contraintes. Pour
déterminer cette valeur maximale, on fait donc glisser la droite (translation parallèle à la direction de la droite) du haut vers le bas jusqu’à rencontrer l’ensemble des variables satisfaisant
les contraintes. Le maximum de F sur cet ensemble des contraintes est alors atteint. On obtient
ainsi la solution optimale (x1 , x2 ) = (15/2, 5) et ce qui donne une valeur maximale max(F ) = 65.
On remarque que l’ensemble des contraintes (la partie hachurée de la figure) est un polygone
convexe et que le maximum de F est atteint en un sommet de ce polygone. Cette observation
est en fait un résultat général.
5.5.2
Présentation de l’algorithme du simplexe
L’idée de l’algorithme est de passer d’un sommet du simplexe à un sommet suivant en augmentant la valeur de F .
On présente l’algorithme sur le problème de production.
On commence par rajouter des variables e1 , e2 , . . . positives, appelées variables d’écart pour
que les contraintes soient des égalités. Ici cela donne le problème
max 6x1 + 4x2 ,
(x1 ,x2 )∈C
5.5. ALGORITHME DU SIMPLEXE
75
Figure 5.1 – Résolution géométrique d’un problème linéaire
avec
(C 0 ) :

3x1 + 9x2 + e1 = 81



 4x + 5x + e = 55
1
2
2

2x
+
x
+
e
1
2
3 = 20



x1 , x2 ≥ 0, e1 , e2 , e3 ≥ 0.
On dit alors que le problème est sous forme standard, et les variables d’écart sont e1 , e2
et e3 .
Itération 1 :
• On cherche une solution exacte au problème (C 0 ). La plus simple est obtenue en faisant
xi = 0 pour tout i et en choisissant ei correctement. On appelle ceci une solution de base
réalisable. On calcule la valeur de F correspondante. Dans notre cas cela donne
x1 = 0,
x2 = 0,
e1 = 81,
e2 = 55,
e3 = 20 et F = 0.
• Dictionnaire : On exprime les variables de base e1 , e2 , . . . en fonction des variables hors
base x1 , x2 , . . . . Ici on obtient
e1 = 81 − 3x1 − 9x2
e2 = 55 − 4x1 − 5x2
e3 = 20 − 2x1 − x2
F = 6x1 + 4x2
76
CHAPITRE 5. SYSTÈMES LINÉAIRES
• Variable entrante xe : On veut affecter une valeur non-nulle à une des variables xi . On
choisira celle qui fera le plus augmenter F . Si on a F de la forme
X
fi xi ,
F (x1 , . . . , xn ) = α +
1≤i≤n
on a intérêt de choisir l’indice j tel que fj = max1≤i≤n fi .
Ici on a F = 6x1 + 4x2 . Comme max{6, 4} = 6, donc xe = x1 .
• Variable sortante xs : On veut affecter une valeur non nulle à cette variable entrante, la
plus grande possible tout en respectant les contraintes xi ≥ 0 et ei ≥ 0. En contrepartie,
une variable sera mise à 0, appelée variable sortant xs . Ici cela donne
81 55 20
x1 = min
, ,
= 10.
>0
3 4 2
Pour x1 = 10, la troisième égalité de (C 0 ) est satisfaite si e3 = 0. Ainsi xs = e3 .
• On calcule la nouvelle solution de base réalisable à l’aide du dictionnaire, ainsi que la valeur
correspondante de F . Ici on obtient
x1 = 10,
x2 = 0,
e1 = 51,
e2 = 15,
e3 = 0 et F = 60.
Ceci correspond à une itération de l’algorithme du simplexe. On remarque que la valeur
de F a augmenté. On itère l’algorithme jusqu’à ce qu’on trouve la valeur maximale de F . Plus
précisément, si on trouve un jeu de variables (yi )1≤i≤n , avec yi ≥ 0, tel que F s’écrive
X
F =β−
g i yi ,
1≤i≤n
avec gi ≥ 0. Alors le maximum de F est β atteint pour yi =0, 1 ≤ i ≤ n.
Itération 2 :
• Dictionnaire : On exprime la variable entrante en fonction des variables hors-base (celles
dont la valeur est nulle) et on fait la substitution dans F . Ainsi
x1 = 10 − 12 x2 − 12 e3
e1 = 81 − 3(10 − 12 x2 − 21 e3 ) − 9x2
e2 = 55 − 4(10 − 12 x2 − 21 e3 ) − 5x2
F = 6(10 − 21 x2 − 21 e3 ) + 4x2
ce qui donne le dictionnaire :
x1 = 10 − 12 x2 − 12 e3
3
e1 = 51 − 15
2 x2 + 2 e3
e2 = 15 − 3x2 + 2e3
F = 60 + x2 − 3e3
• Variable entrante xe : max>0 1, −3 = 1. Donc xe = x2 .
• Variable sortante xs : on maintient x1 ≥ 0, e1 ≥ 0, e2 ≥ 0. Alors
10 51 15
x2 = min
,
,
= 5,
>0
1/2 15/2 3
ainsi xs = e2 .
• Nouvelle solution de base réalisable (étape 2) :
x1 =
15
,
2
x2 = 5,
e1 =
27
,
2
e2 = 0,
e3 = 0 et
max F = 65.
5.5. ALGORITHME DU SIMPLEXE
77
Itération 3 :
• Dictionnaire : On exprime la nouvelle variable de base x2 en fonction des variables horsbase e2 et e3 . On utilise la 3ème équation du dictionnaire de l’étape 2 et on substitue x2
dans les autres relations.
x2 = 5 − 13 e2 + 23 e3
1
5
x1 = 15
2 + 6 e2 − 6 e3
27
5
7
e1 = 2 + 2 e2 − 2 e3
F = 65 − 13 e2 − 73 e3
Dans la formule donnant F , tous les coefficients sont négatifs donc on ne peut plus augmenter F : l’optimum est atteint et la solution optimale est
x∗1 =
15
,
2
x∗2 = 5,
e∗1 =
27
,
2
e∗2 = 0,
e∗3 = 0 et
max F = 65.
Remarque : Voici une application en ligne qui permet de résoudre des PL :
http://www.phpsimplex.com/fr
Sur le site vous trouverez aussi beaucoup de choses intéressantes sur la recherche opérationnelle.
5.5.3
Complexité de l’algorithme du simplexe
On peut construire des exemples avec une complexité exponentielle en O(2n ) itérations, où n
désigne le nombre de variables. Mais dans la pratique la complexité du simplexe croît peu avec
le nombre de variables. En pratique, le nombre d’itérations est de l’ordre de O(m) où m est le
nombre de contraintes.
78
CHAPITRE 5. SYSTÈMES LINÉAIRES
Chapitre 6
Graphes et arbres
6.1
6.1.1
Graphes orientés
Définitions
Définition 6.1
• Un graphe orienté G est défini par la donnée d’un ensemble X = {x1 , . . . , xn } (qui
constitue les sommets) et d’un ensemble Γ = {u1 , . . . , um } (ce sont les arcs ou arêtes).
• Un arc u est en fait un couple de sommets u = (xi , xj ).
• On note G = (X, Γ).
Exemple : Soit G le graphe orienté représenté par :
1
2
5
4
3
Alors G = (X, Γ) avec X = {1, 2, 3, 4, 5} et Γ = {(1, 2), (1, 4), (2, 2), (2, 3), (3, 4), (4, 2)}.
Définition 6.2
Soit G = (X, Γ) un graphe orienté.
• Extrémités d’un arc : Un arc (x, y) possède une extrémité initiale (ou origine) x et
une extrémité finale (extrémité) y.
• Arcs adjacents : deux arcs sont dits adjacents s’ils ont une extrémité commune.
• Arc incident : Un arc u = (x, y) est dit incident vers l’extérieur au sommet x et
incident vers l’intérieur à y.
• Sommet successeur : Le sommet y est dit successeur (strict) du sommet x s’il existe
un arc (x, y). L’ensemble des successeurs d’un sommet x est noté Γ(x).
79
80
CHAPITRE 6. GRAPHES ET ARBRES
• Sommet prédécesseur : Le sommet x est prédécesseur (strict) du sommet y s’il existe
un arc (x, y). L’ensemble des prédécesseurs d’un sommet y est noté Γ−1 (y).
• Sommets adjacents : Le sommet x est dit adjacent au sommet y s’il est un successeur
ou un prédécesseur de y. On dit que les sommets x et y sont voisins. Un sommet sans
voisin est dit isolé.
• Degré d’un sommet : On appelle demi-degré extérieur d’un sommet x le nombre,
noté de (x), d’arcs incidents à x vers l’extérieur et demi-degré intérieur de x le nombre,
noté di (x), d’arcs incidents à x vers l’intérieur. Le degré de x est d(x) = di (x) + de (x).
• Boucle : Tout arc u = (x, x) dont les extrémités coïncident est appelé boucle.
• Circuit : On appelle circuit tout chemin u1 , . . . , up tel que l’extrémité finale de up
coïncide avec l’extrémité initiale de u1 .
• Chemin : On appelle chemin de cardinalité (longueur) p toute suite d’arcs u1 , u2 , . . . , up
telle que l’extrémité finale de uk soit égale à l’extrémité initiale de uk+1 pour tout
k ∈ J1, p − 1K.
6.1.2
Matrice d’adjacence
Définition 6.3
Soit G = (X, Γ) un graphe à n sommets. On définit la matrice d’adjacence A comme étant
une matrice carrée d’ordre n :
1 si (xi , xj ) ∈ Γ
A = (aij ) | aij =
0 sinon
Remarque : La matrice d’adjacence est une matrice booléenne.
Exemple : La matrice d’adjacence du graphe du premier exemple :


0 1 0 1 0
 0 1 1 0 0 



A=
 0 0 0 1 0 .
 0 1 0 0 0 
0 0 0 0 0
Définition 6.4
Soit G = (X, Γ) un graphe orienté.
• G est simple ssi il n’a pas de lien double, ni de boucle.
• G est réflexif ssi ∀xi ∈ X, (xi , xi ) ∈ Γ.
• G est symétrique ssi ∀(xi , xj ) ∈ X 2 , (xi , xj ) ∈ Γ ⇔ (xj , xi ) ∈ Γ.
• G est antisymétrique ssi ∀xi ∈ X, ∀xj ∈ X, xi 6= xj , (xi , xj ) ∈ Γ ⇒ (xj , xi ) 6∈ Γ.
(xi , xj ) ∈ Γ
3
• G est transitif ssi ∀(xi , xj , xk ) ∈ X ,
⇒ (xi , xk ) ∈ Γ.
(xj , xk ) ∈ Γ
• G est complet ssi ∀(xi , xj ) ∈ X 2 |xi 6= xj , (xi , xj ) 6∈ Γ ⇒ (xj , xi ) ∈ Γ.
Dit autrement : il existe toujours un arc entre deux sommets quelconques de G.
6.2. GRAPHES NON ORIENTÉS
1
81
2
3
1
2
3
Figure 6.1 – Exemples de graphes.
Proposition 6.5
Soit G = (X, Γ) un graphe orienté et A sa matrice d’adjacence. Alors G est transitif ssi en
booléen on a A + A2 = A.
Preuve : La matrice A2 permet de connaître les sommets reliés par un chemin de longueur 2.
A2 = (cij ), si cij = 1 alors il existe k tel que cij = aik × akj avec aik = akj = 1.
(xi , xj ) ∈ Γ (aij = 1)
⇒ (xi , xk ) ∈ Γ (aik = 1). Ici aik constitue A2 . Donc
⇒ si
(xj , xk ) ∈ Γ (ajk = 1)
A + A2 = A.
⇐ Si A + A2 = A, alors tout élément de A2 est déjà dans A.
Exemple : • Le premier graphe de la Figure 6.1 admet comme matrice





0
0 0 1
0 1 0
A =  0 0 1 . Alors A2 =  0 1 0  et ainsi A + A2 =  0
0
0 0 1
0 1 0
graphe G est non transitif.
d’adjacence :

1 1
1 1  6= A. Donc le
1 1


0 1 1
• Le second graphe de la Figure 6.1 admet comme matrice d’adjacence : A =  0 0 1 .
0 0 0


0 0 1
Alors A2 =  0 0 0  et ainsi A2 + A = A. Le graphe G est donc transitif.
0 0 0
6.2
6.2.1
Graphes non orientés
Vocabulaire
Définition 6.6
Un graphe non orienté est un couple G = (X, U ) où X est un ensemble de sommets
X = {x1 , . . . , xn } et U un ensemble d’arêtes U = {u1 , . . . , up } avec u = [xi , xj ] = [xj , xi ].
Remarques :
• La notion d’origine ou d’extrémité finale n’a plus de sens ici. L’arête [xi , xj ] est donc la
réunion des arcs (xi , xj ) et (xj , xi ).
• On ne parle plus ni de symétrie, ni d’antisymétrie. En revanche la transitivité a toujours
un sens :
[xi , xj ] ∈ U
⇒ [xi , xk ] ∈ U.
[xj , xk ] ∈ U
82
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.2 – Exemple de graphe connexe
Définition 6.7
• Deux sommets sont adjacents s’ils sont reliés par une arête.
• Deux arêtes sont dites adjacentes si elles sont un sommet commun.
• On remplacera le chemin par une chaîne pour les graphes non orientés.
• On remplacera le circuit par un cycle pour les graphes non orientés.
Définition 6.8
Un graphe non orienté G est dit connexe si deux sommets quelconques sont reliés par une
chaîne.
6.3
6.3.1
Problèmes de coloration de graphes
Coloration de sommets
Définition 6.9
Colorer les sommets d’un graphe non orienté consiste à attribuer à chaque sommet une
couleur de telle manière que deux sommets adjacents soient de couleurs différentes.
Le nombre chromatique γ(G) de G est le plus petit entier k tel que G soit colorable
avec k couleurs (on dira que G est k-colorable).
Exemples : • Dans un réseau, on souhaite attribuer des fréquences de communication aux
différents sites (les sites trop proches ne doivent pas avoir la même), tout en essayant de limiter
le nombre de fréquences différentes. Dans le graphe, chaque sommet représente un site. Si l’on
ne veut pas allouer la même fréquence à deux sites, on les relie par une arête.
• Résoudre un problème d’emploi du temps ou d’incompatibilité, en essayant de limiter le
nombre de groupes.
• Colorier une carte, deux pays voisins ne devant pas avoir la même couleur.
Algorithme de Welsh-Powell :
1. Classer les sommets du graphe dans l’ordre décroissant de leur degré et attribuer à chacun
des sommets son numéro d’ordre dans la liste obtenue.
6.3. PROBLÈMES DE COLORATION DE GRAPHES
83
2. En parcourant la liste dans l’ordre, attribuer une couleur non encore utilisée au premier
sommet non encore coloré et attribuer cette même couleur à chaque sommet non encore
coloré et non adjacent à un sommet de cette couleur.
3. S’il reste des sommets non colorés dans le graphe, revenir à la deuxième étape. Sinon la
coloration est terminée.
Remarque : Cet algorithme fournit une assez bonne coloration d’un graphe (c’est-à-dire qui
n’utilise pas trop grand nombre de couleurs). Mais il n’assure pas que ce nombre est un minimum
(et donc égal au nombre chromatique du graphe).
Exemple : On considère le graphe suivant :
1
2
3
4
5
6
7
8
Liste des sommets ordonnés selon l’ordre décroissant de leur degré :
Sommet
Degré
7
5
5
4
1
3
3
3
4
3
6
3
8
3
2
2
• On passe à la couleur 1 que l’on attribue au sommet 7. Le sommet 6 n’est relié à aucun
sommet de couleur 1, on lui affecte donc cette couleur. Le sommet 2 n’est relié à aucun
sommet de couleur 1, on lui affecte donc cette couleur.
• On passe à la couleur 2 que l’on attribue au sommet 5. Le sommet 1 n’est relié à aucun
sommet de couleur 2, on lui affecte donc cette couleur. Le sommet 3 n’est relié à aucun
sommet de couleur 2, on lui affecte donc cette couleur.
• On passe à la couleur 3 que l’on attribue au sommet 4. Le sommet 8 n’est relié à aucun
sommet de couleur 3, on lui affecte donc cette couleur.
Résultat de la coloration :
Sommet
Degré
Couleur
7
5
1
5
4
2
1
3
2
3
3
2
4
3
3
6
3
1
8
3
3
2
2
1
Donc γ(G) ≤ 3. Peut-on faire mieux ? On voit que les sommets 5, 6 et 8 forment un sousgraphe complet (i.e. tous les sommets sont reliés) à 3 sommets. Donc 3 ≤ γ(G). Par conséquent
γ(G) = 3.
Exemple : D’après le théorème des quatre couleurs 1 , on peut colorer une carte avec seulement
quatre couleurs différentes. Ce problème se ramène à un problème de coloration des sommets
d’un graphe dont les arêtes ne se croisent pas (voir figure 6.3).
1. Ce résultat a été démontré en 1976 par K. Appel et W. Haken. La démonstration repose sur l’usage de
l’ordinateur pour étudier 1478 cas critiques et a nécessité plus de 1200 heures de calcul.
84
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.3 – Illustration du problème des quatre couleurs avec la carte de l’Allemagne.
1
a1
a2
2
a4
2
2
a7
5
a1
a7
a3
1
a6
5
a2
3
a5
a8
5
2
3
a4
4
4
4
3
a6
a8
a3
5
6
6
3
a5
4
Figure 6.4 – Le graphe G et son adjoint G0 .
6.3.2
Coloration d’arêtes
Définition 6.10
Colorer des arêtes d’un graphe G, c’est associer à chaque arête une couleur de telle manière
que 2 arêtes adjacentes soient de couleurs différentes.
Algorithme de coloration d’arêtes : On se ramène à une coloration des sommets d’un graphe
associé à G : G0 graphe adjoint ou line graph (on échange le rôle des sommets et des arêtes).
Puis, on utilise l’algorithme de Welsh-Powell.
Exemple : On considère le graphe G de la figure 6.4. Voici la liste des sommets de G0 ordonnés
selon l’ordre décroissant de leur degré :
Sommet
Degré
a3
4
a4
4
a5
4
a6
4
a1
3
a2
3
a7
3
a8
3
6.4. ARBRE RECOUVRANT DE POIDS MINIMUM
85
Figure 6.5 – Quel est le réseau de coût minimum permettant de relier toutes les succursales ?
• On passe à la couleur 1 que l’on attribue au sommet a3 . Le sommet a6 n’est relié à aucun
sommet de couleur 1, on lui affecte donc cette couleur.
• On passe à la couleur 2 que l’on attribue au sommet a4 . Le sommet a5 n’est relié à aucun
sommet de couleur 2, on lui affecte donc cette couleur.
• On passe à la couleur 3 que l’on attribue au sommet a1 . Le sommet a7 n’est relié à aucun
sommet de couleur 3, on lui affecte donc cette couleur.
• On passe à la couleur 4 que l’on attribue au sommet a2 . Le sommet a8 n’est relié à aucun
sommet de couleur 4, on lui affecte donc cette couleur.
Résultat de la coloration :
Sommet
Degré
Couleur
a3
4
1
a4
4
2
a5
4
2
a6
4
1
a1
3
3
a2
3
4
a7
3
3
a8
3
4
Et γ(G0 ) ≤ 4.
6.4
6.4.1
Algorithmes de recherche d’arbre recouvrant de poids minimum
Introduction
Imaginons que l’on veuille construire un réseau privé pour faire communiquer N succursales
d’une entreprise avec pour objectif d’obtenir le coût le plus bas. On connaît tous les raccordements
possibles et leur coût (voir la figure 6.5).
Comme le but est d’avoir le prix le plus bas, on ne va garder que les raccordements strictement
nécessaires. On s’aperçoit déjà que l’on n’a pas besoin de cycles dans ce graphe. Par contre pour
que toute succursale puisse joindre toutes les autres, le graphe devra permettre de trouver un
chemin entre tous les sommets (on aura donc un graphe connexe). Ainsi la solution est de trouver
un graphe connexe simple sans cycle qui offre le moindre coût de construction. Or un graphe
connexe simple sans cycle est un arbre. Nous allons donc étudier les arbres, leurs propriétés et
deux algorithmes qui permettront de trouver la solution à ce genre de problème.
Définition 6.11
Un arbre est un graphe non orienté connexe simple sans cycle.
86
CHAPITRE 6. GRAPHES ET ARBRES
Par exemple une rivière et ses affluents forment un arbre. On utilise aussi beaucoup les arbres
pour classifier. Par contre, avec notre définition, en théorie de graphe, un arbre généalogique ne
reste un arbre que si on ne remonte pas trop loin (on finira souvent par trouver deux ancêtres
communs à deux conjoints, et donc on formera un cycle).
Définition 6.12
On dit qu’un graphe G0 = (X 0 , U 0 ) est un sous-graphe de G = (X, U ) si X 0 ⊂ X et U 0 ⊂ U .
Définition 6.13
Un sous graphe G0 = (X 0 , U 0 ) est dit couvrant si X 0 = X et G0 est connexe.
Définition 6.14
Soit un graphe G = (X, U ) où chaque arête ui est valuée avec un poids pi . Le poids du
graphe est la somme des poids des arêtes du graphe.
Les arbres sont des graphes qui ont de nombreuses propriétés. En voici quelques-unes :
• Un arbre est toujours un graphe simple.
• Un arbre à N sommets possède N − 1 arêtes.
• Un sous-graphe de G couvrant et sans cycle est un arbre couvrant de G. Ces arbres
sont appelés arbres de recouvrement du graphe G.
• Si un graphe a toutes ses arêtes de poids positif ou nul, il admet un sous-graphe
couvrant de poids minimal, et ce sous-graphe couvrant de poids minimal est un arbre.
Pour résoudre le problème de l’introduction, il faut donc trouver le graphe de recouvrement
de poids minimum. Ce graphe est un arbre. Comme le nombre d’arbres de recouvrement croît
de façon exponentielle avec le nombre de sommets, il n’est pas du tout intéressant de tous les
calculer pour connaître celui qui a le poids minimum. Pour éviter cela, il existe des algorithmes
qui permettent de construire d’entrée un arbre de poids minimal et dont le nombre d’étapes est
une fonction linéaire du nombre d’arêtes. Nous allons voir ces algorithmes.
6.4.2
Algorithme de Kruskal
Soit un graphe G = (X, U ), avec |X| = N et |U | = M . On va construire un arbre recouvrement de G de poids minimum noté τ = (X, T ).
Algorithme de Kruskal :
1. Classer les arêtes par ordre croissant de poids. U = {u1 , u2 , u3 , . . . , um }.
2. Commencer avec un graphe vide : T = ∅ et i = 1.
3. Regarder si l’ajout de ui au graphe crée un cycle.
6.4. ARBRE RECOUVRANT DE POIDS MINIMUM
87
Figure 6.6 – Kruskal : tri des arêtes (les ui numérotées dans par ordre croissant de poids)
Figure 6.7 – Kruskal : étape avec 4 arêtes et étape finale
(a) Si ce nouveau graphe est sans cycle, ajouter ui à T : T ← T ∪ ui .
(b) Si ce nouveau graphe contient un cycle, rejeter ui qui ne sera pas retenue dans l’arbre.
4. Incrémenter i de 1. Si |T | = N − 1 alors Stop, sinon retourner à l’étape 3.
On peut remarquer que durant les phases intermédiaires de l’algorithme de Kruskal, le sous
graphe formé par T n’est pas forcément connexe. On a un ensemble d’arbres disjoints. Un graphe
de cette forme s’appelle une forêt.
Exemple : Faisons tourner cet algorithme sur l’exemple de l’introduction : ici N = 6 et M = 10.
Après classement des arêtes par ordre croissant de poids on obtient U = {u1 , . . . , u10 } de la
figure 6.6.
On pose T = ∅ et i = 1.
Donc on commence par ajouter u1 dans notre arbre : T = {u1 } et i = 2.
Ensuite on ajoute u2 : T = {u1 , u2 } et i = 3.
On peut ajouter u3 toujours sans créer de cycle, donc T = {u1 , u2 , u3 } et i = 4.
À l’étape suivante u4 peut aussi être ajoutée, donc T = {u1 , u2 , u3 , u4 } et i = 5. A ce stade
on obtient la figure 6.7.
On tente alors d’ajouter u5 . Mais (u1 , u4 , u5 ) forment un cycle. u5 est donc rejeté, et i = 6.
On tente alors d’ajouter u6 . Mais (u1 , u4 , u6 , u2 ) forment un cycle. u6 est donc rejeté, et i = 7.
En revanche, on peut rajouter u7 . On obtient T = {u1 , u2 , u3 , u4 , u7 }, et i = 8. Comme
|T | = 5 = N − 1, l’algorithme est terminé. On a τ = (X, T ) un arbre de recouvrement minimal
(voir la figure 6.7).
On peut maintenant évaluer le coût du réseau à mettre en place : c’est le poids de notre arbre
de recouvrement minimal. Donc si pi est le poids de l’arête ui :
coût = p1 + p2 + p3 + p4 + p7 = 1 + 1 + 2 + 2 + 5 = 11.
88
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.8 – Prim : Initialisation de l’algorithme et première étape (u2 ajoutée). Sur le dessin,
l’ensemble S est noté A.
Notez qu’un arbre de recouvrement minimal n’est pas forcément unique. D’autres arbres
peuvent peser le même poids.
6.4.3
Algorithme de Prim
Il existe un autre algorithme de recouvrement, il s’agit de l’algorithme de Prim 2 .
Soit un graphe G = (X, U ), avec |X| = N et |U | = A. On va construire un arbre recouvrement
minimal de G, noté τ = (X, T ).
Algorithme de Prim :
1. Commencer avec un ensemble de sommets S contenant un des sommets de X (au choix,
par exemple x1 ) : S = {x1 }. Et commencer un T l’ensemble des arêtes à vide : T = ∅
2. Calculer q, l’ensemble des arêtes reliant S : q = ω(S).
3. Choisir dans q une des arêtes de poids minimal u.
(a) ajouter u à T .
(b) u relie un sommet xi de l’ensemble S à un sommet xj hors de S. Ajouter xj à S.
4. Si |T | = N − 1, fin,
sinon retourner en 3.
Faisons tourner cet algorithme sur notre exemple.
• Pour démarrer, on va choisir d’initialiser S avec S1 (voir la figure 6.8)
S = {S1 },
q = ω(S) = {u1 , u2 , u3 , u4 },
T = ∅.
On doit choisir une arête de moindre poids dans q. L’arête u1 (de poids 8) est donc exclue.
Les 3 autres (de poids 2) peuvent convenir. On va prendre u2 . Elle est reliée à S4 qui rentre
donc dans l’ensemble S (voir la figure 6.8).
T = {u2 }
S = {S1 , S4 }
q = ω(S) = {u1 , u3 , u4 , u6 , u7 , u8 }.
2. L’algorithme a été développé en 1930 par Jarník puis a été redécouvert et republié par Prim et Dijkstra
en 1959
6.4. ARBRE RECOUVRANT DE POIDS MINIMUM
89
Figure 6.9 – Prim : Deuxième étape (u3 ajoutée) et troisième étape (u9 ajoutée). Sur le dessin,
l’ensemble S est noté A.
• Les trois arêtes de poids 2 de q sont éligibles : u3 , u4 et u8 . On va choisir u3 . Son extrémité S6
entre donc dans S (voir la figure 6.9).
T = {u2 , u3 }
S = {S1 , S4 , S6 }
q = ω(S) = {u1 , u4 , u6 , u7 , u9 , u10 }.
• À cette étape, seule l’arête de poids 1, u9 peut être choisie. On ajoute son extrémité S5
dans l’ensemble S (voir la figure 6.9).
T = {u2 , u3 , u9 }
S = {S1 , S4 , S5 , S6 }
q = ω(S) = {u1 , u6 , u7 , u10 }.
• L’arête de plus faible poids de q est u10 . Son extrémité S3 entre dans S (voir la figure 6.10).
T = {u2 , u3 , u9 , u10 }
S = {S1 , S3 , S4 , S5 , S6 }
q = ω(S) = {u1 , u5 , u6 }.
• L’arête u5 de poids 1 complète notre arbre. Le nombre d’arêtes vaut N − 1 et S enrichi
de S2 l’extrémité de u5 couvre maintenant tout l’ensemble. L’algorithme se termine donc
ici (voir figure 6.10).
T = {u2 , u3 , u5 , u9 , u10 }
S = {S1 , S2 , S3 , S4 , S5 , S6 }.
q = ω(S) = ∅.
Le coût est ici
coût = p2 + p3 + p9 + p10 + p5 = 2 + 2 + 1 + 5 + 1 = 11.
90
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.10 – Prim : Quatrième étape (u10 ajoutée) et dernière étape (arbre trouvé). Sur le
dessin, l’ensemble S est noté A.
Conclusion : L’arbre trouvé ici n’est pas le même qu’avec l’algorithme précédent, mais il pèse
bien le même poids (11). Aussi bien pour Kruskal que pour Prim, il y a des choix à faire (par
exemple, lorsqu’il y a plusieurs arêtes avec le même minimum), et il y a donc plusieurs bonnes
solutions.
Algorithmes gloutons : Les algorithmes de Kruskal et de Prim sont des algorithmes gloutons
(greedy algorithm en anglais). Pour un problème d’optimisation, on dit qu’un algorithme est
glouton s’il cherche à construire une solution optimale pas à pas, sans jamais revenir sur ses
décisions, en prenant à chaque étape la solution qui semble la meilleure localement. En revanche,
en général, la solution rendue par l’algorithme n’est pas forcément optimale (voir par exemple
les problèmes de rendu de monnaie).
6.4.4
Complexité des algorithmes précédents
On considère un graphe non orienté à N sommets et A arêtes (A ≥ N ). On peut montrer
que la complexité de l’algorithme de Kruskal est de O(A ln A) et celui de Prim est de O(A ln N ).
On peut comparer cela au nombre total de sous-graphes ayant N sommets qui est 2A .
Application numérique : On suppose que l’on dispose d’un ordinateur faisant 106 opérations par seconde, comparons les temps de calcul
Valeur de A
10
A
10−5
A ln A
2A = eA ln 2
A2
A5
2
A2 ln A = e2(ln A)
seconde
2.3 · 10−5
seconde
0.001
seconde
10−4
seconde
0.1
seconde
4.03 · 10−2
seconde
30
50
10−5
10−5
3·
seconde
1.0 · 10−4
seconde
17.9
minutes
9 · 10−4
seconde
24.3
secondes
186.7
minutes
5·
seconde
2.0 · 10−4
seconde
35.7
années
2.5 · 10−3
seconde
5.2
minutes
226.9
jours
60
6 · 10−5
seconde
2.5 · 10−4
seconde
366
siècles
3.6 · 10−3
seconde
13.0
minutes
11.5
années
6.5. ALGORITHME DE PLUS COURT CHEMIN
91
Dans le tableau, on a rajouté les trois dernières lignes pour comparaison. Ainsi
A A ln A A2 A5 A2 ln A 2A .
En conclusion, et de façon générale si l’on dispose d’un algorithme quelconque, si l’on veut
pouvoir traiter des valeurs suffisamment grandes de A, il faut un algorithme à complexité au
plus polynomiale O(Ak ) pour un certain k ≥ 1.
6.5
Algorithme de plus court chemin
6.5.1
Introduction et définitions
Les problèmes de cheminement dans les graphes sont parmi les plus anciens de la théorie des
graphes. Ce type de recherche se rencontre soit directement, soit sous la forme d’un problème
dans de nombreuses applications. Toutes les fois que l’on veut trouver un minimum pour un
processus qui passe par une série d’étapes successives, la recherche du plus court chemin est une
méthode adéquate.
Voici quelques exemples :
• Cette technique est utilisée pour trouver la distance minimale ou le temps minimal
d’un trajet routier.
• Cette technique est aussi adaptée pour trouver minimiser un coût (ou le temps) de
production d’un processus industriel qui passe par différentes étapes.
• On peut aussi se servir de cette technique pour minimiser le coût de la gestion de
stocks (pour savoir quand produire, et quand stocker).
Définition 6.15
Étant donné un graphe G = (X, U ), on associe à chaque arc u ∈ U un nombre `(u) ∈ R. On
dit que G est valué par la longueur `(u).
Définition 6.16
Le problème du plus court chemin (PCCH) entre 2 sommets i et j sera de trouver un
chemin pi,j dont la longueur totale `(pi,j ) est minimale. Avec
X
`(pi,j ) =
`(u).
u∈pi,j
6.5.2
Algorithme de Bellman-Ford-Moore
L’interprétation la plus évidente de `(u) est une distance. Mais toute autre valeur peut être
modélisée : un coût de transport, une dépense de construction, une durée, . . .
Pour illustrer ce chapitre nous allons utiliser un problème de remplissage d’un bassin de
rétention d’eau. Une commune doit réussir à faire monter chaque jour 10 m3 d’eau jusqu’à un
bassin nommé H. Pour cela elle puise dans une source A. Entre les deux, elle dispose d’une série
de réservoirs intermédiaires reliés par des pompes (qui consomment de l’énergie), ou des turbines
(qui restituent de l’énergie). Toutes les conduites ont la capacité nécessaire pour faire transiter les
10 m3 d’eau, mais les rendements n’étant pas tous égaux, les coûts en énergie varient beaucoup.
92
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.11 – Par quelles conduites faire transiter l’eau ?
Voici les diverses conduites possibles avec leur coût en kWh (lorsque la conduite passe par
une turbine et redonne de l’énergie, le coût est mis en négatif).
Réservoir
de départ
A
A
A
B
B
C
C
D
D
E
F
G
G
Réservoir
d’arrivée
B
C
D
C
E
F
G
C
H
H
E
F
H
Coût
(kWh)
5
4
3
-2
4
3
-1
1
8
0
2
5
7
Par quelles conduites cette commune doit faire transiter l’eau pour consommer le moins
d’énergie possible ?
Algorithme de Bellman-Ford-Moore :
La première étape consiste à construire le graphe valué de ce problème comme dans la figure 6.11.
Ensuite, on crée un tableau avec une colonne pour chaque sommet, une pour la liste des
sommets qui ont changé, et une dernière pour leurs successeurs. L’algorithme de Bellman-FordMoore (BFM) est un algorithme itératif. Il y aura une nouvelle ligne pour chaque itération (on
ajoute une colonne au début juste pour numéroter ces itérations).
Pour l’itération 0, le tableau est initialisé avec λ(A) = 0 et tous les autres avec ∞. On place
juste A dans les sommets changés, on indique tous les successeurs de A dans la colonne Γ+ .
6.5. ALGORITHME DE PLUS COURT CHEMIN
93
Maintenant à chaque itération il faut reprendre un à un tous les sommets qui apparaissent
dans la colonne Γ+ de l’itération précédente. Un sommet peut apparaître plusieurs fois, il faut
alors le traiter plusieurs fois. En fait, on traite tous les arcs (Sommets changés → Γ+ ) que
l’itération précédente a fait apparaître. On doit donc faire à l’itération suivante autant de calculs
qu’il y a de sommets dans la colonne Γ+ . Par exemple à l’itération 0, il y a un seul sommet
changé (A), qui a trois successeurs (B, C, D). On va donc traiter trois arcs A → B, A → C,
et A → D.
Pour traiter A → B, on écrit dans la colonne de B la somme de la plus petite valeur de la
colonne de A (ici 0) et de la valeur de l’arc A → B (ici 5). Avec ce résultat (0 + 5 = 5), on
note aussi le prédécesseur (donc ici A) pour pouvoir retrouver les sommets du chemin à la fin de
l’algorithme. Reste alors à regarder si la valeur que l’on vient d’ajouter dans la colonne de B est
plus petite que les anciennes. Si oui, on raye les anciennes, et on garde celle-ci (c’est le cas pour
notre exemple), sinon on raye la nouvelle valeur, et on garde l’ancienne. Si les deux valeurs sont
égales, on garde les deux : cela signifie juste qu’il y a pour l’instant plusieurs plus petits chemins
de même longueur.
On traite de la même façon les arcs A → C, et A → D. On obtient le tableau avec l’itération 1
suivant :
Trois sommets ont changé de valeur (puisque pour les trois, la nouvelle valeur était plus petite
que celle calculée jusqu’à présent). On renseigne le Γ+ pour chacun de ces sommets.
Il y a six sommets présents dans la colonne Γ+ , il faut donc faire six calculs pour l’itération 2 :
les six arcs qui doivent être traités sont B → C, B → E, C → F , C → G, D → H, et D → C.
On remarque que C apparaît deux fois dans la colonne Γ+ . Ce sommet sera donc traité deux
fois :
• Pour C venant de B, on obtient la somme de la valeur de B (5) et de l’arc
B → C (−2), donc 3. Comme cette valeur est plus petite que le 4 jusque là choisi, on
raye le 4 et garde le 3.
• Pour C venant de D, on obtient la somme la valeur de D (3) et de l’arc D → C (1),
donc 4. Comme cette valeur est plus grande que celle que l’on vient de placer (3) on la
raye.
On procède de la même façon pour les quatre autres arcs, et on obtient le tableau avec
l’itération 2. Quatre sommets ont changé de valeur (puisque pour les quatre, une nouvelle valeur
était plus petite que celle calculée jusqu’à présent). On renseigne le Γ+ pour chacun de ces
sommets.
94
CHAPITRE 6. GRAPHES ET ARBRES
Pour l’itération 3, il y a encore 6 sommets dans la colonne Γ+ , donc six arcs doivent être traités :
C → F , C → G, E → H, F → E, G → F et G → H. Pour la colonne F et la colonne H il
faut donc faire deux calculs. Pour le calcul de E venant de F , on obtient somme de la valeur
de F (7) avec la longueur de l’arc F → E (2), donc la valeur 9. Comme l’ancienne valeur (9)
est identique, on garde les deux chemins. Mais la valeur de λ(E) reste inchangée à cette étape,
donc E n’apparaîtra pas dans les sommets changés. On obtient le tableau avec l’itération 3. Trois
sommets ont changé de valeur. On renseigne le Γ+ pour chacun de ces sommets.
Pour l’itération 4, trois arcs doivent être traités : F → E, G → F et G → H. Pour le calcul
de F venant de G, on obtient la somme de la valeur de G (2) avec la longueur de l’arc G → F (5),
donc la valeur 7. Comme l’ancienne valeur (6) est plus petite, on raye la nouvelle. Donc la valeur
de λ(F ) reste inchangée à cette étape, et F n’apparaîtra pas dans les sommets changés. On
obtient le tableau avec l’itération 4. Trois sommets ont changé de valeur. On renseigne le Γ+
pour chacun de ces sommets.
6.5. ALGORITHME DE PLUS COURT CHEMIN
95
Figure 6.12 – Dans cet exemple l’algorithme BFM ne converge pas à cause du cycle à poids
négatif (u, y, v).
Pour cette itération, un seul arc doit être traité : E → H. On obtient le tableau suivant :
La colonne Γ+ est vide. L’algorithme est donc fini. La longueur du plus court chemin du
réservoir A vers le réservoir H est donc de 8 kWh. Pour connaître ce chemin le plus court, il
suffit de partir de la colonne de H et de remonter la route : (H) ← (8/E) ← (8/F ) ← (6/C) ←
(3/B) ← (5/A). Le plus court chemin passe donc par A → B → C → F → E → H et il faudra
utiliser 8 kWh par jour pour remplir les 10 m3 du bassin H.
Remarques : • La complexité de cet algorithme est de O(|A||N |) pour un graphe à N sommets
et A arêtes. Il existe d’autres algorithmes de recherche du plus court chemin
plus performants,
par exemple, l’algorithme de Dijkstra de complexité O (|A|+|N |) ln |S| . Mais celui-ci ne permet
pas de traiter les graphes qui possèdent des arcs à poids négatifs.
• Si le graphe possède un cycle à poids négatif (appelé aussi circuit absorbant), l’algorithme
BFM ne converge pas. Voir par exemple la figure 6.12.
96
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.13 – Carte du voyageur de commerce
6.5.3
Exemple du voyageur de commerce
Un voyageur doit aller en voiture de Lyon à Agen. En regardant les cartes (voir figure 6.13),
il a dégagé diverses options pour faire sa route :
• Il peut couper le massif-central par les nationales en passant Le Puy-en-Velay, Brioude et
Cahors.
• Il peut passer par les autoroutes du sud de la France, en passant par Orange, Montpellier,
Narbonne, Toulouse et Montauban.
• Il peut passer par les autoroutes du centre de la France, en rejoignant l’A72 à Feurs, et
ensuite en passant par Clermont-Ferrand, Brive, Cahors, Montauban.
• Il peut enfin faire un mélange de tout cela en profitant éventuellement de l’A75 qui coupe
toutes ces routes.
Sachant qu’il réalise une moyenne de 70 km/h sur les nationales et départementales et de
110 km/h sur les autoroutes quel chemin doit-il emprunter pour faire le trajet le plus rapidement
possible ? Et quel est le temps de ce trajet ?
Pour ce problème il faut rechercher un plus court chemin au sens du temps entre Lyon et
Agen. Il faut commencer par trouver le graphe qui va servir à résoudre le problème. Il n’est pas
utile de conserver les noeuds intermédiaires qui ne concernent que les changements de noms des
routes (comme Feurs, Orange, . . .). Seuls les noeuds aux intersections des routes sont intéressants
pour notre modèle. Il faut aussi calculer le temps de parcours entre chacun des ces noeuds :
• Entre Lyon et Clermont-Ferrand : il y a 77 km de nationales et 88 km d’autoroutes. Ceci
correspond à (77/70 + 88/110) · 60 = 114 minutes de trajet.
• Entre Lyon et Montpellier : il y a 308 km d’autoroutes, soit (308/110) · 60 = 168 minutes
de trajet.
• Entre Lyon et Brioude : il y a 182 km de nationales, soit (182/70) · 60 = 156 minutes de
trajets.
6.5. ALGORITHME DE PLUS COURT CHEMIN
97
• Entre Montpellier et Brioude : il y a 275 km d’autoroutes, soit (275/110) · 60 = 150 minutes
de trajet.
• Entre Brioude et Clermont-Ferrand : il y a 66 km d’autoroutes, soit (66/110) · 60 = 36
minutes de trajet.
• Entre Clermont-Ferrand et Cahors : il y a 275 km d’autoroutes, soit (275/110) · 60 = 150
minutes de trajet.
• Entre Brioude et Cahors : il y a 238 km de nationales, soit (238/70) · 60 = 204 minutes de
trajet.
• Entre Montpellier et Montauban : il y a 275 km d’autoroutes, soit (275/110) · 60 = 150
minutes detrajet.
• Entre Cahors et Montauban : il y a 88 km d’autoroutes, soit (88/110) · 60 = 48 minutes de
trajet.
• Entre Cahors et Agen : il y a 105 km de nationales, soit (105/70) · 60 = 90 minutes de
trajet.
• Entre Montauban et Agen : il y a 66 km d’autoroutes, soit (66/110) · 60 = 36 minutes de
trajets.
On n’a pas d’apriori sur le sens de parcours de l’axe transversal entre Montpellier et ClermontFerrand. Il faudra donc mettre les arcs dans les deux sens pour ces routes.
Il nous reste à trouver le chemin le plus court (au sens du temps). Pour cela on utilise
l’algorithme de Bellman-Ford-Moore.
98
CHAPITRE 6. GRAPHES ET ARBRES
Le voyageur prendra donc 348 minutes (5h48) pour faire le trajet. Il passera par les sommets
Lyon, Clermont, Cahors et Montauban. Donc son plan de route consiste à commencer son voyage
sur des nationales et des départementales jusqu’à Feurs. Là, il passe sur le réseau autoroutier en
rejoignant Clermont-Ferrand par l’A72. Il emprunte alors l’A71 jusqu’à Combronde où il passe
sur l’A89 jusqu’à Brive-la-Gaillarde. Il change alors en passant sur l’A20 jusqu’à Montauban, où
il rejoint l’A62 qui le mènera jusqu’à Agen.
6.5.4
Modélisation des problèmes de plus court chemin
Il y a deux principaux écueils à éviter lorsqu’on veut modéliser un problème avec un plus
court chemin :
1. La carte n’est pas le graphe. Même lorsque l’on modélise un déplacement géographique, il
ne faut pas croire que les différents lieux parcourus seront les différents états du graphes.
Il peut y avoir plein de bonnes raisons pour lesquelles le lieu géographique ne suffit plus à
déterminer l’état : un parcours peut passer plusieurs fois par le même lieu, plusieurs étapes
d’un processus peuvent s’enchaîner sur un même lieu.
2. Les états ne sont pas des lieux géographiques. Excepté dans le cas particulier des parcours
routiers (même si c’est une des applications majeures du PCCH), il est rare que les états du
graphe soient des lieux géographiques. Lorsqu’on veut modéliser un PCCH il faut penser
en « étape ». Les étapes peuvent effectivement être les différents lieux parcourus, mais le
plus souvent il s’agit d’étapes successives dans un processus. Par exemple un processus
industriel pourra commencer par une « production », puis passer par un « transport » et
une « transformation » et finir par une « livraison ». Même si toutes ses étapes peuvent se
passer dans des lieux différents, la modélisation ne reposera pas que sur ces lieux.
Pour illustrer un problème où les états ne sont pas des lieux, voici un exemple d’une production
industrielle.
Exemple : Une entreprise productrice d’acier possède deux sites industriels : un à Issy et l’autre
à Lahba. Elle doit produire et livrer des pièces en acier pour une société localisée à Hayeur. Le
processus pour obtenir ces pièces passe par trois étapes, toutes trois possibles sur les deux sites.
Mais suivant le site, le coût diffère :
• L’extraction du fer coûterait 100 U à Issy, et 120 U à Lahba.
• Le raffinage pour obtenir l’acier coûterait 90 U à Issy, et 110 U à Lahba.
• Le moulage pour obtenir les pièces coûterait 40 U à Issy ou à Lahba.
Il est possible de transporter les matériaux intermédiaires d’un site à l’autre :
• Le transport du fer coûterait 40 U (dans un sens ou dans l’autre).
6.5. ALGORITHME DE PLUS COURT CHEMIN
99
• Le transport de l’acier coûterait 30 U (dans un sens ou dans l’autre).
Enfin la livraison depuis Issy vers Hayeur coûterait 50 U, et celle depuis Lahba vers Hayeur
coûterait 10 U.
Comment l’entreprise doit organiser sa production pour fabriquer et livrer ces pièces au
moindre coût ?
Pour cet exemple aussi il y a des lieux, mais ils ne suffiront pas à modéliser notre problème. Le
but est de minimiser le coût total de production (et livraison). Il va donc falloir faire apparaître
sur notre modèle toutes les étapes de cette production. Pour les identifier il suffit de suivre le
processus industriel :
1. La première étape est l’extraction du minerai.
2. La deuxième étape (optionnelle) est le transport de ce minerai.
3. La troisième étape est le raffinage pour obtenir l’acier.
4. La quatrième étape (optionnelle) est le transport de cet acier.
5. La cinquième étape est la moulage des pièces.
6. La sixième est dernière étape est la livraison de ces pièces.
Chacune de ces étapes peuvent se faire dans deux lieux différents. Il y aura donc au moins
6 · 2 = 12 arcs différents dans notre modèle (puisque pour le PCCH les longueurs -qui ici représenteront les coûts- se placent sur les arcs). Il va falloir placer ces arcs en suivant la logique du
processus industriel, pour créer un chemin qui va de l’extraction à la livraison. Voici le début du
brouillon de ce graphe : le processus commence par l’extraction, mais il y en a deux possibles :
une à Issy, l’autre à Lahba. On place ces deux arcs sur le brouillon :
Une fois l’extraction faite, suit une étape (optionnelle) de transport. S’il n’y pas de transport, il
faut enchaîner immédiatement avec le raffinage. Donc l’arc de l’étape de raffinage doit être placé
directement sur le sommet où arrive l’arc d’extraction (pour que le modèle puisse enchaîner les
deux étapes). Ajoutons cette étape de raffinage au brouillon :
100
CHAPITRE 6. GRAPHES ET ARBRES
Sur ce brouillon, le premier transport (optionnel) n’a toujours pas été placé. Un transport doit
être placé entre l’extraction à Issy et raffinage à Lahba. L’autre transport arrive entre l’extraction
à Lahba, et raffinage à Issy. Donc, sur notre modèle, pour pouvoir enchaîner l’extraction à Issy,
puis le transport entre Issy et Lahba et enfin le raffinage à Lahba, il suffit d’ajouter un arc entre
« Issy 1 » et « Lahba 1 », ainsi on aura bien créer un chemin qui pourra enchaîner les trois
étapes. On place aussi l’arc dans l’autre sens pour le transport dans l’autre sens. On obtient le
brouillon suivant :
Après le raffinage, suit un second transport optionnel, et le moulage. On procède avec le
même raisonnement que précédemment : on fait fait partir le moulage des sommets où arrive
le raffinage, et on place les transports entre « Issy 2 » et « Lahba 2 ». On obtient le brouillon
suivant :
Il ne reste plus qu’à faire la livraison. Les chemins en cours convergent donc vers un même
sommet, ce qui donne le brouillon suivant :
Sur ce graphe toutes les étapes sont bien modélisées, mais il ne convient pas à la modélisation
d’un PCCH. En effet, ce graphe a deux points d’entrée (« Issy 0 » et « Lahba 0 »). Or, la recherche
d’un plus court chemin se fait à partir d’un point unique (vers tous les autres points du graphe).
Ce n’est pas vraiment un problème : les sommets ne sont là que pour nous permettent d’enchaîner
les étapes. Si on s’aperçoit que deux sommets différents sont en fait un point de passage unique de
deux chemins, il suffit de les réunir en seul sommet. Donc on remplace « Issy 0 » et « Lahba 0 »
par un sommet unique que l’on va appeler « Départ ». On obtient au final le modèle suivant :
6.6. ALGORITHME DE RECHERCHE DE FLOT MAXIMAL
101
Puisque le modèle est achevé, continuons avec le calcul de ce plus court chemin. On commence
par simplifier le graphe en supprimant les sommets n’ayant qu’un arc entrant et un seul arc
sortant. On obtient le graphe simplifié suivant :
On applique l’algorithme de Bellman-Ford-Moore :
L’entreprise devra donc dépenser 270 U pour produire et livrer les moulages d’acier. Pour
cela, elle devra extraire minerai et raffiner l’acier à Issy, puis transporter cet acier à Lahba. Là
il sera moulé puis livré à Hayeur.
6.6
6.6.1
Algorithme de recherche de flot maximal
Présentation du problème
Le problème du flot maximal consiste à faire passer un flot optimal à travers un réseau de
transport. Un réseau de transport est un graphe orienté sans boucle, dont chaque arc est valué
par un nombre représentant sa capacité de transport, c’est à dire le nombre maximal d’éléments
que l’on peut faire transiter par cet axe. On distingue deux sommets particuliers dans ce graphe :
la source S, et le puits P . Le problème sera de trouver la capacité du transit maximal entre la
source et le puits. La capacité d’un arc u sera notée c(u), et le flot attribué à cet arc sera
noté ϕ(u).
102
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.14 – Modèle avec juste la capacité de transport
Figure 6.15 – Modèle avec un flot et la capacité de transport
Figure 6.16 – Le flot doit être équilibré sur tous les sommets
Pour les dessiner on va adopter quelques notations. Pour décrire ce graphe de transport, les
capacités seules suffisent. Donc on dessinera des graphes avec une seule valeur sur les arcs. Cette
valeur correspondra alors à la capacité de transport de cet arc. Sur l’exemple de la figure 6.14,
l’arc A → B permet le passage de 15 eléments au maximum.
Lorsque l’on va rechercher le flot-max, en plus de la capacité on va devoir noter le flot que
l’on fait circuler sur l’arc. Cette valeur sera notée avant la capacité avec une barre de fraction
pour les séparer : flot/capacité. En aucun cas le flot qui traverse un arc ne peut être supérieur à
sa capacité. Sur l’exemple de la figure 6.15, l’arc A → B est traversé par un flot de 9 éléments.
Comme sa capacité totale est de 15, on dira que sa capacité résiduelle est de 6 (15 - 9).
Dans un réseau de transport les éléments qui circulent entrent tous dans le graphe par un
sommet unique appelé la source. Ils doivent tous transiter et sortir par un sommet unique appelé
le puits. Il faut donc vérifier que la totalité du flot qui arrive au puits est égal à la totalité du
flot qui part de la source. De plus les autres sommets (entre la source et le puits) n’ont pas le
droit de faire apparaître ou disparaître le moindre élément. Donc pour tous les autres sommets
on doit vérifier que la somme des flots entrant est égale à la somme des flots sortant.
Par exemple sur l’extrait de graphe de la figure 6.16, il y a un flot de 2 + 6 + 7 = 15 éléments
qui arrivent sur le sommet E. Il y a en bien aussi 15 qui en partent (5 + 10).
6.6. ALGORITHME DE RECHERCHE DE FLOT MAXIMAL
103
Figure 6.17 – Début de la modélisation
Figure 6.18 – Fin de la modélisation
6.6.2
Un exemple
Un magasin M spécialisé dans les téléphones mobiles a une capacité de vente de 500 appareils
par jour. Il se les fait livrer chaque matin à partir de deux entrepôts (E1 et E2). La capacité
de livraison à partir de l’entrepôt E1 vers le magasin est de 400 appareil chaque matin. Pour
l’entrepôt E2 elle est de 300 appareils. Les entrepôts se font eux-même approvisionner régulièrement : la capacité moyenne des arrivées sur l’entrepôt E1 est de 500 appareils par jour. Pour
l’entrepôt E2 elle est de 900. Le gérant du magasin s’est aperçu que la capacité d’accueil de ses
entrepôts dépassait la capacité de vente de son magasin. Il a donc aussi développé un système
de vente directe dans ses entrepôts. La capacité de vente de l’entrepôt E1 est de 400 appareils
par jour. Celle de l’entrepôt E2 de 500 appareils. Dans ces conditions combien peut-il vendre au
maximum d’appareils chaque jour ? Il faut commencer par modéliser le problème pour obtenir
le graphe de transport qui correspond à cet énoncé. Dans ce graphe de transport, chacune des
contraintes (capacité de vente, de livraison, d’approvisionnement) devra apparaître sous la forme
d’un et un seul arc. Ensuite il faudra créer tous les chemins possibles entre les approvisionnements
et ventes. Au tout début du circuit commercial, il y a les approvisionnements des deux entrepôts.
On va donc commencer à placer ces deux arcs avec leur deux contraintes (500 appareils pour E1
et 900 pour E2).
Il y a deux usages possibles des appareils arrivés dans les entrepôts : soit ils sont vendus
directement sur place, soit ils sont livrés au magasin M . Depuis l’entrepôt E1 on peut en vendre
400 et en livrer 400, depuis l’entrepôt E2 on peut en vendre 500 et en livrer 300.
Les appareils arrivés au magasin doivent être vendus. On ajoute donc cette capacité au graphe
(500). Toutes les contraintes seront alors reportées sur le modèle. Mais un graphe de transport
ne doit avoir qu’une seule entrée (la source) et qu’une seule sortie (le puits). Donc on ajoute un
somme S pour servir d’origine à tous les arcs en début de graphe, et un sommet P pour servir
de destination à tous les arcs en fin de graphe.
104
6.6.3
CHAPITRE 6. GRAPHES ET ARBRES
Algorithme de Ford-Fulkerson
Une fois la modélisation terminée, il faut utiliser l’algorithme de Ford-Fulkerson pour trouver
le flot maximal du graphe de transport. Cet algorithme se passe en deux phases :
1. Le flot au jugé : on commence par établir un premier flot au jugé le meilleur possible.
2. L’amélioration de ce flot jusqu’au flot max : grâce à un algorithme itératif on va améliorer
le flot jusqu’à prouver qu’on ne peut plus faire mieux, et l’on a alors trouvé le flot maximal.
L’algorithme débute sur un graphe avec un premier flot établi. Ce premier flot est quelconque,
il peut même être nul. Mais pour diminuer le nombre d’itérations mieux vaut essayer de faire
passer au jugé le meilleur flot possible. L’idéal est d’avoir le flot maximal dès le départ, car
ainsi l’algorithme se terminera très vite ! Le but de cet exemple étant de montrer la technique,
le premier flot au jugé que l’on va placer sur le graphe ne sera pas optimal (on pourra ainsi
montrer comment on peut l’améliorer). Pour ce premier flot, on va commencer par privilégier
les ventes en magasin. Pour cela, on va acheminer un maximum de l’approvisionnent du premier
entrepôt vers la vente en magasin : il y a 500 appareils qui peuvent arriver en E1, 400 peuvent
être livrés au magasin, et 500 peuvent être vendus. Donc sur cette route, on peut faire passer au
maximum 400 appareils (la plus petite des 3 capacités).
Ensuite on va compléter les ventes du magasin avec les approvisionnements de E2. Il y
a 900 appareils qui peuvent arriver en E2, 300 peuvent être livrés au magasin, mais la capacité
résiduelle de vente n’est que de 100. Donc on fait passer un flot de 100 appareils par cette route.
Enfin, on va vendre directement aux entrepôts le maximum de ce qui n’a pas pu être livré au
magasin : 100 appareils pour E1, et 500 appareils pour E2.
6.6. ALGORITHME DE RECHERCHE DE FLOT MAXIMAL
105
Il y a 1100 appareils qui partent de la source (et autant qui arrivent au puits, sinon il y aurait
un erreur). Donc le flot actuel est de 1100 appareils.
Ce n’est pas le flot maximal, et on va le prouver dans la section suivante.
Algorithme de Ford-Fulkerson :
L’algorithme de Ford-Fulkerson est un algorithme itératif qui se fait en trois étapes :
• Le marquage : il va essayer de trouver un suite d’arcs allant de la source au puits
pour améliorer le flot : cette suite d’arcs sera appelée une chaîne améliorante.
• Le calcul du gain : si on a trouvé une chaîne améliorante, cette étape sert à
calculer de combien on va pouvoir augmenter le flot grâce à cette chaîne.
• L’augmentation du flot : il s’agit du report du gain sur la chaîne améliorante
que l’on a trouvée.
Tant que le marquage arrive à trouver une chaîne améliorante, on recommence les trois étapes
en boucle.
Algorithme de Ford-Fulkerson : étape du marquage
Cette première étape de l’algorithme consiste à chercher soit un chemin non saturé allant de
source S au puits P , soit une chaîne permettant de dérouter une partie du flot pour désaturer
un arc au profit d’un flot parallèle. Pour cela on va construire une chaîne améliorante allant de S
à P . Cette étape peut prouver que cette chaîne n’existe pas, ce qui signifie que le flot maximal
est déjà atteint. Ce marquage devra déjà respecter trois axiomes de bases :
1. On commence toujours en marquant la source S d’une *.
2. On ne marque jamais une seconde fois un sommet déjà marqué.
3. On ne peut marquer que les sommets voisins des sommets déjà marqués.
Une fois la source marquée, on va essayer de marquer les autres sommets de proche en proche.
On ne peut marquer que les sommets voisins d’un sommet déjà marqué grâce à deux règles qui
dépendent du sens de l’arc.
1. Soit l’arc va du sommet X marqué vers le sommet Y non marqué : si sur cet arc il reste de
la capacité résiduelle (le flot qui passe est inférieur à la capacité de l’arc), alors on marque
le sommet Y avec un +X (voir figure 6.19).
2. Soit l’arc va du sommet Y non marqué vers le sommet X marqué : si sur cet arc il y a un
flot non nul qui circule, alors on marque le sommet Y avec un −X (voir figure 6.19).
On essaye ainsi de marquer les sommets de proche en proche jusqu’à marquer le puits. On
s’arrête soit quand on a réussi à marquer le puits P , soit quand aucun nouveau sommet ne peut
être marqué avec une des 2 règles. Si le puits P n’a pas pu être marqué, c’est que le flot est déjà
106
CHAPITRE 6. GRAPHES ET ARBRES
Figure 6.19 – Les deux règles de marquage
maximal. Sinon, on vient de trouver une chaîne améliorante. Il faut alors en calculer le gain.
Mais avant de faire le calcul de ce gain, appliquons l’algorithme de marquage à notre exemple.
On commence par marquer la source S avec une *.
Ensuite comme on ne peut marquer que les sommets voisins des sommets déjà marqués,
seul E1 et E2 peuvent être marqués. Comme les arcs partent de S pour aller vers ces sommets,
on va appliquer la première des deux règles. Sur l’arc S −→ E1, il ne reste plus de capacité
résiduelle (on est à 500 sur 500), il n’est donc pas possible de marquer E1 à cette étape. Par
contre sur l’arc S −→ E2 il reste 300 de capacité résiduelle (on est à 600 sur 900), donc on peut
marquer E2 d’un +S.
On ne peut plus rien marquer à partir de S, mais comme E2 est marqué, on peut tenter de
marquer les voisins de E2. Le sommet E2 a trois voisins : S, M , et P . Comme S est déjà marqué,
on ne peut donc pas le remarquer. Pour M , et P les arcs partent de E2, on applique donc encore
la première règle. L’arc E2 −→ P n’a pas de capacité résiduelle (on est 500 sur 500), il n’est
donc pas possible de marquer P pour l’instant. Par contre il reste 200 de capacité résiduelle sur
l’arc E2 −→ M , donc on peut marquer M avec un +E2.
On a fini tout ce que l’on pouvait tenter avec E2. On va continuer avec un autre sommet
marqué pas encore traité. Il n’y a que M . Le sommet M a trois voisins : E1, E2 et P . Le
sommet E2 est déjà marqué, donc impossible de le marquer une seconde fois. L’arc M −→ P part
de M , il faut donc appliquer la première règle. Comme il est saturé (aucune capacité résiduelle),
on ne peut pas encore marquer P . L’arc E1 −→ M arrive sur M . Donc cette fois on utilise la
seconde règle. Comme il y a un flot non nul (il circule 400 mobiles), on peut marquer E1 mais
cette fois avec un « - » soit −M .
On a fini tout ce que l’on pouvait tenter avec M . On passe à E1 qui est maintenant marqué.
Il a trois voisins : S, M et P . Comme S et M sont déjà marqués, on ne peut donc pas les
6.6. ALGORITHME DE RECHERCHE DE FLOT MAXIMAL
107
Figure 6.20 – Marquage du graphe
marquer à nouveau. L’arc M −→ P n’est pas saturé, on peut donc appliquer la première règle,
et marquer P avec un +E1. Comme P est marqué, le marquage est terminé.
Algorithme de Ford-Fulkerson : étape du calcul du gain
Le marquage de l’étape précédente a trouvé une chaîne améliorante. Pour trouver le gain
qu’elle permet il faut commencer par lire cette chaîne. Pour cela on part du puits, et on remonte
la piste du marquage. Utilisons l’exemple pour expliquer cette lecture. Le sommet P qui est en
bout de chaîne, est marqué par un +E1, donc le sommet qui est juste avant lui dans la chaîne
est E1. La chaîne se termine donc par :
E1 −→ P.
Le sommet E1 est marqué de −M . Donc le sommet M précède E1 dans la chaîne, mais attention
comme il y a −, il s’agit d’un arc qui est dans l’autre sens (il va de E1 vers M , comme dessiné
sur le graphe). On parle dans ce cas d’arc inverse. La chaîne se termine donc par :
M ←− E1 −→ P.
Le sommet M est marqué d’un +E2. Donc le sommet qui le précède dans la chaîne est E2 :
E2 −→ M ←− E1 −→ P.
Enfin, E2 est marqué avec un +S, donc on a remonté la piste jusqu’à la source, et on a fini la
lecture de la chaîne améliorante :
S −→ E2 −→ M ←− E1 −→ P.
Maintenant il faut trouver le gain permi par cette chaîne. Pour cela on va regarder chaque arc
de la chaîne pour appliquer une des deux règles suivantes :
1. Soit il s’agit d’un arc direct (orienté dans le bon sens, gauche vers droite), dans ce cas on
va indiquer la capacité résiduelle de l’arc.
2. Soit il s’agit d’un arc inverse (orienté dans le sens droite vers gauche), dans ce cas on va
indiquer le flot qui circule sur l’arc.
Pour notre exemple il y 3 arcs directs : S −→ E2 avec 300 de capacité résiduelle, E2 −→ M
avec 200 de capacité résiduelle, et E1 −→ P avec 300 de capacité résiduelle. Il y a 1 seul arc
inverse M ←− E1 avec 400 de flot.
900−600=300
300−100=200
400
400−100=300
S −−−−−−−−→ E2 −−−−−−−−→ M ←−− E1 −−−−−−−−→ P.
108
CHAPITRE 6. GRAPHES ET ARBRES
Le gain que permet la chaîne améliorante est la plus petite des valeurs que l’on a placées sur
les arcs. Donc ici le gain de notre chaîne est de 200 appareils. Une fois ce gain évalué, il faut le
reporter sur le flot du graphe, comme sur la figure suivante :
Algorithme de Ford-Fulkerson : étape de l’augmentation du flot
Maintenant que l’on connaît la valeur du gain, il suffit de reparcourir sur le graphe la chaîne
améliorante que l’on a trouvée, mais cette fois ci, en ajoutant le flot aux arcs directs, et en le
retirant sur les arcs inverses. Donc pour notre exemple, on ajoute 200 sur les arcs S −→ E2,
E2 −→ M et E1 −→ P , et on retire 200 sur l’arc M ←− E1.
On vérifie que le nouveau flot obtenu (la somme de tout ce qui part de la source ou de tout
ce qui arrive au puits) est passé à 1300 (on a donc bien un gain de 200 par rapport au 1100
d’avant), et que tous les sommets ont toujours un flot équilibré (pour tous les sommets, il y a
toujours autant d’appareils qui arrivent que d’appareils qui en partent).
Algorithme de Ford-Fulkerson : étape du marquage
On réitère l’algorithme, pour voir si l’on peut encore améliorer le flot. Ainsi, on reprend
l’étape de marquage : deux arcs partent de la source, mais un seul n’est pas saturé. Donc à partir
de la source, seul E2 peut être marqué
On a fini les marquages possibles à partir de la source, on passe à E2 le seul autre sommet
marqué. Il a 3 voisins : le sommet S est déjà marqué, et les deux arcs qui partent vers M et P
sont saturés. Il n’y a donc pas de marquage supplémentaire possible. L’algorithme s’arrête là.
Comme on n’a pas pu marquer le puits, la valeur du flot qui circule sur ce graphe (1300 appareils)
est le flot maximal.
Chapitre 7
Initiation aux chaînes de Markov et
applications
7.1
Introduction
Un processus stochastique est une suite de variables aléatoires X0 , X1 , . . ., Xn , . . . qui décrit
l’évolution d’un phénomène aléatoire. On travaille en temps discret (les v.a. sont indexées par les
entiers) et on supposera de plus que l’espace d’état E dans lequel le processus prend ses valeurs
est fini. Les processus stochastiques interviennent de façon très naturelle dans les applications.
Exemples : • Météorologie : Xn est la température en un lieu donné au jour n ou encore hauteur
des précipitations pour l’année n.
• Bourse : Xn est le cours d’un action le jour n ou le chiffre d’affaire d’une société l’année n.
• Épidémiologie : Xn est le nombre d’individus infectés par la grippe le jour n (d’un jour à
l’autre, une personne peut guérir, rester malade ou être infectée).
On notera d’emblée qu’il n’y a, a priori, pas d’indépendance des v.a. (Xj )j≥0 .
Lorsque l’évolution d’un processus stochastique après une date n ne dépend du passé X0 , X1 ,
. . ., Xn qu’à travers sa position au temps n (et non pas du trajet qu’il a suivi pour atteindre cet
état), on dit qu’il vérifie la propriété de Markov. Ce phénomène apparait souvent. Par exemple,
si on bat un jeu de cartes suivant toujours la même technique : la distribution aléatoire des
cartes au rang n + 1 sachant les ordres aux rangs 1, . . ., n, ne dépend que de l’ordre n et pas des
précédents.
Définition 7.1
• On dit que X0 , X1 , . . ., Xn , . . . est une chaîne de Markov
P (homogène) sur un ensemble
E s’il existe des nombres réels positifs (pij )i,j∈E avec j∈E pij = 1 pour tout i ∈ E,
tels que pour tout n ∈ N, tous i, j, x0 , . . . , xn ∈ E
P (Xn+1 = j|X0 = x0 , X1 = x1 , . . . , Xn−1 = xn−1 , Xn = i) =
= P (Xn+1 = j|Xn = i) = pij ,
pourvu que l’espérance conditionnelle soit bien définie.
• On appelle (pij )i,j∈E la probabilité de transition pour l’état i.
• Lorsque l’espace d’état E est fini, P = (pij )i,j∈E est une matrice que l’on appelle
matrice de transition de la chaîne.
109
110
CHAPITRE 7. INITIATION AUX CHAÎNES DE MARKOV ET APPLICATIONS
Figure 7.1 – Chaîne de Markov à deux états
Dans la suite on se limitera au cas où E est un ensemble fini. Attention, certains des résultats
suivants ne sont valables que pour un espace d’états E fini.
Exemple : Chaîne à deux états : Considérons l’état d’une ligne téléphonique Xn = 0 si la ligne
est libre à l’instant n, et Xn = 1 si la ligne est occupée. Supposons que sur chaque intervalle de
temps, il y a une probabilité p qu’un appel au plus arrive. Si la ligne est déjà occupée, l’appel
est perdu. Supposons également que si la ligne est occupée au temps n, il y a une probabilité q
qu’elle se libère au temps n + 1. On peut modéliser
ainsi une chaîne de Markov à valeurs dans
1−p
p
E = {0, 1}, avec matrice de transition P =
. Voir Figure 7.1.
q
1−q
Exemple : Voici un simulateur de chaînes de Markov en ligne :
http://www.zweigmedia.com/RealWorld/markov/markov.html
Il permet de simuler des chaînes à 2,3 ou 4 états. Faites des essais !
7.2
Théorème de Chapman-Kolmogorov
Dans cette partie on énonce le résultat principal qui permet de calculer la loi de Xn à partir
de celle de X0 .
Notation : Soit
P X : Ω −→ E une v.a. Sa loi est donnée par P (X = j) = µj pour j ∈ E. On a
0 ≤ µj ≤ 1 et j∈E µj = 1. On peut identifier cette loi à un vecteur ligne µ = (µ1 , . . . , µN ) où
N = Card(E).
Théorème 7.2 (Chapman-Kolmogorov )
Soit (Xn )n∈N une chaîne de Markov sur E de matrice de transition P . Alors
1. Pour tous x0 , . . . , xn ∈ E, on a
P (X1 = x1 , . . . , Xn = xn |X0 = x0 ) = px0 ,x1 · · · pxn−1 ,xn .
2. On a pour tous i, j ∈ E et n ≥ 1
(n)
P (Xn = j|X0 = i) = pij ,
(n)
où (pij ) sont les coefficients de la matrice P n .
3. On note µ(0) la loi de X0 . Alors la loi µ(n) de Xn vérifie la relation de récurrence :
µ(n+1) = µ(n) P = µ(0) P n+1 .
7.3. COMPORTEMENT ASYMPTOTIQUE DES CHAÎNES DE MARKOV
111
Exemple : On considère la chaîne à deux états illustrée par la Figure 7.1 avec p = 1/2 et q = 1/4.
1/2 1/2
Alors la matrice de transition est P =
.
1/4 3/4
(2)
• Calculons P (X2 = 1|X0 = 1). D’après le théorème précédent, on a P (X2 = 1|X0 = 1) = p22
où
P2 =
3/8
5/8
=
5/16 11/16
p11
(2)
p12
(2)
p22
p21
(2)
(2)
!
,
(2)
ainsi P (X2 = 1|X0 = 1) = p22 = 11/16.
• Calculons A = P (X3 = 0, X2 = 1, X1 = 0|X0 = 0). D’après le théorème précédent,
1
A = p11 p12 p21 = 12 · 12 · 14 = 16
.
1/2 1/2
(0)
(1)
(0)
• Si µ = (1, 0), alors µ = µ P = (1, 0)
= (0.5, 0.5).
1/4 3/4
De même, µ(2) = µ(1) P = (0.375, 0.625). Par exemple on a µ(5) = (0.33398, 0.66602) : ceci
montre que la distribution semble rapidement se stabiliser à (1/3, 2/3). On prouvera cela par la
suite.
Exercice : Refaire les calculs précédents avec le logiciel Scilab.
On conclut cette partie par une définition qui sera utile pour la suite
Définition 7.3
Une probabilité π sur E est dite invariante pour P si c’est un point fixe pour l’équation de
Chapman-Kolmogorov, i.e.
π = πP.
On dit également que π est une distribution stationnaire pour P .
Cette définition soulève les questions naturelles suivantes :
A-t-on toujours existence d’une probabilité invariante ? Est-ce que celle-ci peut aider à décrire
la loi de Xn pour n grand ?
7.3
Comportement asymptotique des chaînes de Markov
On rappelle que P désigne la matrice de transition d’une chaîne de Markov (Xn )n≥0 . On
s’intéresse à la distribution de Xn quand n → +∞, ce qui revient à étudier la suite de matrices P n
quand n → +∞.
On rappelle également que l’on suppose que E est un ensemble fini. Attention, certains des
résultats suivants ne sont valables que pour un espace d’états E fini.
Définition 7.4
Soit (Xn )n≥0 une chaîne de Markov de matrice de transition P .
• On dit qu’elle est irréductible si ∀(i, j) ∈ E × E il existe k (pouvant dépendre de
(k)
(i, j)) tel que pi,j > 0.
• On dit qu’elle est fortement irréductible s’il existe k (absolu) t.q. ∀(i, j) ∈ E × E,
(k)
pi,j > 0.
112
CHAPITRE 7. INITIATION AUX CHAÎNES DE MARKOV ET APPLICATIONS
L’irréductibilité d’une chaîne de Markov signifie que deux états de la chaîne sont reliés.
Pour tous i, j ∈ E, il existe une suite finie x0 = i, . . . , xk = j telle que pxi ,xi+1 > 0 pour tout
(k)
0 ≤ i ≤ k − 1. Ainsi pi,j = P (Xk = j | X0 = i) > 0. L’irréductibilité de P est équivalente à
la connexité du graphe orienté, i.e. pour tout (i, j) ∈ E × E, il existe un chemin dans le graphe
composé d’arêtes les reliant.
Une chaîne de Markov est fortement irréductible si et seulement si il existe k ≥ 1 tel que tous
(k)
les coefficients de la matrice P k sont strictement positifs (pi,j > 0 pour tous les i, j).
Exemple : La chaîne à deux états est irréductible (et même fortement irréductible) si 0 < p, q ≤ 1.
Si p = q = 0, elle n’est pas irréductible (les deux états 0 et 1 ne sont pas liés).
Théorème 7.5
Une chaîne de Markov irréductible admet une unique probabilité invariante notée π. De plus
πj > 0, ∀j ∈ E.
L’irréductibilité d’une chaîne de Markov ne suffit pas pour assurer la convergence en loi de Xn
vers la mesure invariante. Il faut supposer de plus que la chaîne est fortement irréductible :
Théorème 7.6 (Théorème ergodique)
Supposons P fortement irréductible de probabilité invariante π, alors pour toute probabilité
initiale µ (i.e. (P (X0 = i) = µi pour i ∈ E) on a :
lim µP n = π
n→∞
Ainsi, si X0 est de loi µ quelconque, la suite de v.a. (Xn )n≥0 converge en loi, et sa distribution
limite est donnée par π :
lim P (Xn = j) = πj .
n→∞
On peut noter que la distribution limite ne dépend pas de la distribution initiale µ.
Exemple : On considère à nouveau la chaîne à deux états illustrée par la Figure 7.1 avec p = 1/2
1/2 1/2
et q = 1/4. Alors la matrice de transition est P =
.
1/4 3/4
On remarque que tous les états sont reliés, donc la chaîne de Markov est fortement irréductible
(avec k = 1). Le Théorème 7.5 assure l’existence d’une unique mesure de probabilité invariante π.
D’après le Théorème 7.6, on a convergence en loi de (Xn )n≥0 vers π. Calculons cette distribution
invariante π = (π1 , π2 ), où π1 , π2 ≥ 0 et π1 + π2 = 1. On résout l’équation
1/2 1/2
(x, y)
= (x, y).
1/4 3/4
Ceci est équivalent au système
1
2x
1
4x
+ 21 y = x
+ 43 y = y,
1
dont les solutions sont {( y, y), y ∈ R}. Avec la contrainte x, y ≥ 0 et x + y = 1, on trouve
2
π = (1/3, 2/3).
0 1
Exemple : On considère l’exemple précédent, mais avec p = q = 1, donc P =
. Alors on
1 0
remarque que pour tout k ∈ N, P 2k = I et P 2k+1 = P . On dit que la chaîne est périodique, et on
7.4. APPLICATION À L’ALGORITHME PAGERANK DE GOOGLE
113
Figure 7.2 – Quatre pages internet et leurs liens
n’a pas convergence en loi de la suite (Xn )n≥0 . Ceci est compatible avec les résultats précédents.
La matrice P n’est pas fortement irréductible, donc le Théorème 7.6 ne s’applique pas.
7.4
Application à l’algorithme PageRank de Google
On représente le réseau Internet comme un graphe orienté. Les sommets représentent les pages
web, et un arc orienté entre deux pages, signifie qu’il existe un lien hypertexte de la première
vers la seconde. Dans la suite on va considérer l’exemple de la Figure 7.2. On va présenter
une méthode pour classer ces pages par ordre d’importance, qui est une version simplifiée de
l’algorithme PageRank 1 utilisé par Google.
On considère un promeneur aléatoire qui passe d’une page à l’autre en cliquant sur les liens
existants, avec équiprobabilité. Par exemple, lorsqu’il se trouve sur la page B, il a une probabilité
de 1/2 de se retrouver sur la page Z et une probabilité 1/2 de se retrouver sur la page B à l’étape
suivante.
L’importance de chaque page va être donnée par sa probabilité d’être visitée après un grand
nombre d’itération du promeneur.
On modélise ce problème par une chaîne de Markov. On définit les v.a. (Xn )n≥0 qui donnent
la position du promeneur après le clic n. La matrice de transition est donnée par

0
1
2
P =
0
1
0
0
1
2
0
1
2
0
0
0
1
2
1
2
1 ,
2
0
où le coefficient pi,j donne la probabilité d’aller de la page i à la page j, avec la convention A ≡ 1,
B ≡ 2, C ≡ 3 et Z ≡ 4.
D’emblée on remarque que cette chaîne est irréductible (on peut accéder à n’importe quelle
page, y compris sur laquelle on se trouve, en un nombre fini de clics). D’après le Théorème 7.5
on a existence et unicité d’une probabilité invariante π donnée par πP = π.
1. L’algorithme a été inventé par Sergey Brin et Larry Page, d’où le nom PageRank.
114
CHAPITRE 7. INITIATION AUX CHAÎNES DE MARKOV ET APPLICATIONS
Commençons par calculer π : on est amené à résoudre le système


0 0 21 12
1 0 0 1
2
2
(x, y, z, t) 
 0 1 0 1  = (x, y, z, t),
2
2
1 0 0 0
équivalent à




1
2y
+t =
=
1
x
=


 12
1
1
x
+
y
+
z
=
2
2
2
1
2z
x
y
z
t
La solution est donnée par {(2z, 12 z, 47 z, z), z ∈ R}. En tenant compte des contraintes x, y, z, t ≥ 0,
1
(8, 2, 4, 7) = (0.38; 0.10; 0.19; 0.33).
x + y + z + t = 1, on trouve l’unique solution π = 21
Question : A-t-on convergence de la chaîne de Markov vers π ?
Pour appliquer le Théorème 7.6, il faut déterminer si la chaîne est fortement irréductible, i.e.
voir s’il existe un entier k tel que les coefficients de P k sont tous strictement positifs. On vérifie
que k = 1, 2, 3, 4 ne conviennent pas, mais que l’on prendre k = 5 (vérifier sur le graphe que
n’importe quelle page est atteignable en 5 clics). On peut donc appliquer le Théorème 7.6 et on
déduit la convergence en loi de la suite (Xn )n≥0 vers la probabilité π.
L’ordre d’importance des pages est alors le suivant : A, Z, C, B. Plus précisément, si n
est assez grand, le promeneur a une probabilité 8/21 ≈ 0.38 de se trouver sur la page A, une
probabilité 7/21 ≈ 0.33 de se trouver sur la page Z, une probabilité 4/21 ≈ 0.19 de se trouver
sur la page C et une probabilité 2/21 ≈ 0.1 de se trouver sur la page B.
Remarques : • L’intérêt de cette méthode est qu’elle prend en compte l’ensemble du réseau
pour attribuer le classement de chaque page.
• S’il existe une page qui ne possède aucun lien pointant vers une autre page (on parle d’état
absorbant et dans ce cas la chaîne de Markov associée n’est pas irréductible), alors le promeneur
finira par se retrouver piégé par cette page. Il faut donc une amélioration de la méthode pour
éviter cet écueil. Brin et Page ont proposé de remplacer la matrice de transition M de la chaîne
par (1 − α)M + αQ, où α > 0 est petit (en fait on fait le choix de α = 0.15) et Q ∈ MN (R) est la
matrice dont tous les coefficients valent 1/N . La chaîne ainsi obtenue est fortement irréductible
et on a convergence vers l’unique probabilité invariante (Théorème 7.6).
Dans notre exemple,


0
0 0.5 0.5
0.5 0
0 0.5

P =
 0 0.5 0 0.5
1
0
0
0
est remplacée par

0.0375
0.4625
P̃ = 
0.0375
0.8875
0.0375
0.0375
0.4675
0.0375
0.4625
0.0375
0.0375
0.0375

0.4625
0.4625
.
0.4625
0.0375
Ainsi π = (0.38; 0.10; 0.19; 0.33) est remplacé par π̃ = (0.36; 0.12; 0.19; 0.33).
• Le réseau Internet compte plusieurs milliards de pages. Pour rendre l’algorithme effectif, il faut des méthodes pratiques pour calculer la mesure invariante (ou une approximation)
rapidement.
7.4. APPLICATION À L’ALGORITHME PAGERANK DE GOOGLE
115
• Pour une introduction à l’algorithme PageRank, on pourra consulter le site de vulgarisation
« Image des mathématiques » : http://images.math.cnrs.fr/Comment-Google-classe-les-pages.
html#nh4
116
CHAPITRE 7. INITIATION AUX CHAÎNES DE MARKOV ET APPLICATIONS
Chapitre 8
Tests du khi-deux
Dans ce chapitre, on se propose de présenter la notion de test statistique avec l’exemple du
test du khi-deux.
L’expression test du χ2 (khi-deux ou khi-carré) recouvre plusieurs tests statistiques, dont :
• Le test d’ajustement ou d’adéquation, qui compare globalement la distribution observée
dans un échantillon statistique à une distribution théorique.
• Le test d’indépendance qui permet de contrôler l’indépendance de deux caractères dans
une population donnée.
8.1
Principes des tests statistiques
Les tests d’hypothèses ont pour but de vérifier, à partir des données d’un ou plusieurs
échantillons, la validité de certaines hypothèses relatives à une ou plusieurs populations.
D’une manière générale, dans tout test de signification, on émet pour commencer une hypothèse à tester ou hypothèse nulle, généralement désignée par le symbole H0 .
On mesure ensuite l’écart observé, soit entre certaines caractéristiques de la population et
de l’échantillon, dans le cas des tests d’ajustement et de conformité, soit entre certaines caractéristiques des divers échantillons, dans le cas des tests d’égalité, et on calcule la probabilité
d’observer, quand l’hypothèse nulle est vraie, un écart aussi important.
Si cette probabilité est relativement élevée, on considère l’hypothèse émise au départ comme
plausible, et on l’accepte, au moins provisoirement. Par contre, si la probabilité calculée est faible,
et plus précisément si elle est inférieure ou égale à un niveau de signification préalablement
fixé, l’écart observé apparaît comme peu compatible avec l’hypothèse nulle, et on rejette celle-ci.
Ce faisant, on admet implicitement la validité d’une autre hypothèse H1 , dite alternative ou
opposée.
L’ensemble des valeurs observées pour lesquelles l’hypothèse nulle peut être admise forme
le domaine ou la région d’acceptation. Les autres valeurs constituent le domaine ou la
région de rejet, aussi appelée région critique. Les valeurs limites sont appelées valeurs
critiques.
Le hasard de l’échantillonnage peut évidemment fausser les conclusions, et quatre possibilités
doivent être envisagées :
1. l’acceptation de l’hypothèse nulle alors qu’elle est vraie,
2. le rejet de l’hypothèse nulle alors qu’elle est vraie,
117
118
CHAPITRE 8. TESTS DU KHI-DEUX
3. l’acceptation de l’hypothèse nulle alors qu’elle est fausse,
4. le rejet de l’hypothèse nulle alors qu’elle est fausse.
Dans le premier et le dernier cas, la conclusion obtenue est correcte, mais il n’en est pas de
même dans les deux cas intermédiaires.
Deux erreurs sont possibles qui correspondent aux possibilités 2 et 3 :
• L’erreur qui consiste à rejeter une hypothèse vraie est appelée erreur de première espèce
(rejet de H0 alors que H0 est vraie). La probabilité d’aboutir à cette conclusion est appelée
risque de première espèce, notée α :
P ( rejeter H0 |H0 ) = α.
• L’erreur qu’on commet en acceptant une hypothèse fausse est l’erreur de deuxième
espèce, et peut être désignée par AH0 |H1 (acceptation de H0 alors que H1 est vraie).
La probabilité d’aboutir à celle est appelée risque de seconde espèce, notée β :
P ( accepter H0 |H1 ) = β.
La quantité 1 − β s’appelle la puissance du test : c’est la probabilité de rejeter H0 en ayant
raison. Entre deux tests, on choisira celui dont la puissance est la plus grande.
En pratique, on fixe souvent la valeur de α à α = 0.05 ou α = 0.01.
Remarque : Il faut bien comprendre que H0 et H1 ne jouent pas un rôle symétrique. L’hypothèse H0 est toujours privilégiée, et on veut réduire au maximum le risque de rejeter H0 à tort
(le risque α), quitte à accepter plus souvent H0 à tort (augmentation de β). Pour fixer les idées,
on peut garder en mémoire l’exemple suivant. On considère le test
H0 : « La personne jugée est innocente »
H1 : « La personne jugée est coupable ».
Dans un état de droit, l’hypothèse H0 est privilégiée (présomption d’innocence) et on préfère
laisser un coupable en liberté que de mettre un innocent en prison.
Exemple : Dans un casino, on essaye de détecter si un joueur donné est un tricheur. On considère
les hypothèses suivantes :
H0 : « Le joueur concerné est honnête »
H1 : « Le joueur concerné est un tricheur ».
Par ailleurs, imaginons que l’on sache qu’un joueur honnête a moins de 5% de chances de gagner
plus de 5 000 euros dans la soirée. Ainsi, si le joueur gagne plus de 5 000 euros dans la soirée, je
peux rejeter l’hypothèse H0 et j’ai 5% de chances de me tromper.
Remarque : Lorsque le test est positif, on dit « on ne rejette pas H0 ». Pour valider définitivement
une hypothèse, on fait en général plusieurs tests. Au contraire, rejeter H0 est une action définitive.
8.2
Quelques résultats de probabilité
Définition 8.1
Soit k ∈ N∗ . On définit la loi χ2 (k) de Pearson (khi-deux à k degrés de liberté) par la densité
k
x
f (x) = cx 2 −1 e− 2 1x≥0 ,
8.2. QUELQUES RÉSULTATS DE PROBABILITÉ
119
Figure 8.1 – Fonction de densité de quelques distribution χ2 , avec k = 1 à 4 et 6.
où la constante c > 0 est choisie de sorte que
Z +∞
f (x)dx = 1.
0
Remarque : Les distributions χ2 sont toujours caractérisées par une dissymétrie à gauche. Elles
n’ont pas une forme équivalente suivant les valeurs de k (en forme de i pour k = 1 ou 2, et en
forme de cloche pour k ≥ 3. Voir Figure 8.1.
Proposition 8.2
Si X ∼ χ2 (k), alors E(X) = k et Var(X) = 2k.
Remarque : La moyenne et la variance tendent donc vers l’infini quand k tend vers l’infini, de
telle sorte que, pour des valeurs croissantes de k, les distributions χ2 (k) sont toujours de plus
en plus éloigné de l’origine. Ce comportement est tout à fait semblable à celui des distributions
binomiales, pour des valeurs croissantes de n.
Voici le résultat qui explique pourquoi on rencontre souvent des lois du khi-deux dans les
modélisations et les problèmes statistiques :
Proposition 8.3
Soient X1 , . . . , Xk des v.a. indépendantes de loi N (0, 1).
k
X
Alors la v.a. Y =
Xi2 , suit une loi du khi-deux à k degrés de liberté χ2 (k).
i=1
120
CHAPITRE 8. TESTS DU KHI-DEUX
8.3
Test d’ajustement d’une loi empirique à une loi de probabilité
théorique
On dispose d’observations que l’on considère comme des réalisations i.i.d. de loi p = (p1 . . . , pk )
inconnue. On souhaite ici construire un test qui permette de répondre à la question suivante :
la loi des observations est-elle p0 = (p01 . . . , p0k ) ? En termes statistiques, on souhaite tester les
hypothèses
(
H0 : p = p0
H1 : p 6= p0 .
De façon théorique on peut montrer que, lorsque n −→ +∞, on a

L

 −−−−−→ χ2 (k − 1) si H0 est vraie
k
k
X
ei (n))2  n→+∞
(Ni (n)/n − p0i )2 X (Ni (n) − N
=
Dn = n
0
ei (n)

p
p.s.
N

i
i=1
i=1
 −−−−−→ +∞
si H1 est vraie
n→+∞
ei (n) = np0 l’effectif théorique de la ième modalité.
avec N
i
Hypothèse : On suppose que n, la taille de l’échantillon, est assez grand. Plus précisément, on
ei (n) = np0 est supérieur ou égal à 5. Si ce n’est pas le
suppose que pour tout 1 ≤ i ≤ k, N
i
cas, il faut regrouper des classes à trop faibles effectifs pour atteindre le seuil exigé (attention, si
l’on fait cela, il faut tenir compte de la nouvelle valeur du k).
Mise en place du test : On note α le risque du test. À l’aide d’une table de loi du χ2 (k − 1),
on trouve xα est tel que P (X ≥ xα ) = α, avec X ∼ χ2 (k − 1). On choisit une région de rejet
égale à {Dn ≥ xα }.
La règle de décision est la suivante. On calcule Dn grâce aux observations. Alors
• Si Dn ≥ xα alors on rejette H0 , et on accepte H1 .
• Si Dn ≤ xα alors on ne rejette pas H0 .
Exemple : En lançant successivement 60 fois un dé, un joueur obtient les résultats suivants :
Face i
Effectif observé
1 2 3 4 5 6
15 7 6 12 4 16
Le dé est-il équilibré ? On fera un test du χ2 au risque α = 0.05 puis α = 0.01.
Si le dé n’est pas truqué, sa loi théorique est la loi uniforme, i.e. que chaque face a la même
probabilité 1/6 d’apparaître. Ici k = 6 et p0 = (1/6, 1/6, 1/6, 1/6, 1/6, 1/6). On doit tester les
hypothèses
(
H0 : p = (1/6, 1/6, 1/6, 1/6, 1/6, 1/6)
H1 : p 6= (1/6, 1/6, 1/6, 1/6, 1/6, 1/6).
On calcule les effectifs théoriques (si H0 est vérifiée)
Face i
Effectif théorique
1 2 3 4 5 6
10 10 10 10 10 10
L’hypothèse sur les effectifs est vérifiée car np0i = 60/6 = 10 ≥ 5 pour tout 1 ≤ i ≤ 6. La
statistique du khi-deux est alors
D=
(15 − 10)2 (7 − 10)2 (6 − 10)2 (12 − 10)2 (4 − 10)2 (16 − 10)2
+
+
+
+
+
= 12.6.
10
10
10
10
10
10
8.4. TEST D’INDÉPENDANCE
121
Si l’hypothèse H0 est vérifiée, D est une observation d’une loi χ2 (5) (car k − 1 = 6 − 1 = 5).
Dans une table on lit P (X ≥ 11.07) = 0.05 pour X ∼ χ2 (5). Comme 12.6 ≥ 11.07 on se trouve
dans la zone de rejet du test. Ainsi au risque α = 0.05 on rejette l’hypothèse H0 , i.e. on décide
que le dé est truqué.
Maintenant on fixe le risque α = 0.01. On lit P (X ≥ 15.09) = 0.01. Maintenant, 12.6 ≤ 15.09,
et on se trouve dans la zone d’acceptation du test. Ainsi au risque α = 0.01 on ne rejette pas
l’hypothèse H0 .
Remarque : Les tests du χ2 ne donnent vraiment d’informations que si l’hypothèse H0 est
rejetée. En effet, si H0 n’est pas rejetée, il se peut très bien que ce se soit parce que la loi p de
l’échantillon est dans H1 mais tout près de p0 . Ceci est encore renforcé lorsque l’on est obligé
de regrouper des classes faute d’un échantillon trop petit ou de créer des classes pour des lois
continues : des tas de lois fourniront les mêmes vecteurs de probabilité sur l’ensemble fini. On se
sert d’un test non paramétrique pour invalider un modèle. Si H0 est rejetée, alors il faut changer
de modèle. Si H0 n’est pas rejetée c’est que le modèle (bien que simpliste ou approximatif) est
satisfaisant.
8.4
Test d’indépendance
Ce test permet d’étudier la dépendance entre deux caractères X et Y . On suppose que la
variable X peut prendre k valeurs ou modalités A1 , . . . , Ak et que la variable Y peut prendre `
modalités B1 , . . . , B` . Pour tout i ∈ {1, . . . , k}, pour j ∈ {1, . . . , `}, on connaît l’effectif observé Nij , lorsque X prend la valeur Ai et Y la valeur Bj .
On souhaite tester les hypothèses
(
H0 : les caractères X et Y sont indépendants
H1 : les caractères X et Y ne sont pas indépendants.
On définit
N i• =
`
X
j=1
Nij ,
N•j =
k
X
Nij ,
n=
i=1
k X
`
X
i=1 j=1
Nij ,
eij = Ni• · N•j .
N
n
eij est l’effectif théorique, lorsque X prend la ième modalité et Y la jème.
Le nombre N
De façon théorique on peut montrer que, lorsque n −→ +∞, on a

L
2 (k − 1)(` − 1)


−
−
−
−
−
→
χ
si H0 est vraie
k
`

X X (Nij − N
eij )2
n→+∞
Dn =
eij

p.s.
N

i=1 j=1
 −−−−−→ +∞
si H1 est vraie
n→+∞
Hypothèse : On suppose que n, la taille de l’échantillon, est assez grand. Plus précisément, on
eij est supérieur ou égal à 5.
suppose que pour tous 1 ≤ i ≤ k, 1 ≤ j ≤ ` l’effectif théorique N
Si ce n’est pas le cas, il faut regrouper des classes à trop faibles effectifs pour atteindre le seuil
exigé.
Mise en place du test : On note α le risque du test. À l’aide d’une table de loi du χ2 (k − 1)(` − 1) ,
on trouve xα est tel que P (X ≥ xα ) = α, avec X ∼ χ2 (k − 1)(` − 1) . On choisit une région de
rejet égale à {Dn ≥ xα }.
La règle de décision est la suivante. On calcule Dn grâce aux observations. Alors
122
CHAPITRE 8. TESTS DU KHI-DEUX
• Si Dn ≥ xα alors on rejette H0 , et on accepte H1 .
• Si Dn ≤ xα alors on ne rejette pas H0 .
Exemple : On a observé pendant dix ans 240 individus. Parmi-ceux-ci :
• 110 ont consommé de l’huile d’arachide.
• 25 ont consommé de l’huile d’olive et ont eu des problèmes cardio-vasculaires.
• 78 ont consommé de l’huile d’arachide et n’ont eu aucun problème.
Diriez-vous que le risque cardio-vasculaire est indépendant du type d’huile consommée avec un
risque 0.1 ? Avec un risque 0.01 ?
On compare deux séries statistiques, l’une donnée par la variable x donnant l’état de santé
et l’autre par la variable y donnant le type d’huile consommé. On obtient le tableau suivant
Santé \Type d’huile
Arachide Olive
Problème cardio
32
25
Pas de problème cardio
78
105
Total
110
130
Total
57
183
240
On établit le tableau des effectifs théoriques (en supposant l’indépendance des caractères)
Santé \Type d’huile
Problème cardio
Pas de problème cardio
Total
Arachide
26.125
83.875
110
Olive
30.875
99.125
130
Total
57
183
240
Les effectifs théoriques dans toutes les cases sont supérieurs à 5, on est dans les conditions
d’application du test du χ2 . La valeur observée du χ2 est
χ2obs =
(32 − 26.125)2 (25 − 30.875)2 (78 − 83.875)2 (105 − 99.125)2
+
+
+
= 3.20.
26.125
30.875
83.875
99.125
Comme le tableau a 2 lignes et 2 colonnes, on doit considérer un χ2 à (2 − 1)(2 − 1) = 1 degré
de liberté. Soit X ∼ χ2 (1), alors comme P (X ≥ 2.71) = 0.1 et que χ2obs = 3.20 > 2.71, on
peut conclure, au risque 10%, que le type d’huile consommé a un effet significatif sur la santé
du patient. En revanche, vu que P (X ≥ 6.63) = 0.01 et que 3.20 < 6.63, on ne rejette pas
l’hypothèse d’indépendance des deux variables au risque α = 0.01. Cela signifie qu’au risque 1%,
on ne peut pas conclure que le type d’huile consommé a un effet significatif sur la santé du
patient.
Remarque : D’où vient la valeur (k − 1)(` − 1) du nombre de degrés de liberté ? En fait, pour
avoir toute l’information du tableau de contingence, il n’est pas nécessaire de connaître la valeur
de toutes les cases. Il suffit de connaître (k − 1) lignes et (` − 1) colonnes, soit (k − 1)(` − 1)
termes. Les termes restants sont calculés avec les effectifs totaux des lignes et des colonnes.
Annexe A
Fonctions logarithme, exponentielle et
puissance
A.1
Fonction logarithme
Définition A.1
On appelle logarithme népérien, la fonction ln : R∗+ −→ R, qui est l’unique fonction vérifiant
pour tout x > 0
1
ln0 (x) =
et ln(1) = 0.
x
Proposition A.2
• La fonction ln est strictement croissante sur R∗+ .
• On a ln(1) = 0.
• Il existe un unique nombre réel, noté e, tel que ln(e) = 1. On a e ≈ 2.7172...
• Pour tous x, y > 0 et α ∈ R on a
ln(xy) = ln(x) + ln(y),
A.2
ln(xα ) = α ln(x) et
1
ln( ) = − ln(x).
x
Fonction exponentielle
Définition A.3
On appelle l’exponentielle, la fonction exp : R −→ R∗+ , qui est l’unique fonction vérifiant
pour tous x ∈ R et y ∈ R∗+ ,
y = exp(x) = ex
⇔
x = ln(y).
On dit que les fonctions exp et ln sont réciproques l’une de l’autre.
Ainsi, pour tous x ∈ R et y ∈ R∗+ ,
ln(ex ) = x et eln(y) = y.
Les représentations graphiques de ces fonctions se déduisent l’une de l’autre par une symétrie
par rapport à l’axe y = x (voir Figure A.2).
123
124
ANNEXE A. FONCTIONS LOGARITHME, EXPONENTIELLE ET PUISSANCE
Figure A.1 – Représentation graphique des fonctions exponentielle et logarithme.
Proposition A.4
• La fonction exp est strictement croissante sur R.
• On a e0 = 1 et e1 = e.
• Pour tous x, y ∈ R on a
ex+y = ex ey ,
(ex )y = exy
et e−x =
1
.
ex
Définition A.5
Pour a > 0 on définit ax par
ax = ex ln a ,
x ∈ R.
Pour tous x, y ∈ R, ax ay = ax+y .
A.3
Fonction puissance
Définition A.6
Pour α ∈ R et x > 0 on définit xα par
xα = eα ln(x) .
Si r est un entier, on retrouve ainsi la définition naturelle xα = x · x · ... · x (α facteurs). En
effet, d’après la Proposition A.4, eα ln(x) = (eln(x) )α = xα .
Pour tous x, y ∈ R, xα y α = (xy)α .
Exemple : Combien de chiffre possède le nombre 216 en écriture décimale ? On cherche x tel
que 216 = 10x . Alors 216 = ex ln(10) . En appliquant la fonction ln on trouve x ln(10) = 16 ln(2),
A.3. FONCTION PUISSANCE
125
Figure A.2 – Représentation graphique des fonctions x 7→ xα .
soit x =
16 ln(2)
ln(10)
≈ 4.82. Ainsi, 216 a autant de chiffres que 104 , soit 5 chiffres.
Exemple : Les fonctions x →
7 ln(x), x 7→ exp(x), x 7→ ax avec a > 1 et x 7→ xα avec α > 0
tendent vers l’infini lorsque x tend vers l’infini, mais à des vitesses très différentes. Calculons
quelques valeurs :
Valeur de x
10
20
100
1000
10000
ln(x)
2.30
3.00
4.61
6.91
9.21
x2
102
4 · 102
104
106
108
x10
1010
1.02 · 1013
1020
1030
1040
2x
1.02 · 103
1.05 · 106
1.27 · 1030
1.07 · 10301
2.00 · 103010
exp(x)
2.20 · 104
4.85 · 108
2.69 · 1043
1.97 · 10434
8.81 · 104342
10x
1010
1020
10100
101000
1010000
Si certaines valeurs du tableau précédent peuvent être directement obtenues avec une calculatrice,
d’autres nécessitent plus de soin. Calculons par exemple exp(10000). On cherche a > 0 tel
que exp(10000) = 10a . Par définition, 10a = exp(a ln 10), ainsi a = 10000
ln 10 = 4342.94. D’où,
4342.9448
0.9448
4342
4342
exp(10000) = 10
= 10
· 10
= 8.81 · 10
.
Exercice : On suppose que les nombres d’opérations de certains algorithmes sont donnés par
le tableau précédent. On dispose d’un ordinateur faisant 109 opérations par seconde. Donner les
temps de calcul des algorithmes (voir également page 90).
126
ANNEXE A. FONCTIONS LOGARITHME, EXPONENTIELLE ET PUISSANCE
Références
• Les parties sur la cryptographie RSA et sur l’algorithme PageRank sont tirées du très
bon livre « Mathématiques et technologie » de Christiane Rousseau et d’Yvan Saint-Aubin,
Springer.
• Le chapitre sur les graphes et arbres sont tirés d’un cours d’Olivier Bruneau et d’un cours
disponible sur le web d’Éric Lallet et de Jean-Luc Raffy.
• Le chapitre sur le test du khi deux est inspiré de notes de cours de Florent Malrieu.
• Dans ce polycopié, de nombreux éléments sont issus de cours de collègues de l’UFR, en
particulier d’Olivier Bruneau. Merci !
Planning indicatif :
Chapitre 1 : Algèbre de Boole (4 séances)
Chapitre 2 : Statistiques (5-6 séances)
Chapitre 3 : Probabilités (4 séances)
Chapitre 4 : Arithmétique (6 séances)
Chapitre 5 : Systèmes linéaires (3-4 séances)
Chapitre 6 : Graphes et arbres (5-6 séances)
Chapitre 7 : Chaînes de Markov (3-4 séances)
Chapitre 8 : Tests du khi-deux (2 séances)
Présentations orales (2 séances)
127
Téléchargement