simuler pour calculer


node-RED 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

le programme python est ici


node-RED 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)

node-RED 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 !
A propos de math13net 10 Articles
math13net

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*