|
-
Il y a six façons distinctes d’écrire {9} comme somme de trois entiers de {[[ 1,6]]} :
{\begin{array}{rlll}9&=6\!+\!2\!+\!1&=5\!+\!3\!+\!1&=5\!+\!2\!+\!2\\&=4\!+\!4\!+\!1&=4\!+\!3\!+\!2&=3\!+\!3\!+\!3\end{array}}Il y a également six façons distinctes d’écrire {10} comme somme de trois entiers de {[[ 1,6]]} :
{\begin{array}{rlll}10&=6\!+\!3\!+\!1&=6\!+\!2\!+\!2&=5\!+\!4\!+\!1\\&=5\!+\!3\!+\!2&=4\!+\!4\!+\!2&=4\!+\!3\!+\!3\end{array}} -
On suppose que les dés sont différenciés, ou qu’on lance le même dé trois fois de suite.
L’univers des possibles est {[[ 1,6]]} (de cardinal {6^{3}=216}), avec la probabilité uniforme.
On code une issue {(i,j,k)} par l’entier {ijk}.
On constate alors que l’évènement {S=9} s’écrit comme la réunion de 25 issues différentes (on a isolé sur une même ligne les issues correspondant à une même décomposition de {9} en somme de trois entiers de {[[1,6]]}) :
{\left\{\begin{array}{l}621,\;612,\;261,\;216,\;162,\;126,\\531,\;513,\;351,\;315,\;153,\;135,\\522,\;252,\;225\\441,\;414,\;144\\432,\;423,\;342,\;324,\;243,\;234\\333\end{array}\right.}De même, l’événement {S=10} s’écrit:
{\left\{\begin{array}{l}631,\;613,\;361,\;316,\;163,\;136,\\622,\;262,\;226,\\541,\;514,\;451,\;415,\;154,\;145,\\532,\;523,\;352,\;325,\;253,\;235\\442,\;424,\;244,\\433,\;343,\;334\end{array}\right.}Il y a donc {25} (resp. {27}) issues élémentaires qui donnent la somme {9} (resp. {10}).
Ainsi : {\mathbb{P}(S=9)=\dfrac{25}{216}\approx 0.11574}.
De même : {\mathbb{P}(S=10)=\dfrac{27}{216}=\dfrac{3}{24}=0.125}.
Donc {\mathbb{P}(S=10)>\mathbb{P}(S=9)} alors qu’il y a autant (en l’occurence {6}) de façons de d’écrire {10} ou {9} comme la somme de trois entiers de {[[ 1,6]]}.
Ce problème est connu sous le nom « paradoxe du Duc de Toscane » (soumis à Galilée).
Le paradoxe est dû au fait qu’il n’y a pas équiprobabilité des décompositions (par exemple, {6+2+1} est six fois plus probable que {2+2+2}).
La fonction Python suivante (rustique) donne les nombres de décompositions de somme {s}.
La somme minimum est {3}, le maximum est {18}. On place les effectifs dans une liste {t} (NB: on peut faire défiler la fenêtre du code vers la droite) :
1234567def toscane():t = [0]*19 # initialise la liste des 19 effectifsfor i in range(1,7): # le premier défor j in range(1,7): # le deuxièmefor k in range(1,7): # le troisièmet[i+j+k] += 1 # incrémente l'effectif de la sommereturn t # renvoie la liste des effectifsOn voit bien qu’il y a {25} façons d’obtenir la somme {9}, et {27} façons d’obtenir la somme {10}:
12>>> toscane()[0, 0, 0, 1, 3, 6, 10, 15, 21, 25, 27, 27, 25, 21, 15, 10, 6, 3, 1] -
Complément :
On va écrire une fonction récursive Python renvoyant la liste des {\varphi(n,m,s)} (avec {0\le s\le nm}), où {\varphi(n,m,s)} est le nombre de {n}-uplets de {[[ 0,m]]} qui donnent une somme {s} donnée (cette liste est indicée par les valeurs de {s} donc de l’indice {0} à l’indice {nm}).
On initialise avec la liste [1]: en effet, pour {n=0}, il n’y a qu’une décomposition (qui est vide!) et elle donne la somme {s=0}.
Ensuite, on discute suivant le résultat {j} (avec {0\le j\le m}) du premier élément du {n}-uplet.
On trouve :{\begin{array}{rl}\varphi(n,m,s)&=\displaystyle\sum_{j=0}^{j=m}\varphi(n-1,m,s-j)\\\\&=\displaystyle\sum_{k=s-m}^{k=s}\varphi(n-1,m,k)\end{array}}L’indice {k} est limité à l’intervalle {[[ s-m,s]]}, mais il faut aussi imposer {0\le k\le (n-1)m}.
L’intervalle en {k} est donc :{[[ \max(0,s-m),\min(s,(n-1)m)]]}On obtient la fonction suivante (qui utilise la notion de « slicing » d’une liste Python).
123456def partitions(n,m):if n == 0:return [1]else:L = partitions(n-1,m)return [sum(L[max(0,s-m):min(s,(n-1)*m)+1]) for s in range(m*n+1)]Voici par exemple les nombres de {7}-uplets de somme {s} donnée, avec des composantes dans {[[ 0,5]]} (par exemple le nombre {7}-uplets de {[[ 0,6]]} dont la somme est {11} est {10906}) :
1234>>> print(partitions(7,5))[1, 7, 28, 84, 210, 462, 917, 1667, 2807, 4417, 6538, 9142, 12117, 15267, 18327,20993, 22967, 24017, 24017, 22967, 20993, 18327, 15267, 12117, 9142, 6538, 4417,2807, 1667, 917, 462, 210, 84, 28, 7, 1]Ici on trace le diagramme des effectifs précédents. À un coefficient multiplicatif près sur l’échelle en {y} on trouve la loi de la somme de sept dés. Il semble que cette loi « tende » vers une loi normale.
123>>> from pylab import *>>> P = partitions(7,5)>>> show(bar(range(len(P)),P,width=1,color='w'))
Attention, ceci est une page de démonstration de mathprepa.fr
- Vous pouvez dévoiler le corrigé (après avoir réfléchi à votre propre solution bien sûr 😉) ou le cacher à nouveau (pour chercher à partir des indications que vous venez de lire 👏)
- Les 2400 exercices du site sont présentés avec un énoncé visible de tous, mais un corrigé (masquable/affichable) réservé aux seuls souscripteurs de mathprepa.
- Cet exercice a été sélectionné dans la page Démo, pour illustrer le fonctionnement du site, et c’est pour cette raison que tout le monde peut « démasquer » son corrigé.