ATLAS Ouvrir dans l'atlas →

ExerciceMaths Sup – MPSI, chapitre 21 — Dénombrement et probabilités · Exercices de synthèse

Exercice 106

AlgorithmiqueProblèmeCalcul

Le principe de réflexion. Pour des entiers s0s_{0}, sℓs_{\ell} et ℓ⩾1\ell \geqslant 1, on appelle chemin de (0,s0)(0, s_{0}) à (ℓ,sℓ)(\ell, s_{\ell}) toute suite d'entiers (s0,s1,…,sℓ)(s_{0}, s_{1}, \dots, s_{\ell}) telle que ∣si+1−si∣=1|s_{i+1} - s_{i}| = 1 pour tout i∈⟦0 ,ℓ−1⟧i \in \llbracket 0\,,\ell - 1 \rrbracket ; on le représente par la ligne brisée qui joint les points (i,si)(i, s_{i}).

1. (a) Déterminer le nombre de chemins de (0,s0)(0, s_{0}) à (ℓ,sℓ)(\ell, s_{\ell}).

(b) On suppose s0>0s_{0} > 0 et sℓ>0s_{\ell} > 0. Montrer qu'il y a autant de chemins de (0,s0)(0, s_{0}) à (ℓ,sℓ)(\ell, s_{\ell}) qui touchent l'axe des abscisses, c'est-à-dire tels que si=0s_{i} = 0 pour au moins un indice ii, que de chemins de (0,s0)(0, s_{0}) à (ℓ,−sℓ)(\ell, -s_{\ell}).

2. Un sac contient nn boules blanches et nn boules noires, que l'on tire une à une, sans remise, tous les ordres étant également probables. Quelle est la probabilité qu'à chaque instant, le nombre de boules blanches déjà sorties soit supérieur ou égal au nombre de boules noires déjà sorties ? On pourra décaler les chemins d'une unité vers le haut.

3. Lors d'un scrutin entre deux candidats AA et BB, le candidat AA obtient 600600 voix et le candidat BB en obtient 400400 ; tous les ordres de dépouillement sont également probables. Quelle est la probabilité que AA ait eu, tout au long du dépouillement, au moins autant de voix que BB ? Ce problème porte le nom de J. Bertrand, qui l'a publié en 1887 dans les Comptes rendus de l'Académie des sciences.

4. Une place de cinéma coûte 55 euros. Dans une file d'attente de 100100 personnes, 5555 paient avec un billet de 55 euros et 4545 avec un billet de 1010 euros, tous les ordres d'arrivée étant également probables. Le guichet dispose au départ de rr billets de 55 euros pour rendre la monnaie. Exprimer, en fonction de rr, la probabilité de pouvoir servir toutes les personnes dans l'ordre de la file, puis déterminer à l'aide d'un programme Python la plus petite valeur de rr pour laquelle elle est au moins égale à 0,950{,}95.

Les quatre derniers exercices sont des problèmes à traiter en autonomie : l'énoncé fixe le but, et c'est à vous de trouver le chemin.

Corrigé

1.(a) Un chemin est déterminé par son point de départ et la suite de ses pas εi=si+1−si∈{−1,1}\varepsilon_{i} = s_{i+1} - s_{i} \in \{-1, 1\}, et il arrive en sℓs_{\ell} si et seulement si ε0+⋯+εℓ−1=sℓ−s0\varepsilon_{0} + \cdots + \varepsilon_{\ell - 1} = s_{\ell} - s_{0}. Si uu pas valent 11 et ℓ−u\ell - u valent −1-1, cette condition s'écrit u−(ℓ−u)=sℓ−s0u - (\ell - u) = s_{\ell} - s_{0}, soit u=ℓ+sℓ−s02u = \frac{\ell + s_{\ell} - s_{0}}{2}. Un chemin correspond donc à la partie de ⟦0 ,ℓ−1⟧\llbracket 0\,,\ell - 1 \rrbracket formée des indices des pas montants, de cardinal uu, et le théorème 2 donne nombre de chemins de (0,s0) aˋ (ℓ,sℓ)=(ℓu),u=ℓ+sℓ−s02\boxed{\text{nombre de chemins de } (0, s_{0}) \text{ à } (\ell, s_{\ell}) = \binom{\ell}{u}, \qquad u = \frac{\ell + s_{\ell} - s_{0}}{2}} si ℓ+sℓ−s0\ell + s_{\ell} - s_{0} est pair et ∣sℓ−s0∣⩽ℓ|s_{\ell} - s_{0}| \leqslant \ell, et 00 sinon : il faut que uu soit un entier de ⟦0 ,ℓ⟧\llbracket 0\,,\ell \rrbracket.

1.(b) Un lemme des valeurs intermédiaires. Un chemin qui va d'un entier strictement positif à un entier négatif s'annule : si i0i_{0} est le plus petit indice tel que si0⩽0s_{i_{0}} \leqslant 0, alors i0⩾1i_{0} \geqslant 1, si0−1⩾1s_{i_{0} - 1} \geqslant 1, et si0⩾si0−1−1⩾0s_{i_{0}} \geqslant s_{i_{0} - 1} - 1 \geqslant 0, donc si0=0s_{i_{0}} = 0.

