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é.
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.
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.
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.
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.
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.
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.
Mise en pratique
Ăcrire une fonction moyenne_echantillon(valeurs, n) qui effectue n tirages avec remise
et renvoie leur moyenne.
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.
Le premier panneau suit une bille ; le second regroupe les arrivĂ©es dâun grand nombre de billes.
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.
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,
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.
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 Ă :
calculer la moyenne et lâĂ©cart type observĂ©s ;
calculer lâĂ©cart type thĂ©orique \(\sigma=\sqrt{p(1-p)/n}\) ;
compter les valeurs
mqui vérifient \(|m-p|\leqslant2\sigma\), puis diviser ce nombre parN.
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
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.
Dans le parcours