Simulations#

Une simulation produit des observations Ă  partir d’un modĂšle alĂ©atoire. Elle ne dĂ©montre pas une probabilitĂ©, mais elle permet de tester une conjecture, d’observer des fluctuations et de comparer le rĂ©sultat expĂ©rimental Ă  un calcul thĂ©orique.

DĂšs la premiĂšre

Une épreuve de Bernoulli#

Une épreuve de Bernoulli possÚde deux issues : succÚs ou échec. Si la probabilité du succÚs vaut p, le test random.random() < p est vrai avec cette probabilité.

Exemple
Un échantillon de Bernoulli
PrĂȘt
Sortie

  

Plusieurs exĂ©cutions donnent des frĂ©quences diffĂ©rentes : la valeur de p est fixe, mais l’échantillon est alĂ©atoire.

Observer les fluctuations#

⏞
⏞

Le programme suivant construit 200 frĂ©quences. Deux boucles sont nĂ©cessaires : la boucle intĂ©rieure fabrique un Ă©chantillon, la boucle extĂ©rieure recommence l’expĂ©rience.

Exemple
Une liste de fréquences
PrĂȘt
Sortie

  

Mise en pratique

Écrire une fonction frequences_bernoulli(p, n, N) qui renvoie la liste des frĂ©quences observĂ©es dans N Ă©chantillons de taille n. L’exemple prĂ©cĂ©dent fournit maintenant la structure complĂšte des deux boucles Ă  rĂ©organiser dans une fonction.

À toi
Plusieurs échantillons
À faire
Sortie

  

Un compteur mal placé#

Le programme suivant veut produire cinq frĂ©quences, mais le compteur n’est pas remis Ă  zĂ©ro au bon moment. ExĂ©cute-le et repĂšre pourquoi certaines frĂ©quences peuvent dĂ©passer 1.

À corriger
Replacer l’initialisation
Erreur attendue
Sortie

  
Comment chercher ?

Le compteur doit mesurer les succĂšs d’un seul Ă©chantillon. Cherche Ă  quel moment un nouvel Ă©chantillon commence, puis place l’initialisation Ă  l’intĂ©rieur de la boucle correspondante.

Exemple
Histogramme des fréquences
PrĂȘt
Sortie

  

Mise en pratique

Écrire une fonction dans_intervalle(valeurs, centre, rayon) qui compte les valeurs de la liste appartenant Ă  l’intervalle fermĂ© [centre-rayon ; centre+rayon]. L’utiliser sur les frĂ©quences simulĂ©es.

À toi
Compter dans un intervalle
À faire
Sortie

  

Moyenne d’un Ă©chantillon#

Une variable aléatoire peut prendre plus de deux valeurs. random.choice(valeurs) effectue un tirage avec remise dans une liste. On additionne n tirages avant de diviser par n.

Exemple
Une moyenne simulée
PrĂȘt
Sortie

  

Mise en pratique

Écrire une fonction moyenne_echantillon(valeurs, n) qui effectue n tirages avec remise et renvoie leur moyenne.

À toi
Moyenne simulée
À faire
Sortie

  

La planche de Galton#

Une bille traverse plusieurs rangĂ©es de clous. À chaque clou, elle part Ă  gauche ou Ă  droite avec la mĂȘme probabilitĂ©. En codant un dĂ©placement Ă  droite par 1, sa case d’arrivĂ©e est simplement le nombre total de dĂ©placements vers la droite.

Exemple
Simuler une bille
PrĂȘt
Sortie

  

Mise en pratique

Écrire une fonction galton(N, n) qui simule N billes traversant n rangĂ©es et renvoie leurs positions finales. ReprĂ©senter ensuite la liste par un histogramme.

À toi
Planche de Galton
À faire
Sortie

  

Prolongements en terminale#

DĂšs la terminale

Les trois activitĂ©s suivantes sont indĂ©pendantes. Elles reprennent les simulations prĂ©cĂ©dentes, mais demandent davantage de recul mathĂ©matique : il n’est pas nĂ©cessaire de les traiter dans l’ordre. Chacune commence par une question prĂ©cise et mobilise les outils de terminale.

Surréservation#

Une compagnie dispose de 100 places. Chaque passager se prĂ©sente avec une probabilitĂ© 0,95, indĂ©pendamment des autres. Écrire une fonction probabilite_depassement(reservations) qui calcule exactement la probabilitĂ© que plus de 100 passagers se prĂ©sentent, puis chercher le plus grand nombre de rĂ©servations conservant une probabilitĂ© infĂ©rieure ou Ă©gale Ă  0,05. On pourra utiliser math.comb.

RepĂšres pour construire le programme

Si \(X\) désigne le nombre de passagers présents parmi \(r\) réservations, alors \(X\) suit une loi binomiale de paramÚtres \(r\) et \(0{,}95\). Pour \(r\leqslant100\), le dépassement est impossible. Sinon,

\[P(X>100)=\sum_{k=101}^{r}\binom{r}{k}0{,}95^k\,0{,}05^{r-k}.\]

Le travail se sépare donc en deux étapes : calculer cette somme pour une valeur de \(r\), puis augmenter progressivement \(r\) à partir de 100. DÚs que la probabilité dépasse 0,05, le nombre précédent est le dernier acceptable.

À toi
Surréservation
À faire
Sortie

  

Dispersion des moyennes#

Pour une loi de Bernoulli de paramĂštre p, Ă©crire une fonction dispersion_moyennes(p, n, N) qui simule N Ă©chantillons de taille n et renvoie la liste des moyennes, leur Ă©cart type observĂ© et la proportion situĂ©e Ă  moins de deux Ă©carts types thĂ©oriques de p. Comparer l’écart type observĂ© Ă  \(\sqrt{p(1-p)/n}\).

RepĂšres pour construire le programme

Une moyenne d’échantillon s’obtient en additionnant n tirages de Bernoulli, puis en divisant par n. RĂ©pĂ©ter cette expĂ©rience N fois permet de former une liste de N moyennes. À partir de cette seule liste, il reste Ă  :

  1. calculer la moyenne et l’écart type observĂ©s ;

  2. calculer l’écart type thĂ©orique \(\sigma=\sqrt{p(1-p)/n}\) ;

  3. compter les valeurs m qui vérifient \(|m-p|\leqslant2\sigma\), puis diviser ce nombre par N.

À toi
Dispersion des moyennes
À faire
Sortie

  

Comparer à une inégalité#

Si \(S_n\) suit une loi binomiale de paramÚtres n et p, écrire une fonction probabilite_ecart(n, p) calculant exactement \(P(|S_n-np|>\sqrt n)\), puis comparer à la majoration de Bienaymé-Tchebychev.

RepĂšres pour construire le programme

Ici, \(E(S_n)=np\) et \(V(S_n)=np(1-p)\). L’inĂ©galitĂ© de BienaymĂ©-Tchebychev donne donc

\[P\left(|S_n-np|>\sqrt n\right) \leqslant \frac{np(1-p)}{n}=p(1-p).\]

La probabilité exacte se calcule en additionnant les probabilités binomiales seulement pour les entiers k tels que \(|k-np|>\sqrt n\). La fonction peut renvoyer la probabilité exacte et la majoration afin de rendre leur comparaison immédiate.

À toi
ProbabilitĂ© d’un Ă©cart
À faire
Sortie

  

Dans le parcours