La planche de Galton
Grand Oral · mathématiques, SVT, HGGSP, HLP
Un support de connaissances pour construire sa propre question
← Tous les textes du Grand Oral
MathsSVTHGGSPHLP
Des billes tombent à travers des rangées de clous. À chaque clou, une bille part à gauche ou à droite, au hasard. Personne ne
peut prévoir où tombera une bille donnée ; pourtant, quand on en lâche des centaines, elles dessinent presque toujours la même
forme, une cloche. La planche de Galton fait voir l'une des idées les plus profondes des probabilités : le hasard individuel
devient une régularité collective. Elle porte le nom d'un savant britannique dont la vie mêle des découvertes majeures sur
l'hérédité et la statistique, et la fondation de l'eugénisme, une doctrine aux conséquences tragiques. Ce texte rassemble ces
connaissances ; à chacun d'y choisir une direction et d'y construire sa question.
Sommaire
- La planche et la loi binomiale
- Fréquence et probabilité : la loi des grands nombres
- Vers la loi normale
- Le jeu du fakir : l'espérance
- Francis Galton, l'hérédité et la régression vers la moyenne
- De la statistique à l'eugénisme : un regard critique
- Des directions pour construire sa question
La planche et la loi binomiale
La planche compte $n$ rangées de clous disposées en quinconce. À chaque rangée, la bille va à droite avec la probabilité $p$
et à gauche avec la probabilité $1 - p$, indépendamment des rangées précédentes ; pour une planche bien
construite, $p = \dfrac{1}{2}$. En bas, $n + 1$ cases sont numérotées de $0$ à $n$ : une bille qui est allée $k$ fois à
droite tombe dans la case $k$.
var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, cssStyle: 'background:#fff;padding:0 3px;border-radius:3px'};
var n = 10, actif = false, billes = [], compte = [], total = 0, lances = 0, MAX = 600, tic = 0, k, r;
function zero() { billes = []; compte = []; for (k = 0; k <= n; k++) { compte.push(0); } total = 0; lances = 0; }
zero();
var C = [1]; for (k = 1; k <= n; k++) { C.push(C[k-1]*(n - k + 1)/k); }
var clous = []; for (r = 0; r < n; r++) { for (k = 0; k <= r; k++) { clous.push([5 - r/2 + k, 10 - 0.95*r]); } }
board.create('curve', [clous.reduce(function (a, c) { return a.concat([c[0] - 0.07, c[0] + 0.07, NaN]); }, []), clous.reduce(function (a, c) { return a.concat([c[1], c[1], NaN]); }, [])], {strokeColor: '#37474f', strokeWidth: 5, lineCap: 'butt', highlight: false});
for (k = 0; k <= n + 1; k++) { board.create('segment', [[k - 0.5, -5.2], [k - 0.5, 0.3]], {strokeColor: '#b0bec5', strokeWidth: 1, fixed: true, highlight: false}); }
board.create('segment', [[-0.5, -5.2], [10.5, -5.2]], {strokeColor: '#546e7a', strokeWidth: 1.5, fixed: true, highlight: false});
function echelle() { var m = 1; for (k = 0; k <= n; k++) { m = Math.max(m, compte[k], total*C[k]/1024); } return 5.2/Math.max(m, 40); }
var barres = board.create('curve', [[0], [0]], {strokeColor: '#1e88e5', strokeWidth: 15, lineCap: 'butt'});
barres.updateDataArray = function () { var e = echelle(), X = [], Y = []; for (k = 0; k <= n; k++) { if (compte[k]) { X.push(k, k, NaN); Y.push(-5.2, -5.2 + e*compte[k], NaN); } } this.dataX = X; this.dataY = Y; };
var theo = board.create('curve', [[0], [0]], {strokeColor: '#c62828', strokeWidth: 2, dash: 2});
theo.updateDataArray = function () { var e = echelle(), X = [], Y = []; for (k = 0; k <= n; k++) { X.push(k - 0.4, k + 0.4, NaN); Y.push(-5.2 + e*total*C[k]/1024, -5.2 + e*total*C[k]/1024, NaN); } this.dataX = X; this.dataY = Y; };
var pts = board.create('curve', [[0], [0]], {strokeColor: '#ef6c00', strokeWidth: 7, lineCap: 'butt'});
pts.updateDataArray = function () {
var X = [], Y = [];
billes.forEach(function (b) { var r0 = Math.floor(b.t), f = b.t - r0, x0 = 5 - r0/2 + b.d[r0], x1 = 5 - (r0 + 1)/2 + b.d[r0 + 1], y = 10.6 - 0.95*b.t, x = x0 + (x1 - x0)*f; X.push(x - 0.08, x + 0.08, NaN); Y.push(y, y, NaN); });
this.dataX = X; this.dataY = Y;
};
board.create('text', [-0.6, 11.1, function () { return total + ' billes arrivées'; }], opt);
board.create('button', [6.6, 11.25, 'Recommencer', function () { zero(); actif = true; }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
function nouvelle() { var d = [0]; for (var q = 0; q < n; q++) { d.push(d[q] + (Math.random() < 0.5 ? 1 : 0)); } d.push(d[n]); billes.push({t: 0, d: d}); lances++; }
if ('IntersectionObserver' in window) {
new IntersectionObserver(function (e) { if (e[0].isIntersecting) { actif = true; } }, {threshold: 0.4}).observe(board.containerObj);
} else { actif = true; }
setInterval(function () {
if (!actif) { return; }
tic++;
if (lances < MAX && tic % 2 === 0) { nouvelle(); }
billes.forEach(function (b) { b.t += 0.5; });
billes = billes.filter(function (b) { if (b.t >= n) { compte[b.d[n]]++; total++; return false; } return true; });
board.update();
}, 40);
Une planche de Galton à $10$ rangées. Les billes s'accumulent dans les $11$ cases (en bleu) ; les traits rouges indiquent les effectifs prévus par la loi binomiale, $N \times \dbinom{10}{k}\dfrac{1}{2^{10}}$ pour $N$ billes.
Compter les chemins. Un chemin à travers la planche est une suite de $n$ choix « gauche » ou « droite ». Pour
arriver dans la case $k$, il faut choisir les $k$ rangées où la bille va à droite parmi les $n$ : il y a $\dbinom{n}{k}$
chemins. Les nombres de chemins qui mènent aux différentes cases forment donc une ligne du triangle de Pascal, et c'est bien ce
que l'on observe en écrivant sur chaque clou le nombre de chemins qui y conduisent : chaque nombre est la somme des deux nombres
situés au-dessus.
Chaque chemin a la probabilité $p^k(1-p)^{n-k}$, qui vaut $\dfrac{1}{2^n}$ quand $p = \dfrac{1}{2}$. Le numéro $X$ de la case suit
la loi binomiale de paramètres $n$ et $p$ :
$$P(X = k) = \binom{n}{k}\,p^k\,(1-p)^{n-k}.$$
Son espérance est $E(X) = np$ et sa variance $V(X) = np(1-p)$. Pour $n = 10$ et $p = \dfrac{1}{2}$, la case du milieu reçoit une
bille avec la probabilité $\dbinom{10}{5}\dfrac{1}{2^{10}} = \dfrac{252}{1\,024} \approx 0{,}246$, et chacune des cases extrêmes avec la
probabilité $\dfrac{1}{1\,024}$ : sur $600$ billes, on en attend environ $148$ au milieu, et moins d'une dans chaque case du bord.
Une planche de Galton réalisée pour une exposition. Objet : Estes Objethos Atelier, photo : Rodrigo Argenton, Wikimedia Commons, licence CC BY-SA 4.0.
Fréquence et probabilité : la loi des grands nombres
Pourquoi la forme dessinée par les billes ressemble-t-elle de plus en plus à la loi binomiale quand on lâche beaucoup de
billes ? La réponse est la loi des grands nombres, le lien entre fréquence et probabilité. Elle est très souvent
énoncée de façon fausse. Il faut donc la formuler avec soin.
Ce que dit la loi
On répète $N$ fois, de façon indépendante, une même expérience aléatoire, et l'on s'intéresse à un événement $A$ de probabilité
$p$ (par exemple « la bille tombe dans la case du milieu », avec $p \approx 0{,}246$). Notons $S_N$ le nombre de fois où
$A$ se réalise et $F_N = \dfrac{S_N}{N}$ sa fréquence. Le point essentiel est que $F_N$ est une variable
aléatoire : avant de faire les $N$ expériences, on ne connaît pas sa valeur, et deux séries de $N$ expériences donnent en
général deux fréquences différentes.
Loi faible des grands nombres
Pour tout réel $\varepsilon > 0$,
$$\lim_{N \to +\infty} P\big(|F_N - p| \geqslant \varepsilon\big) = 0.$$
Autrement dit : on choisit d'avance une marge $\varepsilon$, aussi petite qu'on veut. La probabilité que la fréquence s'écarte
de $p$ de plus de cette marge tend vers $0$ quand le nombre d'expériences augmente. La phrase juste est donc : plus le
nombre d'expériences est grand, plus il est probable que la fréquence soit proche de la probabilité.
La démonstration. $S_N$ suit la loi binomiale de paramètres $N$ et $p$, donc $E(F_N) = \dfrac{Np}{N} = p$ et
$V(F_N) = \dfrac{Np(1-p)}{N^2} = \dfrac{p(1-p)}{N}$. L'inégalité de Bienaymé-Tchebychev, au programme de terminale, donne
$$P\big(|F_N - p| \geqslant \varepsilon\big) \leqslant \frac{p(1-p)}{N\varepsilon^2},$$
et le membre de droite tend vers $0$ quand $N$ tend vers $+\infty$. On conclut avec le théorème des gendarmes, puisqu'une
probabilité est positive.
Des ordres de grandeur. Pour une pièce équilibrée ($p = \dfrac{1}{2}$) et une marge $\varepsilon = 0{,}1$ :
| $N$ | majoration de Bienaymé-Tchebychev | valeur exacte de $P(|F_N - 0{,}5| \geqslant 0{,}1)$ |
| $10$ | $2{,}5$ (inutile) | $0{,}754$ |
| $100$ | $0{,}25$ | $0{,}057$ |
| $1\,000$ | $0{,}025$ | environ $3 \times 10^{-10}$ |
La majoration est grossière, mais elle suffit pour démontrer la loi. Avec $10$ lancers, il est très probable (plus de trois
chances sur quatre) que la fréquence de « pile » soit à $0{,}1$ ou plus de $0{,}5$ ; avec $1\,000$ lancers, c'est extrêmement
improbable, mais pas impossible.
La figure ci-dessous rend la loi visible. On fixe $N$, on fait $300$ fois l'expérience « lancer $N$ fois une pièce et
calculer la fréquence de pile », et l'on trace l'histogramme des $300$ fréquences obtenues. Les fréquences qui s'écartent de $0{,}5$
d'au moins $\varepsilon$ sont en rouge. Quand $N$ augmente, l'histogramme se resserre autour de $0{,}5$ et la part de rouge diminue :
c'est exactement ce que dit le théorème, une probabilité qui diminue.
var opt = {fontSize: 11, useKatex: false, useMathJax: false, parse: false, cssStyle: 'background:#fff;padding:0 3px;border-radius:3px'};
var Ns = [10, 20, 50, 100, 200, 500, 1000, 2000];
var sN = board.create('slider', [[0.02, -0.12], [0.45, -0.12], [0, 3, 7]], {snapWidth: 1, withLabel: false});
var sE = board.create('slider', [[0.55, -0.12], [0.98, -0.12], [0.02, 0.1, 0.2]], {snapWidth: 0.01, withLabel: false});
var R = 300, freqs = [], cle = '';
function simule() { var N = Ns[Math.round(sN.Value())]; freqs = []; for (var i = 0; i < R; i++) { var s = 0; for (var j = 0; j < N; j++) { if (Math.random() < 0.5) { s++; } } freqs.push(s/N); } }
board.create('segment', [[0, 0], [1, 0]], {strokeColor: '#546e7a', strokeWidth: 1.5, fixed: true, highlight: false});
board.create('segment', [[0.5, 0], [0.5, 1.0]], {strokeColor: '#78909c', strokeWidth: 1, dash: 2, fixed: true, highlight: false});
[0, 0.25, 0.5, 0.75, 1].forEach(function (x) { board.create('text', [x - 0.03, -0.05, String(x).replace('.', ',')], Object.assign({}, opt, {cssStyle: ''})); });
function hist(rouge) {
var N = Ns[Math.round(sN.Value())], e = sE.Value(), cl = N + '';
if (cl !== cle) { simule(); cle = cl; }
var nb = 50, c = []; for (var b = 0; b < nb; b++) { c.push([0, 0]); }
freqs.forEach(function (f) { var b = Math.min(nb - 1, Math.floor(f*nb)); c[b][Math.abs(f - 0.5) >= e - 1e-12 ? 1 : 0]++; });
var X = [], Y = [], m = 0; c.forEach(function (q) { m = Math.max(m, q[0] + q[1]); });
var h = 0.95/Math.max(m, 1);
c.forEach(function (q, b) { var x = (b + 0.5)/nb; if (rouge && q[1]) { X.push(x, x, NaN); Y.push(q[0]*h, (q[0] + q[1])*h, NaN); } if (!rouge && q[0]) { X.push(x, x, NaN); Y.push(0, q[0]*h, NaN); } });
return [X, Y];
}
var bleu = board.create('curve', [[0], [0]], {strokeColor: '#1e88e5', strokeWidth: 5, lineCap: 'butt'});
bleu.updateDataArray = function () { var r = hist(false); this.dataX = r[0]; this.dataY = r[1]; };
var rouge = board.create('curve', [[0], [0]], {strokeColor: '#e53935', strokeWidth: 5, lineCap: 'butt'});
rouge.updateDataArray = function () { var r = hist(true); this.dataX = r[0]; this.dataY = r[1]; };
board.create('text', [0.0, 1.13, function () {
var N = Ns[Math.round(sN.Value())], e = sE.Value(), out = freqs.filter(function (f) { return Math.abs(f - 0.5) >= e - 1e-12; }).length;
return Math.round(100*out/R) + ' % des fréquences hors de ]' + (0.5 - e).toFixed(2).replace('.', ',') + ' ; ' + (0.5 + e).toFixed(2).replace('.', ',') + '[';
}], opt);
board.create('text', [0.0, 1.05, function () { var N = Ns[Math.round(sN.Value())], e = sE.Value(), b = 0.25/(N*e*e); return 'Bienaymé-Tchebychev : ' + (b >= 1 ? 'majoration inutile' : 'au plus ' + (100*b).toFixed(1).replace('.', ',') + ' %'); }], opt);
board.create('text', [0.02, -0.22, function () { return 'N = ' + Ns[Math.round(sN.Value())]; }], opt);
board.create('text', [0.55, -0.22, function () { return 'ε = ' + sE.Value().toFixed(2).replace('.', ','); }], opt);
board.create('button', [0.72, 0.9, 'Relancer', function () { cle = ''; board.update(); }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
board.update();
Histogramme de $300$ fréquences de pile, chacune calculée sur $N$ lancers. Le curseur de gauche choisit $N$ (de $10$ à $2\,000$), celui de droite la marge $\varepsilon$. En rouge, les fréquences qui s'écartent de $0{,}5$ d'au moins $\varepsilon$ ; leur proportion estime la probabilité dont parle la loi.
Ce que la loi ne dit pas
Voici les contresens les plus fréquents. Chacun peut être réfuté par un exemple simple.
- « La fréquence se rapproche de la probabilité à chaque nouvelle expérience. » Faux. Si l'on a obtenu exactement
$5$ piles en $10$ lancers, la fréquence vaut $0{,}5$ ; après le onzième lancer, elle vaut $\dfrac{6}{11}$ ou $\dfrac{5}{11}$,
elle s'est éloignée de $0{,}5$. Les fréquences observées ne forment pas une suite qui se rapproche régulièrement de $p$.
- « Avec beaucoup d'expériences, la fréquence est proche de la probabilité. » Faux, si on l'affirme comme une
certitude. Obtenir $1\,000$ piles en $1\,000$ lancers est possible, de probabilité $\dfrac{1}{2^{1\,000}}$, qui n'est pas nulle.
Ce qui devient petit, c'est la probabilité d'un grand écart, pas sa possibilité.
- « Le nombre de piles se rapproche de la moitié du nombre de lancers. » Faux. C'est la fréquence, l'écart
relatif, qui se resserre ; l'écart absolu entre le nombre de piles et $\dfrac{N}{2}$, lui, est typiquement de l'ordre de
$\sqrt{N}$, et grandit. La probabilité d'obtenir exactement autant de piles que de faces diminue même : elle vaut environ
$0{,}246$ pour $10$ lancers, $0{,}080$ pour $100$ lancers et $0{,}025$ pour $1\,000$ lancers.
- « Après une série de faces, pile a plus de chances de sortir, pour compenser. » Faux : c'est l'erreur du
parieur. Les lancers sont indépendants, et la pièce n'a pas de mémoire : après dix faces, pile a toujours une chance sur deux.
Le 18 août 1913, au casino de Monte-Carlo, le noir sortit $26$ fois de suite à la roulette, et des joueurs perdirent des fortunes
en misant sur le rouge, persuadés qu'il « devait » sortir. La fréquence ne revient pas vers $p$ par compensation, mais par
dilution : les dix faces initiales pèsent de moins en moins dans la moyenne des milliers de lancers suivants.
Il existe aussi une loi forte des grands nombres, démontrée par Émile Borel en 1909 pour le jeu de pile ou face :
avec une probabilité égale à $1$, la suite des fréquences converge vers $p$. Elle dépasse le programme de terminale, et elle
ne dit pas non plus que la convergence a lieu pour toutes les suites de lancers : la suite « que des piles » existe, mais l'ensemble
de ces suites exceptionnelles a une probabilité nulle. Au lycée, on énonce et on démontre la loi faible.
Vers la loi normale
Quand le nombre de rangées augmente, l'histogramme des cases prend une forme en cloche, toujours la même une fois recentrée
et mise à l'échelle. En 1733, Abraham de Moivre montre que, pour $p = \dfrac{1}{2}$, les probabilités de la loi binomiale
s'approchent d'une courbe d'équation de la forme $y = C\,\mathrm{e}^{-x^2}$ ; Pierre-Simon de Laplace généralise le résultat en
1812. C'est le théorème de Moivre-Laplace, au-delà du programme de terminale : la loi binomiale de paramètres
$n$ et $p$ ressemble, pour $n$ grand, à la loi normale de même espérance $\mu = np$ et de même écart type
$\sigma = \sqrt{np(1-p)}$, dont la densité est
$$f(x) = \frac{1}{\sigma\sqrt{2\pi}}\,\mathrm{e}^{-\frac{(x - \mu)^2}{2\sigma^2}}.$$
Cette courbe en cloche, dite aussi courbe de Gauss, est partout. Le théorème central limite, qui généralise celui de
Moivre-Laplace, en donne la raison : une grandeur qui résulte de l'addition de très nombreux petits effets indépendants suit
approximativement une loi normale, quelle que soit la loi de chacun de ces effets. Chaque clou de la planche est un petit effet,
la case finale est leur somme. Les erreurs de mesure, la taille des adultes, le poids des graines d'une plante se comportent
souvent de cette façon.
Galton était fasciné par cette régularité. Dans Natural Inheritance (1889), il écrit en substance que la loi des
erreurs aurait été divinisée par les Grecs s'ils l'avaient connue, tant elle fait régner l'ordre au milieu de la plus grande
confusion apparente. Il construit sa planche vers 1873 justement pour la montrer.
Les schémas de la planche dans Natural Inheritance (1889). La figure du milieu, à deux étages, sert à Galton à expliquer comment la variation se transmet d'une génération à la suivante. Francis Galton, Wikimedia Commons, domaine public.
Le jeu du fakir : l'espérance
Dans les fêtes foraines, le « jeu du fakir » (du nom des fakirs qui s'allongent sur des lits de clous) est une planche de
Galton : le joueur paie une mise, lâche une bille, et reçoit la somme inscrite sous la case où elle tombe. Comment
l'organisateur doit-il choisir ces sommes pour gagner de l'argent, tout en rendant le jeu attirant ?
Prenons une planche à $4$ rangées. Les $5$ cases ont pour probabilités $\dfrac{1}{16}$, $\dfrac{4}{16}$, $\dfrac{6}{16}$,
$\dfrac{4}{16}$ et $\dfrac{1}{16}$. L'organisateur affiche de grosses sommes sur les bords, qui attirent l'œil, et de petites au
centre, où tombent la plupart des billes. Notons $a$ la somme des cases du bord, $b$ celle des cases intermédiaires, $c$ celle de la
case centrale. Le gain $G$ du joueur a pour espérance
$$E(G) = \frac{2a + 8b + 6c}{16}.$$
Avec une mise de $2$ € et les sommes $a = 10$ €, $b = 2$ €, $c = 0$ €, on trouve $E(G) = \dfrac{20 + 16}{16} = 2{,}25$ € : le jeu est
favorable au joueur, et l'organisateur perd en moyenne $0{,}25$ € par partie. Avec $a = 8$ €, il est équitable. Avec $a = 8$ € et
$b = 1$ €, $E(G) = 1{,}50$ € : l'organisateur gagne en moyenne $0{,}50$ € par partie, et les grosses sommes du bord restent
affichées.
À vous de jouer. Sur la planche ci-dessous, la mise est de $2$ €, et les sommes affichées sont celles du dernier exemple :
$8$ € sur les bords, $1$ € à côté, rien au centre. Lâchez des billes et regardez votre solde évoluer.
var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, cssStyle: 'background:#fff;padding:0 3px;border-radius:3px'};
var gains = [8, 1, 0, 1, 8], mise = 2, n = 4, bille = null, file = 0, parties = 0, solde = 0, derniere = -1, k, r;
var nb = [0, 0, 0, 0, 0];
var CX = [], CY = [];
for (r = 0; r < n; r++) { for (k = 0; k <= r; k++) { var x = 2 - r/2 + k, y = 4.4 - 0.95*r; CX.push(x - 0.06, x + 0.06, NaN); CY.push(y, y, NaN); } }
board.create('curve', [CX, CY], {strokeColor: '#37474f', strokeWidth: 7, lineCap: 'butt', highlight: false});
for (k = 0; k <= 5; k++) { board.create('segment', [[k - 0.5, -1.0], [k - 0.5, 0.9]], {strokeColor: '#8d6e63', strokeWidth: 2, fixed: true, highlight: false}); }
board.create('segment', [[-0.5, -1.0], [4.5, -1.0]], {strokeColor: '#8d6e63', strokeWidth: 2, fixed: true, highlight: false});
var fond = board.create('curve', [[0], [0]], {strokeWidth: 0, fillColor: '#ffe082', fillOpacity: 0.9});
fond.updateDataArray = function () { if (derniere < 0 || bille) { this.dataX = []; this.dataY = []; return; } var a = derniere - 0.5; this.dataX = [a, a + 1, a + 1, a, a]; this.dataY = [-1, -1, 0.9, 0.9, -1]; };
for (k = 0; k <= 4; k++) { board.create('text', [k - 0.3, -0.55, gains[k] + ' €'], Object.assign({}, opt, {cssStyle: 'font-weight:bold;color:' + (gains[k] > mise ? '#c62828' : '#37474f')})); }
var b = board.create('point', [function () { return bille ? bille.x() : -9; }, function () { return bille ? bille.y() : -9; }], {name: '', size: 6, color: '#ef6c00', fixed: true, visible: function () { return bille !== null; }});
function lacher() {
var d = [0]; for (var q = 0; q < n; q++) { d.push(d[q] + (Math.random() < 0.5 ? 1 : 0)); }
var t = 0;
bille = {d: d, t: 0,
x: function () { var r0 = Math.min(n, Math.floor(this.t)), f = Math.min(1, this.t - r0), x0 = 2 - r0/2 + this.d[r0], x1 = r0 < n ? 2 - (r0 + 1)/2 + this.d[r0 + 1] : x0; return x0 + (x1 - x0)*f; },
y: function () { return this.t <= n ? 5.0 - 0.95*this.t : 5.0 - 0.95*n - 1.6*(this.t - n); }};
}
board.create('text', [-0.65, 6.0, function () {
if (parties === 0) { return 'Mise : 2 € par bille. Bonne chance !'; }
var g = gains[derniere];
return 'Partie ' + parties + ' : vous gagnez ' + g + ' € (' + (g - mise >= 0 ? '+' : '−') + Math.abs(g - mise) + ' €)';
}], opt);
board.create('text', [-0.65, -1.45, function () { return 'Solde après ' + parties + ' partie' + (parties > 1 ? 's' : '') + ' : ' + (solde >= 0 ? '+' : '−') + Math.abs(solde) + ' €'; }], Object.assign({}, opt, {fontSize: 13}));
board.create('text', [-0.65, -1.9, function () { return parties ? 'Gain moyen par partie : ' + (solde/parties).toFixed(2).replace('.', ',').replace('-', '−') + ' €' : 'Gain moyen espéré : −0,50 € par partie'; }], opt);
board.create('text', [-0.65, -2.3, function () { return parties ? 'Cases : ' + nb.join(' / ') : ''; }], Object.assign({}, opt, {fontSize: 11}));
board.create('button', [-0.6, -2.75, 'Lâcher une bille', function () { if (!bille) { lacher(); } else { file++; } }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
board.create('button', [1.75, -2.75, '10 billes', function () { if (!bille) { lacher(); file += 9; } else { file += 10; } }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
board.create('button', [3.15, -2.75, 'Zéro', function () { file = 0; bille = null; parties = 0; solde = 0; derniere = -1; nb = [0, 0, 0, 0, 0]; board.update(); }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
setInterval(function () {
if (!bille) { return; }
bille.t += file > 0 ? 0.35 : 0.18;
if (bille.t >= n + 0.9) {
derniere = bille.d[n]; nb[derniere]++; parties++; solde += gains[derniere] - mise; bille = null;
if (file > 0) { file--; lacher(); }
}
board.update();
}, 40);
board.update();
Le jeu du fakir, jouable. Chaque bille coûte $2$ € ; la case où elle tombe indique ce que l'on récupère. Sur quelques parties, on peut gagner ; sur un grand nombre de parties, il est très probable que le gain moyen soit proche de $-0{,}50$ € par partie.
Que veut dire « en moyenne » ? Une partie isolée peut rapporter $8$ € au joueur. L'espérance n'est pas ce qui
se passe à chaque partie : c'est, grâce à la loi des grands nombres appliquée à la moyenne des gains, la valeur dont la moyenne
des gains sur un grand nombre de parties a une forte probabilité d'être proche. Sur une journée de $1\,000$ parties, le gain moyen de
l'organisateur sera très probablement proche de $0{,}50$ € par partie, soit environ $500$ € : pour lui, le résultat est très
prévisible, alors que pour chaque joueur c'est une loterie. C'est le principe de tous les jeux d'argent, et de l'assurance.
var opt = {fontSize: 11, useKatex: false, useMathJax: false, parse: false, cssStyle: 'background:#fff;padding:0 3px;border-radius:3px'};
var sa = board.create('slider', [[150, -1.75], [900, -1.75], [0, 8, 20]], {snapWidth: 1, withLabel: false});
var sb = board.create('slider', [[150, -2.1], [900, -2.1], [0, 1, 6]], {snapWidth: 1, withLabel: false});
var sm = board.create('slider', [[1380, -1.75], [1980, -1.75], [1, 2, 5]], {snapWidth: 0.5, withLabel: false});
board.create('text', [-110, -1.75, function () { return 'a = ' + Math.round(sa.Value()); }], opt);
board.create('text', [-110, -2.1, function () { return 'b = ' + Math.round(sb.Value()); }], opt);
board.create('text', [1050, -1.75, function () { return 'mise ' + sm.Value().toFixed(1).replace('.', ','); }], opt);
board.create('segment', [[0, 0], [2000, 0]], {strokeColor: '#546e7a', strokeWidth: 1, fixed: true, highlight: false});
[-1, 1].forEach(function (y) { board.create('text', [-110, y, String(y)], Object.assign({}, opt, {cssStyle: ''})); });
var esp = function () { return sm.Value() - (2*Math.round(sa.Value()) + 8*Math.round(sb.Value()))/16; };
board.create('functiongraph', [function () { return esp(); }, 0, 2000], {strokeColor: '#c62828', strokeWidth: 2, dash: 2});
var cle = '', moy = [];
function tirage() { var k = 0; for (var i = 0; i < 4; i++) { if (Math.random() < 0.5) { k++; } } return k; }
var courbe = board.create('curve', [[0], [0]], {strokeColor: '#1565c0', strokeWidth: 1.6});
courbe.updateDataArray = function () {
var a = Math.round(sa.Value()), b = Math.round(sb.Value()), m = sm.Value(), c = a + ',' + b + ',' + m;
if (c !== cle) { cle = c; moy = []; var s = 0; for (var j = 1; j <= 2000; j++) { var k = tirage(), g = (k === 0 || k === 4) ? a : ((k === 1 || k === 3) ? b : 0); s += m - g; moy.push(s/j); } }
var X = [], Y = []; for (var j2 = 0; j2 < 2000; j2 += 2) { X.push(j2 + 1); Y.push(Math.max(-1.4, Math.min(1.9, moy[j2]))); } this.dataX = X; this.dataY = Y;
};
board.create('text', [-110, 2.2, function () { var e = esp(); return 'espérance du gain de l\'organisateur : ' + e.toFixed(2).replace('.', ',') + ' €'; }], opt);
board.create('text', [1500, 0.25, '2 000 parties'], Object.assign({}, opt, {cssStyle: ''}));
board.create('button', [1500, 1.6, 'Rejouer', function () { cle = ''; board.update(); }], {fontSize: 11, useKatex: false, useMathJax: false, parse: false});
board.update();
Gain moyen de l'organisateur (en bleu) au fil de $2\,000$ parties simulées, et sa valeur espérée (en rouge). Les curseurs règlent la somme $a$ des bords, la somme $b$ des cases intermédiaires (la case centrale ne rapporte rien) et la mise. Au début, la moyenne varie beaucoup ; ensuite, elle reste le plus souvent près de l'espérance, sans jamais y être obligée.
Francis Galton, l'hérédité et la régression vers la moyenne
Un savant touche-à-tout. Francis Galton (1822-1911) est le demi-cousin de Charles Darwin : ils ont le même
grand-père, le médecin et naturaliste Erasmus Darwin. Riche héritier, il étudie la médecine puis les mathématiques à Cambridge,
explore l'actuelle Namibie au début des années 1850, publie un guide de voyage à succès, invente le mot anticyclone et fait
paraître en 1875, dans le Times, l'une des premières cartes météorologiques publiées dans un journal. Il a la passion de
mesurer : en 1884, son laboratoire d'anthropométrie mesure près de $10\,000$ visiteurs d'une exposition à Londres.
Francis Galton vers 1890. Photo : Graham's Art Studios, Wikimedia Commons, domaine public.
L'hérédité. La lecture de L'Origine des espèces de Darwin (1859) l'oriente vers une question : comment
les caractères se transmettent-ils des parents aux enfants ? À l'époque, on ne connaît ni les gènes ni l'ADN ; les travaux de
Gregor Mendel (1865) sur les pois sont passés inaperçus, et ne seront redécouverts qu'en 1900. Galton choisit une autre voie :
mesurer des milliers d'individus et étudier les mesures avec des outils statistiques. En 1875, il distribue à des amis des graines
de pois de senteur classées par taille et compare la taille des graines des plantes filles à celle des graines mères. En 1886, il
étudie la taille de $928$ enfants adultes de $205$ familles.
La régression vers la moyenne. Galton constate que les enfants de parents très grands sont en moyenne grands,
mais moins que leurs parents ; les enfants de parents très petits sont en moyenne petits, mais moins que leurs parents. Il appelle
ce phénomène la régression vers la moyenne : l'écart à la moyenne de la population est, chez les enfants, à peu près
les deux tiers de celui des parents. Ce n'est pas que la population s'uniformise : d'une génération à l'autre, la variété des tailles
reste la même, car d'autres enfants s'écartent à leur tour de la moyenne. Pour étudier ce lien, Galton invente en 1888 la notion
de corrélation ; son disciple Karl Pearson en fera le coefficient de corrélation, et la droite de régression est restée
dans tous les cours de statistique.
var opt = {fontSize: 11, useKatex: false, useMathJax: false, parse: false, cssStyle: 'background:#fff;padding:0 3px;border-radius:3px'};
var g = 20261013;
function u() { g = (g*16807) % 2147483647; return g/2147483647; }
function nor() { return Math.sqrt(-2*Math.log(u()))*Math.cos(2*Math.PI*u()); }
[160, 170, 180, 190].forEach(function (v) {
board.create('segment', [[v, 156], [v, 192]], {strokeColor: '#eceff1', strokeWidth: 1, fixed: true, highlight: false});
board.create('segment', [[156, v], [192, v]], {strokeColor: '#eceff1', strokeWidth: 1, fixed: true, highlight: false});
board.create('text', [v - 1.6, 155.6, String(v)], Object.assign({}, opt, {cssStyle: '', fontSize: 10}));
board.create('text', [154.3, v, String(v)], Object.assign({}, opt, {cssStyle: '', fontSize: 10}));
});
var X = [], Y = [], m = 174;
for (var i = 0; i < 400; i++) { var p = m + 4.5*nor(), e = m + (2/3)*(p - m) + 4.2*nor(); X.push(p - 0.25, p + 0.25, NaN); Y.push(e, e, NaN); }
board.create('curve', [X, Y], {strokeColor: '#1e88e5', strokeWidth: 3.5, lineCap: 'butt', highlight: false});
board.create('segment', [[156, 156], [192, 192]], {strokeColor: '#78909c', strokeWidth: 1.5, dash: 2, fixed: true, highlight: false});
board.create('segment', [[156, m + (2/3)*(156 - m)], [192, m + (2/3)*(192 - m)]], {strokeColor: '#c62828', strokeWidth: 2.5, fixed: true, highlight: false});
board.create('text', [157, 191, 'taille de l\'enfant (cm)'], opt);
board.create('text', [172, 158.5, 'taille moyenne des parents (cm)'], opt);
board.create('text', [184, 188, 'y = x'], Object.assign({}, opt, {cssStyle: 'background:#fff;color:#607d8b'}));
board.create('text', [183, 178.6, 'pente 2/3'], Object.assign({}, opt, {cssStyle: 'background:#fff;color:#c62828'}));
Données simulées dans l'esprit de l'étude de Galton : chaque point est une famille. La droite rouge, de pente $\dfrac{2}{3}$, est moins pentue que la droite $y = x$ (en pointillés) : les enfants de parents extrêmes sont en moyenne moins extrêmes que leurs parents.
Un piège du raisonnement. La régression vers la moyenne apparaît partout où une mesure mêle une part stable et une
part de hasard, et elle fait commettre de nombreuses erreurs. Le psychologue Daniel Kahneman raconte que des instructeurs de
l'armée de l'air israélienne étaient persuadés que féliciter un pilote après un excellent vol le faisait moins bien voler la fois
suivante, et que le réprimander après un mauvais vol l'améliorait. Ils voyaient l'effet de leurs paroles là où il n'y avait que de
la régression : un vol exceptionnel est en partie dû à la chance, et le suivant est en général plus ordinaire, quoi qu'on dise. Le
même effet fait croire qu'un traitement a marché quand on l'a commencé au plus fort d'une maladie, ou qu'un sportif « s'effondre »
après une saison record. C'est pourquoi les essais cliniques comparent toujours un groupe traité à un groupe témoin.
Jumeaux et empreintes. En 1874, Galton forge l'expression nature and nurture, « l'inné et l'acquis », et
propose dès 1875 d'étudier les jumeaux pour séparer les deux : c'est l'origine des études de jumeaux encore utilisées en
génétique. En 1892, dans Finger Prints, il montre que les empreintes digitales ne changent pas au cours de la vie et
qu'elles sont propres à chaque individu, et il propose une classification. La police britannique adopte l'identification par les
empreintes en 1901.
Mendel et Galton réconciliés. Au début du XXe siècle, deux écoles s'opposent violemment. Les
« mendéliens » expliquent l'hérédité par des facteurs distincts (nos gènes), qui produisent des caractères tranchés, comme les pois
lisses ou ridés de Mendel. Les « biométriciens », héritiers de Galton, étudient des caractères qui varient continûment, comme la
taille, et distribués selon une courbe en cloche. En 1918, le statisticien Ronald Fisher montre que les deux points de vue sont
compatibles : un caractère qui dépend de très nombreux gènes, chacun ayant un petit effet, auquel s'ajoutent les effets du milieu,
se distribue selon une loi presque normale. La planche de Galton en donne l'image exacte : chaque clou est un gène qui ajoute ou
retire un peu, et la case finale est la taille. C'est le modèle des caractères polygéniques enseigné aujourd'hui. Le
milieu compte aussi : la taille moyenne des adultes a augmenté de plusieurs centimètres en un siècle dans les pays européens,
bien trop vite pour que les gènes aient changé, grâce à l'alimentation et à la santé.
De la statistique à l'eugénisme : un regard critique
En 1869, dans Hereditary Genius, Galton étudie les familles d'hommes célèbres (juges, savants, hommes politiques) et
conclut que le talent est héréditaire. En 1883, il invente le mot eugénisme (du grec « bien né ») : il propose
d'améliorer l'espèce humaine en encourageant la reproduction des personnes jugées les plus douées et en décourageant celle des
autres. Il fonde une chaire d'eugénique à l'université de Londres, que Karl Pearson occupera.
Les conséquences. L'eugénisme connaît un succès considérable dans la première moitié du XXe siècle, à
gauche comme à droite, dans de nombreux pays. Aux États-Unis, l'Indiana adopte en 1907 la première loi de stérilisation forcée ;
en 1927, la Cour suprême la juge conforme à la Constitution (arrêt Buck v. Bell), et environ $60\,000$ Américains seront
stérilisés de force au cours du siècle. La Suède stérilise plus de $60\,000$ personnes entre 1935 et 1975. En France, le prix Nobel de
médecine Alexis Carrel défend des thèses eugénistes dans un livre à succès de 1935. L'Allemagne nazie pousse la logique jusqu'au
bout : une loi de 1933 conduit à environ $400\,000$ stérilisations forcées, puis, à partir de 1939, l'opération « T4 » assassine
plus de $70\,000$ personnes handicapées ou malades mentales, avant que les méthodes mises au point ne servent au génocide des Juifs
d'Europe.
Des erreurs scientifiques. L'eugénisme ne repose pas seulement sur des choix moraux inacceptables ; il repose
aussi sur des erreurs que la science a montrées.
- Galton confond l'héréditaire et le social : les fils de juges célèbres réussissent aussi parce qu'ils héritent de la fortune,
de l'éducation et des relations de leur père, ce que ses statistiques ne permettent pas de séparer.
- Les qualités qu'il prétend sélectionner (l'intelligence, la moralité, la « valeur » d'une personne) ne sont pas des caractères
biologiques simples ; elles dépendent du milieu, de l'histoire et du regard de la société.
- Sa propre découverte, la régression vers la moyenne, montre que les caractères extrêmes ne se transmettent qu'en partie : les
enfants de parents exceptionnels sont en moyenne moins exceptionnels.
- La génétique moderne montre que la diversité génétique est une richesse pour une espèce, et que les catégories « raciales » sur
lesquelles s'appuyait souvent l'eugénisme n'ont pas de fondement biologique.
Aujourd'hui. En France, l'article 16-4 du Code civil, issu des lois de bioéthique de 1994, interdit « toute pratique
eugénique tendant à l'organisation de la sélection des personnes ». En 2020, l'University College de Londres a retiré les noms de
Galton et de Pearson de ses bâtiments. Les questions restent vives avec le diagnostic prénatal et les techniques de modification
du génome : où passe la limite entre soigner et sélectionner ? L'histoire de Galton montre qu'un grand scientifique peut faire
des découvertes durables et défendre en même temps une doctrine fausse et dangereuse, et que les outils mathématiques ne disent
rien, à eux seuls, de l'usage qu'on en fait.
Des directions pour construire sa question
Ce texte n'est pas un Grand Oral. Il rassemble des connaissances dans lesquelles chacun peut choisir une direction,
la creuser et formuler sa propre question. Quelques directions possibles :
- Mathématiques : la loi binomiale et le dénombrement des chemins, la loi faible des grands nombres
énoncée et démontrée avec rigueur, ses contresens, l'espérance et les jeux d'argent.
- SVT : l'hérédité des caractères polygéniques, Mendel et Galton, la part du milieu, les études de jumeaux.
- HGGSP : l'eugénisme au XXe siècle, des États-Unis à l'Allemagne nazie, et ses suites.
- HLP : le hasard et la régularité, l'éthique de la science, l'inné et l'acquis.
Pour l'échange avec le jury : les notions du cours à maîtriser
Le jury peut interroger sur les chapitres de spécialité mobilisés. Avec ce thème, il est utile de connaître
parfaitement : le dénombrement et les coefficients binomiaux ; le schéma de Bernoulli et la loi binomiale, son espérance et sa
variance ; l'espérance et la variance d'une variable aléatoire, et leurs propriétés pour une somme ; l'inégalité de
Bienaymé-Tchebychev, l'inégalité de concentration et la loi faible des grands nombres ; les limites de suites.
Pour réviser ces chapitres, l'application Maths FlashBac
reprend tout le cours de spécialité en cartes.
Pour aller plus loin
- Planche de Galton, Francis Galton et loi des grands nombres (Wikipédia).
- F. Galton, Natural Inheritance, Macmillan, 1889 (en accès libre sur Internet Archive).
- D. Kahneman, Système 1 / Système 2, Flammarion, 2012 (sur la régression vers la moyenne).
- A. Pichot, La Société pure. De Darwin à Hitler, Flammarion, 2000 (histoire de l'eugénisme).
- Sur ce site : l'animation Planche de Galton et les textes
Le triangle de Pascal et
La méthode de Monte-Carlo (intervalle de confiance).