algorithme anniversaires
Publié : mar. févr. 17, 2015 10:39 am
Bonjour,
je souhaite simuler n fois des assemblées de 2 à 30 personnes et calculer la fréquence de personnes nées le même jour et déterminer combien il faut de personnes pour que la probabilité qu'au moins deux personnes soient nées le même jour dépasse 50% (classique !).
Mon idée était la suivante :
1) écrire une procédure f1(k) créant une liste de k nombres aléatoires entiers entre 1 et 365 et renvoyant 1 dès que deux nombres sont identiques, 0 sinon.
2) écrire une procédure f2(n) qui répète n fois la procédure f1(k) pour k allant de 2 à 30 et renvoie une liste de 29 valeurs avec la fréquence des 1 observées sur les n tirages.
Ces deux procédures fonctionnent mais je trouve des fréquences beaucoup plus élevées que la théorie. Ainsi, selon les résultats de f2, il faudrait 13/14 personnes minimum pour que la probabilité recherchée dépasse 50% alors que l'on doit trouver 23 personnes (et d'ailleurs le graphe simulé ne correspond pas du tout au graphe théorique non plus).
En bidouillant, j'arrive à obtenir les valeurs correctes mais je ne comprends pas ce qui ne va pas dans mon raisonnement et pourquoi j'obtiens des valeurs trop fortes. Soit dit en passant, je ne comprends pas non plus pourquoi les algorithmes modifiés donnent les bonnes réponses !
Merci de votre aide
FD
je souhaite simuler n fois des assemblées de 2 à 30 personnes et calculer la fréquence de personnes nées le même jour et déterminer combien il faut de personnes pour que la probabilité qu'au moins deux personnes soient nées le même jour dépasse 50% (classique !).
Mon idée était la suivante :
1) écrire une procédure f1(k) créant une liste de k nombres aléatoires entiers entre 1 et 365 et renvoyant 1 dès que deux nombres sont identiques, 0 sinon.
2) écrire une procédure f2(n) qui répète n fois la procédure f1(k) pour k allant de 2 à 30 et renvoie une liste de 29 valeurs avec la fréquence des 1 observées sur les n tirages.
Ces deux procédures fonctionnent mais je trouve des fréquences beaucoup plus élevées que la théorie. Ainsi, selon les résultats de f2, il faudrait 13/14 personnes minimum pour que la probabilité recherchée dépasse 50% alors que l'on doit trouver 23 personnes (et d'ailleurs le graphe simulé ne correspond pas du tout au graphe théorique non plus).
En bidouillant, j'arrive à obtenir les valeurs correctes mais je ne comprends pas ce qui ne va pas dans mon raisonnement et pourquoi j'obtiens des valeurs trop fortes. Soit dit en passant, je ne comprends pas non plus pourquoi les algorithmes modifiés donnent les bonnes réponses !
Merci de votre aide
FD