%===================================================== % % MOS21 - 2012/2013 % % Methode de Monte-Carlo % "Paradoxe" de l'anniversaire : % Probabilite de trouver au moins 2 personnes dans un % groupe de n ayant la meme date d'anniversaire %===================================================== %=== Nettoyage de Matlab close all; %fermeture des graphiques existants clear all; %suppression des variables existantes clc; %nettoyage de la fenêtre de commande %=== Proba exacte nPersonnes=15;%nombre de personnes dans le groupe pBarre=1; for i=1:nPersonnes pBarre=pBarre*( (365-(i-1))/365 ); end probaExacte=1-pBarre; %=== Proba approchée par Monte-Carlo nTirages=1000;%nombre de tirages aléatoires reussite=zeros(nTirages,1); for i=1:nTirages joursNaissance=zeros(nPersonnes,1);%tableau des jours for j=1:nPersonnes joursNaissance(j,1)=ceil(365*rand()); end for j=1:nPersonnes-1 for k=j+1:nPersonnes if(joursNaissance(j,1)==joursNaissance(k,1)) reussite(i,1)=1; end end end end %=== Probabilite d'avoir au moins 2 personnes ayant la meme date d'anniversaire nReussite=sum(reussite); probaMC=nReussite/nTirages; fprintf('* pour un groupe de %d personnes\n',nPersonnes); fprintf('- probabilite exacte :\t\t%f\n',probaExacte); fprintf('- probabilite Monte Carlo : %f\n',probaMC); fprintf(' (avec %d tirages)\n',nTirages);