Algorithme
Algorithme des urnes d'Ehrenfest - TI
Type de calculatrice

TI

Prérequis

Théorie :

Considérons deux urnes :

  • l’une contient $N$ boules numérotées de $1$ à $N$ ;
  • l’autre, aucune.

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

Description

Programme

  • Le programme, à partir d’un nombre $N$ 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 $200$ tirages, selon le mode opératoire décrit en prérequis.
  • Le programme considère une variable $X$ qui vaut $N$ au départ.
  • À chacune des $200$ étapes, le programme va prendre aléatoirement un nombre $K$ compris entre $0$ et $1$.
  • Il va comparer $K$ au rapport $\frac{X}{N}$.
  • Si $K$ est inférieur à $\frac{X}{N}$, il soustraira $1$ à $X$ ($X$ chances sur $N$).
  • Si $K$ est supérieur à $\frac{X}{N}$, il ajoutera $1$ à $X$ ($N-X$ chances sur $N$).
  • 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

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

Algorithme

|demander $N$
|$X=N$
|pour $I$ allant de $1$ à $200$

|$K$ aléatoire dans $[0,1]$

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

|$X$ devient $X-1$

|sinon

|$X$ devient $X+1$

|afficher $X$>>

Programme TI

Alt texte Algorithme des urnes d’Ehrenfest - TI

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

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

Remarques

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

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

Cours associés

Calcul matriciel