Soit 𝒯\mathcal{T} l'ensemble des chemins de (0,s0)(0, s_{0}) à (ℓ,sℓ)(\ell, s_{\ell}) qui touchent l'axe, et 𝒯′\mathcal{T}' l'ensemble des chemins de (0,s0)(0, s_{0}) à (ℓ,−sℓ)(\ell, -s_{\ell}). Pour un chemin ss qui touche l'axe, on note τ(s)\tau(s) le premier indice où il s'annule, et l'on définit le chemin réfléchi Φ(s)=(s0,…,sτ,−sτ+1,…,−sℓ),τ=τ(s).\Phi(s) = \big(s_{0}, \dots, s_{\tau}, -s_{\tau+1}, \dots, -s_{\ell}\big), \qquad \tau = \tau(s). C'est bien un chemin : les pas avant l'indice τ\tau sont conservés, ceux qui suivent l'indice τ+1\tau + 1 sont changés de signe, et, puisque sτ=0s_{\tau} = 0, ∣−sτ+1−sτ∣=∣sτ+1∣=∣sτ+1−sτ∣=1.|-s_{\tau+1} - s_{\tau}| = |s_{\tau+1}| = |s_{\tau+1} - s_{\tau}| = 1. Si s∈𝒯s \in \mathcal{T}, alors Φ(s)∈𝒯′\Phi(s) \in \mathcal{T}'. Réciproquement, un chemin de 𝒯′\mathcal{T}' va de s0>0s_{0} > 0 à −sℓ<0-s_{\ell} < 0 : il touche l'axe par le lemme, et la même construction l'envoie dans 𝒯\mathcal{T}. Les deux chemins ss et Φ(s)\Phi(s) coïncident jusqu'à l'indice τ(s)\tau(s), donc ont le même premier zéro, et réfléchir deux fois après ce zéro redonne le chemin initial : Φ\Phi réalise une bijection de 𝒯\mathcal{T} sur 𝒯′\mathcal{T}', d'où ∣𝒯∣=∣𝒯′∣=nombre de chemins de (0,s0) aˋ (ℓ,−sℓ)\boxed{|\mathcal{T}| = |\mathcal{T}'| = \text{nombre de chemins de } (0, s_{0}) \text{ à } (\ell, -s_{\ell})}

Figure

Le chemin en bleu part de (0,2)(0, 2), touche l'axe pour la première fois au point rouge, d'abscisse τ=2\tau = 2, et arrive en (10,2)(10, 2) ; sa partie située après τ\tau, réfléchie par rapport à l'axe, donne le chemin en pointillés ocre, qui arrive en (10,−2)(10, -2).

2. Les 2n2n boules sont discernables, et l'univers des ordres de sortie, muni de la probabilité uniforme, a (2n)!(2n)! éléments. On ne retient que la suite des couleurs : chaque suite de nn « blanc » et nn « noir » provient de n! n!n!\,n! ordres (lemme des bergers), donc la suite des couleurs suit la loi uniforme sur les (2nn)\binom{2n}{n} suites possibles. On lui associe le chemin si=s_{i} = (blanches sorties) −- (noires sorties) après ii tirages, de (0,0)(0, 0) à (2n,0)(2n, 0) ; c'est une bijection entre suites de couleurs et chemins.

L'événement étudié est « si⩾0s_{i} \geqslant 0 pour tout ii ». En décalant d'une unité vers le haut, il correspond aux chemins de (0,1)(0, 1) à (2n,1)(2n, 1) qui ne touchent pas l'axe. Par la question 1, ils sont au nombre de (2nn)−(2nn−1),\binom{2n}{n} - \binom{2n}{n - 1}, le second terme comptant les chemins de (0,1)(0, 1) à (2n,−1)(2n, -1), pour lesquels u=n−1u = n - 1. Comme (2nn−1)=(2n)!(n−1)! (n+1)!=nn+1(2nn),\binom{2n}{n - 1} = \frac{(2n)!}{(n - 1)!\,(n + 1)!} = \frac{n}{n + 1}\binom{2n}{n}, la probabilité vaut 1−nn+1=1n+1\boxed{1 - \frac{n}{n + 1} = \frac{1}{n + 1}} Le nombre de suites favorables, 1n+1(2nn)\frac{1}{n + 1}\binom{2n}{n}, est le nombre de Catalan de l'exercice 21, obtenu ici par la réflexion plutôt que par le lemme cyclique. Le résultat a été contrôlé par énumération pour n⩽7n \leqslant 7 ✓.

3. Comme à la question 2, l'ordre de dépouillement fournit une suite uniforme parmi les (1 000400)\binom{1\,000}{400} suites de 600600 voix AA et 400400 voix BB, et le chemin si=s_{i} = (voix de AA) −- (voix de BB) va de (0,0)(0, 0) à (1 000,200)(1\,000, 200). Décalé d'une unité, il doit aller de (0,1)(0, 1) à (1 000,201)(1\,000, 201) sans toucher l'axe. Les chemins qui le touchent correspondent à ceux de (0,1)(0, 1) à (1 000,−201)(1\,000, -201), pour lesquels u=1 000−201−12=399u = \frac{1\,000 - 201 - 1}{2} = 399. La probabilité vaut 1−(1 000399)(1 000400)=1−400601,soit 201601≈0,3341 - \frac{\dbinom{1\,000}{399}}{\dbinom{1\,000}{400}} = 1 - \frac{400}{601}, \qquad \boxed{\text{soit } \frac{201}{601} \approx 0{,}334} Plus généralement, pour a⩾ba \geqslant b voix, on trouve a−b+1a+1\frac{a - b + 1}{a + 1}. Bien que AA l'emporte avec 60 %60\,\% des voix, il n'est resté en tête, au sens large, tout au long du dépouillement qu'avec une probabilité d'environ un tiers. La version stricte, « AA toujours strictement en tête », se traite de même : la première voix doit être pour AA, puis le chemin va de (1,1)(1, 1) à (1 000,200)(1\,000, 200) sans toucher l'axe, et l'on trouve (999599)−(999399)(1 000400)=6001 000−4001 000=a−ba+b=15,\frac{\dbinom{999}{599} - \dbinom{999}{399}}{\dbinom{1\,000}{400}} = \frac{600}{1\,000} - \frac{400}{1\,000} = \frac{a - b}{a + b} = \frac{1}{5}, ce que confirme un calcul par programmation dynamique ✓.

4. On code un client qui paie avec un billet de 55 euros par un pas +1+1 et un client qui paie avec un billet de 1010 euros par un pas −1-1 : après le passage des ii premiers clients, la caisse contient r+sir + s_{i} billets de 55 euros, où ss est le chemin de (0,0)(0, 0) à (100,10)(100, 10) associé à la file. Un client qui paie avec 1010 euros peut être servi si et seulement s'il reste au moins un billet de 55 euros avant son passage, c'est-à-dire si r+si⩾0r + s_{i} \geqslant 0 après. On peut donc servir toute la file si et seulement si r+si⩾0r + s_{i} \geqslant 0 pour tout ii, c'est-à-dire si le chemin (r+1+si)i(r + 1 + s_{i})_{i}, de (0,r+1)(0, r + 1) à (100,r+11)(100, r + 11), ne touche pas l'axe. Comme à la question 2, la file fournit une suite uniforme parmi les (10045)\binom{100}{45} suites possibles.

Si r⩾45r \geqslant 45, on peut toujours servir tout le monde, puisque si⩾−45s_{i} \geqslant -45. Si 0⩽r⩽440 \leqslant r \leqslant 44, les chemins qui touchent l'axe correspondent à ceux de (0,r+1)(0, r + 1) à (100,−r−11)(100, -r - 11), pour lesquels u=100−(r+11)−(r+1)2=44−r.u = \frac{100 - (r + 11) - (r + 1)}{2} = 44 - r. La probabilité de servir toute la file vaut P(r)=1−(10044−r)(10045)(0⩽r⩽44),P(r)=1(r⩾45)\boxed{P(r) = 1 - \frac{\dbinom{100}{44 - r}}{\dbinom{100}{45}} \quad (0 \leqslant r \leqslant 44), \qquad P(r) = 1 \quad (r \geqslant 45)} Pour r=0r = 0, on retrouve 1−4556=11561 - \frac{45}{56} = \frac{11}{56}, valeur du scrutin avec a=55a = 55 et b=45b = 45. Le programme suivant cherche le plus petit rr convenable.

from math import comb

def P(r):
    # probabilite de servir toute la file avec r billets de 5 euros
    if r >= 45:
        return 1.0
    return 1 - comb(100, 44 - r) / comb(100, 45)

r = 0
while P(r) < 0.95:
    r += 1
print(r, P(r), P(r - 1))

Il affiche r=8r = 8, avec P(8)≈0,968P(8) \approx 0{,}968 et P(7)≈0,944P(7) \approx 0{,}944 : r=8\boxed{r = 8} La formule a été confirmée, pour tout r∈⟦0 ,46⟧r \in \llbracket 0\,,46 \rrbracket, par un calcul direct par programmation dynamique ✓. Huit billets de 55 euros suffisent dans 95 %95\,\% des cas, alors que le pire cas, où les 4545 billets de 1010 euros arrivent en tête, en demanderait 4545.

À retenir. La réflexion remplace une condition difficile à compter, « ne jamais passer sous un niveau », par un simple changement de point d'arrivée. Toute la difficulté est de bien coder le problème : choisir le pas, placer le niveau interdit, et décaler le chemin pour que ce niveau devienne l'axe.

Les quatre derniers exercices sont des problèmes en autonomie ; chacun commence par l'idée directrice.

Ouvrir dans l'atlas interactif →