ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

 Trisection aléatoire d'un bâton          niveau Sup

Une petite colle concernant les petits problèmes de probabilités qui, l'air de rien, amène à réfléchir à l'instar du paradoxe de Bertrand.

Vous avez un bâton. Vous le coupez au hasard en trois morceaux.
Quelle est la probabilité de pouvoir construire un triangle avec ces morceaux ?

 Un aspect du problème sera de préciser ce que l'on entend par au hasard...

Bonus : on simule ensuite cette trisection au moyen d'un petit programme JavaScript.

    Vous avez trouvé 1/4 ? pas mal... et pourquoi pas ln 2 - 1/2...

Si vous séchez après avoir bien cherché :
 


© Serge Mehl - www.chronomath.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Réponse & discussion :

Voici un bâton :

Le voilà coupé en 3 :

Mais, au fait, comment avez-vous fait ?...

Une première méthode :           

Afin d'obtenir un triangle (non plat), les inégalités suivantes, dites triangulaires, doivent être vérifiées simultanément : 

x < y + z , y < x + z , z < x + y

Afin de simplifier, prenons la longueur du bâton comme unité de mesure. On a z = 1 - x - y et les inégalités ci-dessus conduisent  à :

Les trois premières inégalités régissent l'univers des possibilités; les trois dernières régissent les cas favorables.

C'est un problème de régionnement du plan :  dans un repère orthonormé, x joue le rôle des abscisses et y celui des ordonnées; on a tracé les droites d1 : x + y = 1, d2 : x + y = 1/2. La probabilité se calcule aisément en termes d'aires : p = 1/4, l'aire jaune correspondant aux cas favorables, l'aire totale (cas possibles) correspondant au demi-carré de côté 1.

Simulation JavaScript de la méthode 1 :


<SCRIPT LANGUAGE=JavaScript>

function go()
{
n = prompt("Nombre d'essais : ",100000);
if (n == null) {return} else {n = eval(n)}
s=0;
for (i = 1;i <= n;i++)
{
x=Math.random();
y=Math.random();
if (y < x) {aux = y;y = x;x = aux}
y=y - x;
if (x < .5 && y < .5 && x + y > .5){s++};
}
alert("p = "+s/n+"\n"+"pour "+n+" essais")
}

</SCRIPT>

 Afin de tester ce programme, vous devrez simplement entrer le nombre de simulations.
       Pour 1 million d'essais,
le programme répond

p 0,250

 fonctions mathématiques usuelles



Une seconde méthode :        

Noter que la probabilité de couper le bâton exactement en son milieu à la première coupe doit être considérée comme nulle dans ce problème concret. Mais on peut insérer ce cas dans la méthode ci-dessus en parlant de plus long au sens large et conduisant à un triangle dit plat. 

Si, à l'étape 2, on a choisi de conserver le plus grand morceau de longueur x, en recoupant le plus petit au hasard, on obtient deux morceaux de longueur y et z et dans un tel cas la probabilité cherchée est nulle car une des trois inégalités triangulaires n'est pas vérifiée puisque l'on a : x > y + z. Il nous faut donc couper le plus grand et, pour cela, nous avons une chance sur 2.

La solution est plus subtile et le résultat inattendu : apparition des logarithmes...
Étudions-la :

Soit a un nombre compris entre 0 et 1/2; calculons la probabilité de pouvoir construire un triangle sachant que x = a < 1/2.

L'univers des cas possibles est régi par :

Nos chances de construction ne dépendant donc que de y; la plage de variation de y étant d'étendue 1 - a. Qu'en est-il alors de nos inégalités triangulaires ? :

Ainsi, la plage de variation pour y (cas favorables) est donc d'étendue a et la probabilité d'obtenir un triangle est  alors :

Lorsque a varie dans l'intervalle [0;1/2], on obtient toutes les valeurs possibles de x, également réparties sur cet intervalle, et la probabilité cherchée est alors la valeur moyenne des pa : discrétisons les valeurs de x et passons à la limite :

 

car on a reconnu ici la somme de Riemann attachée à la fonction :

sur l'intervalle [0;1/2]. En remarquant que :

,

on obtient facilement :

où ln désigne la fonction logarithme népérien. Sans oublier maintenant de multiplier par 1/2 car nous n'avons qu'une chance sur 2, comme dit plus haut, de couper le "bon" morceau :

p = ln2 - 0,5 0,193

Simulation JavaScript de la méthode 2:         

<SCRIPT LANGUAGE=JavaScript>

function go2()
{
n=prompt("Nombre d'essais : ",100000);
if (n==null) {return} else {n=eval(n)}
s=0
for (i=1;i<=n;i++)
{
x=Math.random();
if (x<.5)
{
y=Math.random()*(1-x);
if (y<.5 && x+y>.5){s++};
}
}
alert("p = "+s/n+"\n"+"pour "+n+" essais")
}
}

</SCRIPT>

 Pour tester ce programme vous devrez simplement entrer le nombre de simulations. Pour 100 000 essais, le programme répond  0,19159. Et pour 1 000 000 , un très beau 0,192904 ln2 - 0,5.

  fonctions mathématiques usuelles dans JavaScript



La plage de variation de y étant entre 0 et 1 - a = 1 - x, il s'agit d'obtenir y < 1/2 dans le champ de valeurs Math.random()*(1-x). La programmation de la méthode nous conduit alors à une solution en termes d'aires à l'instar de la première méthode, en écrivant :

  • 0 < x < 1/2;

  • y(1 - x) < 1/2, y variant de 0 à 1;

  • x + y > 1/2 devient alors x + y(1 - x) >1/2.

Les cas possibles correspondent au carré de côté 1, les cas favorables correspondent à l'aire comprise entre les deux hyperboles d'équation :

sur l'intervalle [0;1/2], c'est à dire l'aire sous la courbe de la fonction :

On retrouve bien l'intégrale précédente.

On trouvera dans la revue Repères des IREM, une étude de ce problème à la fois théorique et pratique (sur tableur) : n° 46 - janvier 2002,  Simulation et modélisation par Joëlle Fontana et Maryse Nogues (Irem de Montpellier).


© Serge Mehl - www.chronomath.com