Médaille
N°1 pour apprendre & réviser du collège au lycée.
Algorithme des urnes d’Ehrenfest - TI
Algorithme

Type de calculatrice

TI

Prérequis

Théorie :

Considérons deux urnes :

  • l’une contient NN boules numérotées de 11 à NN ;
  • l’autre, aucune.

À chaque étape, on tire au hasard un nombre entier entre 11 et NN, et on change d’urne la boule portant le numéro correspondant. XX désigne le nombre de boules dans la première urne.

Description

Programme

  • Le programme, à partir d’un nombre NN de boules présentes dans la première urne, demandé à l’utilisateur, va donner au final le nombre de boules présentes dans cette même urne après 200200 tirages, selon le mode opératoire décrit en prérequis.
  • Le programme considère une variable XX qui vaut NN au départ.
  • À chacune des 200200 étapes, le programme va prendre aléatoirement un nombre KK compris entre 00 et 11.
  • Il va comparer KK au rapport XN\frac{X}{N}.
  • Si KK est inférieur à XN\frac{X}{N}, il soustraira 11 à XX (XX chances sur NN).
  • Si KK est supérieur à XN\frac{X}{N}, il ajoutera 11 à XX (NXN-X chances sur NN).
  • Ceci pour simuler le tirage au hasard d’un numéro.
  • Le programme donnera donc, à la fin de sa simulation, le nombre de boules présentes dans la première urne.

Variables

  • NN, le nombre de boules au total.
  • XX, le nombre de boules dans la première urne ; au début, X=NX=N.
  • KK, un flottant (réel) tiré au hasard dans [0,1][0,1].

Algorithme

|demander NN
|X=NX=N
|pour II allant de 11 à 200200

|KK aléatoire dans [0,1][0,1]</span

>

|si K<XNK<\dfrac{X}{N} alors

|XX devient X1X-1</span

>

|sinon

|XX devient X+1X+1</span

> |afficher XX>>

Programme TI

Alt texte Algorithme des urnes d’Ehrenfest - TI

Pour créer un nouveau programme, appuyer sur prgm puis NOUV\mathsf{NOUV}.

  • prgm\mathsf{prgm} E/S\mathsf{E/S} 2\mathsf{2} : Prompt N\mathsf{Prompt\ N}
  • N\mathsf{N} sto\mathsf{sto} X\mathsf{X}
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 4\mathsf{4} : For(\mathsf{For(} I\mathsf{I} ,\mathsf{,} 1\mathsf{1} ,\mathsf{,} 2\mathsf{2} 0\mathsf{0} 0\mathsf{0}
  • math\mathsf{math} PRB\mathsf{PRB} 1\mathsf{1} : NbrAleat\mathsf{NbrAleat} sto\mathsf{sto} K\mathsf{K}
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 1\mathsf{1} : If K\mathsf{If\ K} 2nde\mathsf{2nde} math\mathsf{math} TEST\mathsf{TEST} 5\mathsf{5} : <X\mathsf{\ < X} ÷\div N\mathsf{N}
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 2\mathsf{2} : Then\mathsf{Then}
  • X \mathsf{-} 1\mathsf{1} sto\mathsf{sto} X
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 3\mathsf{3} : Else\mathsf{Else}
  • X +\mathsf{+} 1\mathsf{1} sto\mathsf{sto} X
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 7\mathsf{7} : End\mathsf{End}
  • prgm\mathsf{prgm} CTL\mathsf{CTL} 7\mathsf{7} : End\mathsf{End}
  • prgm\mathsf{prgm} E/S\mathsf{E/S} 3\mathsf{3} : Disp N\mathsf{Disp\ N}

Remarques

Pour faire un retour de ligne, appuyer sur entrer\mathsf{entrer} .
Pour changer de ligne, appuyer sur \blacktriangledown ou \blacktriangle .
Pour obtenir une lettre, appuyer d’abord sur alpha\mathsf{alpha} .

Lorsque l’instruction XX devient X1X-1 s’applique, on pourrait se demander s’il existe un risque que XX devienne négatif, ce qui n’aurait plus de sens dans le contexte. Mais elle ne s’applique que si K<XNK<\frac{X}{N}, or, lorsque X=0X=0, alors XN=0\frac{X}{N}=0 et KK ne peut être strictement inférieur à 00 (un réel tiré au sort dans [0,1] a une probabilité nulle d’être strictement inférieure à 00).

Cours associés

Calcul matriciel