
ex : lancé d’1pièce de monnaie 😍
- on lance une pièce de monnaie équilibrée
- quelle est la probabilité que l’on fasse Pile (Head) ?
- ici la réponse est assez simple mais détaillons un peu pour faire le lien entre calcul mathématique et simulation informatique
math 😎
il est clair que :
- la pièce est équilibrée
- donc p = 0.5
simulation 😎
modélisation via VA de Bernouilli
- le résultat du lancé de la pièce peut être modélisée par une VA X suivant une loi de Bernoulli de paramètre p
- 0 pour Face (échec) et 1 pour Pile (succès)
- (X_n) la suite de VA associée
- la loi des grands nombres indique que la moyenne des résultats obtenus (l’estimateur) tend vers l’espérance de la variable, à savoir p (qui est inconnue pour l’instant)
- après simulation (grand nombre de lancés), par lecture graphique, on obtient une approximation de la probabilité p

ex 2 : lancé de 5 pièces de monnaie 😍
- on lance 5 pièces de monnaies équilibrées
- quelle est la probabilité que l’on fasse 3 Piles ?
- la réponse est aussi accessible rapidement par le calcul …
math 😎
ici le résultat se modélise grâce à une VA Binomiale X de paramètre 5 et p = 0.5 :
- P(X=k) = coef_bin(5,k)*(0.5)^k*(0.5)^(5-k)
- on a donc : P(X=3)+P(X=4)+P(X=5) = 5/16 + 5/32 +1/32 =16/32 = 0.5
- … le calcul commence à s’alourdir … bien qu’en rusant on doit pouvoir exploiter la symétrie du problème …
simulation 😎
X_n suit B(5,0.5)
- l’espérance E(X_n)=n*p=5p
- après simulation (100 000 essais par exemple), on obtient :
import random as rnd
n = 100000
ne = 0
for i in range(n):
heads = 0
for j in range(5): # Generate the next event ; 1 if head and 0 if tail
heads = heads + rnd.randint(0,1)
if heads >= 3: # Check if event has occurred
ne = ne + 1
prob = float(ne) / float(n)
print(prob)

ex 3 : les anniversaires 😍
- dans un groupe de 20 personnes, quelle est la probabilité que 2 personnes soient nées le même jour ? (rép = 0.41)
import random as rnd
n = 10000
ne = 0
for i in range(n):
echantillon = []
set_echantillon = {}
for j in range(20):
echantillon.append(rnd.randint(1,365))
#print(echantillon)
set_echantillon = set(echantillon)
#print(set_echantillon)
if len(set_echantillon)<len(echantillon):
ne = ne + 1
#print(ne)
prob = round(ne/n,4)
print(prob)

- si vous souhaitez faire le calcul, voici une explication détaillée assez claire … moi je vais boire un café … see u guys !
Poster un Commentaire