Simulation des gains au loto
Simulation des gains au loto
Formation continue
Laurent Thomann
2
Table des matières
1 Algèbre de Boole 7
1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 La somme logique (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Le produit logique (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3 L’inversion logique (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.4 La somme logique exclusive (XOR) . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Propriétés dérivées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Expressions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Application aux circuits logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 Application à l’analyse d’argumentation . . . . . . . . . . . . . . . . . . . . . . . 14
2 Statistiques 15
2.1 Quelques éléments de statistique descriptive . . . . . . . . . . . . . . . . . . . . . 15
2.2 Étude et représentation d’une variable qualitative . . . . . . . . . . . . . . . . . . 16
2.2.1 Diagramme en bâton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 Diagramme circulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Étude et représentation d’une variable quantitative . . . . . . . . . . . . . . . . . 18
2.3.1 Étude d’une variable à valeurs discrètes . . . . . . . . . . . . . . . . . . . 18
2.3.2 Étude d’une variable à valeurs continues . . . . . . . . . . . . . . . . . . . 19
2.3.3 Représentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Régression linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Covariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 Méthode des moindres carrés . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 Ajustement non-linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.1 Ajustement de la forme y = a ln x + b . . . . . . . . . . . . . . . . . . . . 27
2.5.2 Ajustement de la forme y = bax . . . . . . . . . . . . . . . . . . . . . . . . 27
3 Probabilités 29
3.1 Dénombrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.1 Arrangements et combinaisons . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.2 Combinaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Probabilités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Expériences aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.2 Événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.3 Calculs de probabilités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.4 Variables aléatoires discrètes . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.5 Variables aléatoires continues . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Loi des grands nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3
4 TABLE DES MATIÈRES
4 Applications de l’arithmétique 47
4.1 Division euclidienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Crible d’Eratosthène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3 Systèmes de numération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.1 Écriture en base décimale . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.2 Écriture en binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3.3 Écriture en base b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.4 Écriture en base hexadécimale (base 16) . . . . . . . . . . . . . . . . . . . 51
4.4 Congruences, calcul modulo n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5 Règles de divisibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.1 Divisibilité par 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.2 Divisibilité par 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.3 Divisibilité par 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5.4 Divisibilité par 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.6 Application 1 : Génération de nombres pseudo-aléatoires . . . . . . . . . . . . . . 55
4.7 Application 2 : Calcul de la clé d’un RIB . . . . . . . . . . . . . . . . . . . . . . . 57
4.8 Application 3 : Vérification d’un numéro de billet en euros . . . . . . . . . . . . . 58
4.9 Application 4 : Chiffrement affine . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.10 Application 5 : Cryptographie RSA . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5 Systèmes linéaires 65
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.1 Exemple introductif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.2 Équations de droites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.3 Systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Résolution par substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Méthode du pivot de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.1 Systèmes échelonnés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.2 Opérations sur les équations d’un système . . . . . . . . . . . . . . . . . . 67
5.4 Quelques rappels sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.2 Matrices particulières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.3 Addition de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4.4 Multiplication de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4.5 Pièges à éviter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.4.6 Matrice identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4.7 Inverse d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4.8 Déterminant d’une matrice carrée . . . . . . . . . . . . . . . . . . . . . . . 73
5.5 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.5.1 Résolution graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5.2 Présentation de l’algorithme du simplexe . . . . . . . . . . . . . . . . . . . 74
TABLE DES MATIÈRES 5
6 Graphes et arbres 79
6.1 Graphes orientés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.2 Matrice d’adjacence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2 Graphes non orientés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3 Problèmes de coloration de graphes . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3.1 Coloration de sommets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3.2 Coloration d’arêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4 Arbre recouvrant de poids minimum . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4.2 Algorithme de Kruskal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.4.3 Algorithme de Prim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.4.4 Complexité des algorithmes précédents . . . . . . . . . . . . . . . . . . . . 90
6.5 Algorithme de plus court chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.5.1 Introduction et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.5.2 Algorithme de Bellman-Ford-Moore . . . . . . . . . . . . . . . . . . . . . . 91
6.5.3 Exemple du voyageur de commerce . . . . . . . . . . . . . . . . . . . . . . 96
6.5.4 Modélisation des problèmes de plus court chemin . . . . . . . . . . . . . . 98
6.6 Algorithme de recherche de flot maximal . . . . . . . . . . . . . . . . . . . . . . . 101
6.6.1 Présentation du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.6.2 Un exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.6.3 Algorithme de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . 104
Références 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 Définitions
1.1.1 La somme logique (OR)
La somme logique est définie par la table d’addition suivante :
+ 0 1
0 0 1
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 y x+y
0 0 0
0 1 1
1 0 1
1 1 1
7
8 CHAPITRE 1. ALGÈBRE DE BOOLE
x y z x + y (x + y) + z y + z x + (y + z)
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 1 1 1 1
0 1 1 1 1 1 1
1 0 0 1 1 0 1
1 0 1 1 1 1 1
1 1 0 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).
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.
. 0 1
0 0 0
1 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
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.
x 0 1
x 1 0
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.
⊕ 0 1
0 0 1
1 1 0
10 CHAPITRE 1. ALGÈBRE DE BOOLE
x y x⊕y
0 0 0
0 1 1
1 0 1
1 1 0
Le produit 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;
• élément symétrique : ∀x ∈ {0, 1}, x ⊕ x = 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}.
• idempotence :
∀x ∈ {0, 1}, x+x=x
• élément absorbant :
∀x ∈ {0, 1}, x+1=1
• absorption :
∀(x, y) ∈ {0, 1}2 , x + x.y = x (?)
• simplification :
∀(x, y) ∈ {0, 1}2 , x + x.y = x + y
• formules de De Morgan :
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é.
Proposition 1.3
Soient A et B des expressions booléennes et x une variable booléenne. Alors on a l’égalité
suivante :
.
1.4. APPLICATION AUX CIRCUITS LOGIQUES 13
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.
Grâce aux règles algébriques du calcul booléen, on peut simplifier les expressions obtenues.
14 CHAPITRE 1. ALGÈBRE DE BOOLE
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.
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é.
Couleur des yeux Sexe Temps dans les transports Taille Frères et soeurs
P1 V H 25 1.80 1
P2 B H 12 1.65 2
P3 N F 05 1.71 0
P4 N H 50 1.75 1
15
16 CHAPITRE 2. STATISTIQUES
50
40
30
20
10
0 TVA IR IS TICPE Autres
TVA
Autres
IR
TICPE
IS
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.
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
K K
1X X
x= ni xi = fi xi .
n
i=1 i=1
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.
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 .
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
1X X
x= ni xi = fi xi .
n
i=1 i=1
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
Notes du groupe
3.0
2.5
2.0
Frequency
1.5
1.0
0.5
0.0
0 5 10 15 20
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.
Notes du groupe
5
4
3
Frequency
2
1
0
0 5 10 15 20
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 :
80
60
surface
40
20
0
1 2 3 4 5
rayon
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.
15
10
note
taille
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.
1200
1000
800
prix
600
400
20 40 60 80 100 120 140 160
surface
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 n
1X 1X
x= xi , y= yi .
n n
i=1 i=1
Preuve : On a
n
1X
V ar(x) = (xi − x)2
n
i=1
n
1 X
(xi )2 − 2xxi + (x)2
=
n
i=1
n n n
1X 1 X 1 X
= (xi )2 − 2 x xi + (x)2 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
Cov(x, y) Cov(x, y)
r(x, y) = p = .
V ar(x)V ar(y) σ(x)σ(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.
x 2 4 6 9 10 11 12 13 16 18
y 3 6 6 7 9 10 10 11 14 14
xy 6 24 36 63 90 110 120 143 224 252
x2 4 16 36 81 100 121 144 169 256 324
y2 9 36 36 49 81 100 100 121 196 196
En pratique, on peut rajouter les lignes xy, x2 et y 2 , qui sont utiles pour les calculs.
14
12
10
y
8
6
4
5 10 15
x
2.4. RÉGRESSION LINÉAIRE 25
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
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’ajus-
tement au nuage de points. On a ei = yi − ŷi = yi − axi − b, ainsi
n
X n
X
2
(ei ) = (yi − axi − b)2 = f (a, b).
i=1 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.
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
Cov(x, y) 15.9
régression est donnée par y = ax + b avec a = = = 0.69 et b = 9 − 0.69 · 10.1 =
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=1 (ŷi − y)2 i=1 (ei )
2
r (x, y) = Pn 2
= 1 − Pn 2
.
i=1 (yi − y) i=1 (yi − y)
Soit encore
V ar(ŷ) V ar(e)
r2 (x, y) = =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.
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 :
14
12
10
y
8
6
4
5 10 15
4.4
4.3
4.2
Probabilités
3.1 Dénombrement
3.1.1 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 p-
arrangement (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 :
n!
Apn = n(n − 1) · · · (n − p + 1) = .
(n − p)!
29
30 CHAPITRE 3. PROBABILITÉS
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
n
ou Cnp et l’on a :
Si card E = n, le nombre de combinaisons à p éléments de E se note p
n 1 n!
Cnp = = 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 .
n
Cnp
X
Preuve : Pour tout 0 ≤ p ≤ n, il y a parties à p éléments de E. Ainsi card[P(E)] = Cnp .
p=0
n
X n
X
Maintenant, on utilise la formule du binôme de Newton : 2n = (1+1)n = Cnp 1p 1n−p = Cnp .
p=0 p=0
On peut alors conclure.
Rappel : Formule du binôme de Newton : Soient x, y ∈ R. Alors
3.2 Probabilités
3.2.1 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.
Proposition 3.14
P (∅) = 0 ; P (Ω) = 1 ; pour tout événement A, 0 6 P (A) 6 1.
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).
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)
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
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
n
X
E(X) = p1 x1 + · · · + pn xn = pi xi .
i=1
1
Remarque : Dans le cas de la loi uniforme sur {x1 ; x2 ; . . . ; xn }, on a pi = n pour tout i et on
retrouve les formules du Chapitre 2.
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 :
5 1 1 1
E(X) = 0 · + 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.
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, P (X = 0) = 1 − p.
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.
Remarque : On vérifie que l’on définit bien une loi de probabilité, grâce à la formule du bi-
nô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
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
Définition 3.25
Une variable aléatoire continue est une variable qui prend ses valeurs dans un intervalle de R.
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 proba-
bilité de X.
• Avec les notations précédentes, on a pour tous a, b ∈ R
Z b
P (a ≤ X ≤ b) = F (b) − F (a) = f (x)dx.
a
Remarques :
Z b
• La quantité P (a ≤ X ≤ b) = F (b) − F (a) = f (x)dx représente l’aire sous la courbe
a
de f , délimitée par les abscisses x = a et x = b.
Z a
• La quantité P (X ≤ a) = F (a) = f (x)dx représente l’aire sous la courbe de f , sur le
−∞
domaine x ≤ a.
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 +∞
E(X) = xf (x)dx
−∞
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 1 x−m 2
f (x) = √ e− 2 ( σ ) .
σ 2π
On note X ∼ N (m, σ).
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--'
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
#1' %+"G4G2-207 de lois%4+normales
@, /.I0+' /7%4$$7$' pour
-'$ +74-2$402"1$ /.#1' (m,9'10+7'
-"2 1"+34-' σ) = (0, 0.5) et (2, 1.1).
+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.
D"#+ 9' $'#2- /' 9"1!419' '0 %"#+ #1' '++'#+ /.'$023402"1 H8 -4 042--' /'
-.79=4102--"1 /"20 I0+' /'
!
q % }@! ! '@H(! =
Loi exponentielle @' 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
La loi exponentielle permet de modéliser la durée de vie d’un composant électronique. Elle
&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-
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
λe−λx ,
si x ≥ 0
f (x) =
0, si x < 0.
3.3. LOI DES GRANDS NOMBRES 39
Proposition 3.31
Une variable aléatoire X de loi exponentielle est sans mémoire. Autrement dit
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
X1 + X2 + · · · + Xn
Xn = ,
n
et donc X n −→ 1/2 lorsque n −→ +∞.
40 CHAPITRE 3. PROBABILITÉS
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.
X1 + X2 + · · · + Xn
Xn = .
n
En utilisant ce que l’on a vu précédemment, l’espérance mathématique de X n vaut :
Xn − m
Z= √
σ/ 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%.
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.
P (−zα/2 ≤ Z ≤ zα/2 ) = 1 − α,
donc
X
−p
P (−zα/2 ≤ q n ≤ zα/2 ) ≈ 1 − α,
pn (1−pn )
n
qui donne r r
hX pn (1 − pn ) X pn (1 − pn ) i
P p∈ − zα/2 , + zα/2 ≈ 1 − α.
n n n n
En conclusion, r r
h pn (1 − pn ) pn (1 − pn ) i
pn − zα/2 , pn + zα/2 ,
n n
et un intervalle de confiance de p au niveau 1 − α.
Application numérique : On interroge 1000 personnes et 520 votent pour A. Donner un in-
tervalle 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.
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 ).
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 σ
connu et m inconnu. On effectue une série de n mesures de X. Soit X n = X1 +···+X
n
n
la moyenne
σ
des mesures de X. On peut montrer que la v.a. X n suit une loi normale N (m, n ).
√
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
σ σ
P m0 ∈ X n − zα/2 √ ; X n + zα/2 √ ≈ 1 − α.
n n
É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 , σ)
σ σ
/ X n − zα/2 √ ; X n + zα/2 √
α = P m0 ∈ .
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 β.
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
Applications de l’arithmétique
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.
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. Notons-
les 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 .
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
Si un nombre n n’est pas premier alors un de ses facteurs est inférieur ou égal à 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.
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
n
X
x= ak 10k ,
k=−∞
avec pour tout 0 ≤ k ≤ n, ak ∈ {0, 1}. Ceci est l’écriture en base deux ou écriture en
binaire.
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
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 mini-
male 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.
+∞
1 X ak
Ainsi, on a obtenu la décomposition en binaire = , a0 = 0, a2j = 1 pour j ≥ 1 et
3 2k
k=0
a2j+1 = 1 pour j ≥ 0.
Pour plus de détails concernant les problèmes d’approximation, voir : [Link]
[Link]/[Link]
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 51
Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E 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 ?
Proposition 4.8
Soient a, b, c, d, x, y ∈ Z. Alors,
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,
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).
+ 0 1 2 × 0 1 2
0 0 1 2 0 0 0 0
addition modulo 3 : multiplication modulo 3 :
1 1 2 0 1 0 1 2
2 2 0 1 2 0 2 1
+ 1 2 3 × 1 2 3
1 2 3 0 1 1 2 3
addition modulo 4 : multiplication modulo 4 :
2 3 0 1 2 2 0 2
3 0 1 2 3 3 2 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.
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).
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.
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.
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 55
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
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 anec-
dote 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 pseudo-
alé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
0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0
1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0
1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0
1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 0
1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 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.
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 B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z
1 2 3 4 5 6 7 8 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 Guichet Compte Clé
18208 00003 01170928519 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.
A B C D E F G H I J K L M
1 2 3 4 5 6 7 8 9 10 11 12 13
N O P Q R S T U V W X Y Z
14 15 16 17 18 19 20 21 22 23 24 25 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
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
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.
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.
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.
Donc finalement,
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,
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).
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
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).
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.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
(5.1)
x + y = 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
(5.2)
3x − 2y = −1.
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
(5.3)
8x + 10y = 6.
Les droites D1 et D2 sont confondues. Le système (5.3) a une infinité de solutions
y y y
D1 D1
D2
D2
D1 = D2
x x x
a1 x1 + · · · + ap xp = b,
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.
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
Exemple : Le système est échelonné.
2x 3 +x 4 = 5
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)} .
• 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
x +y +7z = −1
⇐⇒ −3y −9z = −3 L2 ←L2 −2L1
−x −3y −9z = −5
x +y +7z = −1
⇐⇒ −3y −9z = −3
−2y −2z = −6
L3 ←L3 +L1
x +y +7z = −1
⇐⇒ y +3z = 1 L2 ← − 31 L2
−2y −2z = −6
x +y +7z = −1
⇐⇒ y +3z = 1
4z = −4
L3 ←L3 +2L2
x +y +7z = −1
⇐⇒ y +3z = 1
z = −1 L3 ← 41 L3
x1 −2x2 +3x3 +17x4 = 4 L1 ↔L2
⇐⇒ −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 .
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 .
Le matrice
1 −2 5
A=
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 corres-
pondants sont égaux.
• L’ensemble des matrices à n lignes et p colonnes à coefficients dans R est noté Mn,p (R).
• 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 a1,2 ... a1,n
a2,1 a2,2 ... a2,n
A= . .. .
.. ..
.. . . .
an,1 an,2 . . . an,n
• 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.
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
3 −2 0 5 3 8
Exemple : Si A = et B = , alors A + 2B = . En revanche si
1 7 2 −1 5 5
−2
B0 = , alors A + B 0 n’est pas définie.
8
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
3 · 0 − 2 · 2 3 · 5 + (−2) · (−1) −4 17
AB = = .
1·0+7·2 1 · 5 + 7 · (−1) 14 −2
5 1 2 0 14 3 2 0 5 1 10 2
= mais = .
3 −2 4 3 −2 −6 4 3 3 −2 29 −2
0 −1 4 −1 2 5 −5 −4
A= B= C= et AB = AC = .
0 3 5 4 5 4 15 12
72 CHAPITRE 5. SYSTÈMES LINÉAIRES
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 et AIp = A.
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
x +y +7z = −1
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 73
0 1 a b
Exemple : La matrice E = n’est pas inversible. En effet cherchons A = telle
0 0 c d
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.
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
a b 0 1
Exemple : Si A = , alors det A = ad − bc. Ainsi on vérifie que E = n’est pas
c d 0 0
1 1
inversible (det E=0), mais que D = l’est (det D=2).
−2 0
Pour une matrice de taille plus grande, la formule du déterminant est assez compliquée.
P1 P2 Disponibilité
Équipement 3 9 81
Main d’oeuvre 4 5 55
Matière première 2 1 20
avec
3x1 + 9x2 + e1 = 81
4x + 5x + e = 55
1 2 2
(C 0 ) :
2x 1 + x 2 + e 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.
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
F (x1 , . . . , xn ) = α + fi xi ,
1≤i≤n
Itération 3 :
• Dictionnaire : On exprime la nouvelle variable de base x2 en fonction des variables hors-
base 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
x1 = 15 1 5
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 aug-
menter F : l’optimum est atteint et la solution optimale est
15 27
x∗1 = , x∗2 = 5, e∗1 = , e∗2 = 0, e∗3 = 0 et max F = 65.
2 2
Graphes et arbres
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, Γ).
1 2
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
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
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∈ Γ.
3 (xi , xj ) ∈ Γ
• 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 81
1 2 1 2
3 3
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)
⇒ si ⇒ (xi , xk ) ∈ Γ (aik = 1). Ici aik constitue A2 . Donc
(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 d’adjacence :
0 1 0 0 0 1 0 1 1
A = 0 0 1 . Alors A2 = 0 1 0 et ainsi A + A2 = 0 1 1 6= A. Donc le
0 1 0 0 0 1 0 1 1
graphe G est non transitif.
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
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
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.
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).
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
Sommet 7 5 1 3 4 6 8 2
Degré 5 4 3 3 3 3 3 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 7 5 1 3 4 6 8 2
Degré 5 4 3 3 3 3 3 2
Couleur 1 2 2 2 3 1 3 1
Donc γ(G) ≤ 3. Peut-on faire mieux ? On voit que les sommets 5, 6 et 8 forment un sous-
graphe 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 3
2
a4 a7 a3
2 5
a1 a7 3 2
5 5
6 a6 a4
1 a3 a6 6 5 3
a2 a8
4 4
a5 a8 a5
3 4 4
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 a3 a4 a5 a6 a1 a2 a7 a8
Degré 4 4 4 4 3 3 3 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 a3 a4 a5 a6 a1 a2 a7 a8
Degré 4 4 4 4 3 3 3 3
Couleur 1 2 2 1 3 4 3 4
Et γ(G0 ) ≤ 4.
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.
Figure 6.6 – Kruskal : tri des arêtes (les ui numérotées dans par ordre croissant de poids)
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.
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.
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 }.
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).
Valeur de A 10 30 50 60
A 10−5 3· 10−5 5· 10−5 6 · 10−5
seconde seconde seconde seconde
A ln A 2.3 · 10−5 1.0 · 10−4 2.0 · 10−4 2.5 · 10−4
seconde seconde seconde seconde
2A = eA ln 2 0.001 17.9 35.7 366
seconde minutes années siècles
A2 10−4 9 · 10−4 2.5 · 10−3 3.6 · 10−3
seconde seconde seconde seconde
A5 0.1 24.3 5.2 13.0
seconde secondes minutes minutes
2
A2 ln A = e2(ln A) 4.03 · 10−2 186.7 226.9 11.5
seconde minutes jours 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.
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
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).
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 fi-
gure 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-Ford-
Moore (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.
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.
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.
On n’a pas d’apriori sur le sens de parcours de l’axe transversal entre Montpellier et Clermont-
Ferrand. 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.
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 :
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 :
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.
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
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 CHAPITRE 6. GRAPHES ET ARBRES
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).
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.
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
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é.
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 :
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
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.
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
109
110 CHAPITRE 7. INITIATION AUX CHAÎNES DE MARKOV ET APPLICATIONS
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
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 :
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ù
(2) (2)
!
p11 p12
3/8 5/8
P2 = = ,
5/16 11/16 (2)
p21
(2)
p22
(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,
A = p11 p12 p21 = 12 · 12 · 14 = 16
1
.
(0) (1) (0) 1/2 1/2
• 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 .
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→∞
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.
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
1 0 0 0
est remplacée par
0.0375 0.0375 0.4625 0.4625
0.4625 0.0375 0.0375 0.4625
P̃ =
0.0375
.
0.4675 0.0375 0.4625
0.8875 0.0375 0.0375 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 effec-
tif, il faut des méthodes pratiques pour calculer la mesure invariante (ou une approximation)
rapidement.
7.4. APPLICATION À L’ALGORITHME PAGERANK DE GOOGLE 115
Tests du khi-deux
117
118 CHAPITRE 8. TESTS DU KHI-DEUX
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 ) = β.
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.
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).
Xk
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
Exemple : En lançant successivement 60 fois un dé, un joueur obtient les résultats suivants :
Face i 1 2 3 4 5 6
Effectif observé 15 7 6 12 4 16
Face i 1 2 3 4 5 6
Effectif théorique 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
(15 − 10)2 (7 − 10)2 (6 − 10)2 (12 − 10)2 (4 − 10)2 (16 − 10)2
D= + + + + + = 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.
Le nombre N
eij est l’effectif théorique, lorsque X prend la ième modalité et Y la jème.
De façon théorique on peut montrer que, lorsque n −→ +∞, on a
L 2 (k − 1)(` − 1)
k `
−−−− − → χ si H0 est vraie
eij )2
X X (Nij − N n→+∞
Dn =
i=1 j=1 Neij
p.s.
−−−−−→ +∞ si H1 est vraie
n→+∞
Hypothèse : On suppose que n, la taille de l’échantillon, est assez grand. Plus précisément, on
suppose que pour tous 1 ≤ i ≤ k, 1 ≤ j ≤ ` l’effectif théorique N eij est supérieur ou égal à 5.
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) ,
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
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
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
1
ln(xy) = ln(x) + ln(y), ln(xα ) = α ln(x) et ln( ) = − ln(x).
x
y = exp(x) = ex ⇔ x = ln(y).
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
Proposition A.4
Définition A.5
Pour a > 0 on définit ax par
ax = ex ln a , x ∈ R.
xα = eα ln(x) .
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
16 ln(2)
soit x = 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 :
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ù,
exp(10000) = 10 4342.9448 = 100.9448 · 10 4342 = 8.81 · 10 4342 .
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 :
127