Python et probabilité
Python et probabilité
Bonjour,
J'ai un exercice de maths mais je ne comprends pas quoi faire. À fin de simplifier les choses, on considère qu'une année comporte 365 jours. Soit k un entier supérieur ou égal a 2. On note pk la probabilité que dans un groupe composé de k personnes, au moins 2 est la même date d'anniversaire.
1) Justifier que pk = 1- (A^{k}365)/365^{k}ou A^{k}365 = n!/(n-k)! 2) Compléter le script si contre afin qu'il retourne la probabilité pk pour une valeur de k donnée.
Programme :
Def pk(k):
N= .......
For i in range (.....,.....):
N= ......
Return(1-N/365**k)
Ce que j'ai fait : A la question 1, j'ai trouvé 1-[(365!)/[(365-k)!*365^{k}]] mais je ne sais pas quoi faire après. Et même je ne sais pas si c'est bien.
J'ai un exercice de maths mais je ne comprends pas quoi faire. À fin de simplifier les choses, on considère qu'une année comporte 365 jours. Soit k un entier supérieur ou égal a 2. On note pk la probabilité que dans un groupe composé de k personnes, au moins 2 est la même date d'anniversaire.
1) Justifier que pk = 1- (A^{k}365)/365^{k}ou A^{k}365 = n!/(n-k)! 2) Compléter le script si contre afin qu'il retourne la probabilité pk pour une valeur de k donnée.
Programme :
Def pk(k):
N= .......
For i in range (.....,.....):
N= ......
Return(1-N/365**k)
Ce que j'ai fait : A la question 1, j'ai trouvé 1-[(365!)/[(365-k)!*365^{k}]] mais je ne sais pas quoi faire après. Et même je ne sais pas si c'est bien.
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonjour,
pour ce type de raisonnement, il vaut mieux passer par l'événement contraire <<Les k personnes choisies ont des dates d'anniversaires toutes distinctes>>
Dans ce cas, si tu considère la première personne, il y a un choix de dates de 365/S65=1.
Pour la deuxième, il reste 364 dates possibles donc une probabilité de364365.
Pour la troisième, il reste 363 dates possibles donc une probabilité de363365.
...
Pour la kème personne, il reste 365-k+1 dates possibles donc une probabilité de363365.
Donc par principe multiplicatif (les événements s'enchaînent), la probabilité de l'événement de départ est égal au produit de ces probabilités donc
365×364×…×(365−k+1)365k, ce que l'on peut aussi écrire :
365×364×…×(365−k+1)365k=365×364×…×2×1((365−k)×(365−k−1)×…×2×1)365n=365!(365−k)!×365k donc en prenant l'événement contraire on obtient bien pk
Pour ton programme Python, il s'agit de calculer le produit 365×364×…×(365−k+1).
Donc on part de N=365 et on parcourt l'intervalle des entiers entre 1 et k−1 et à chaque tour de boucle i on remplace N par son produit avec (365−i)
Cette description devrait te permettre de compléter le programme Python.
Bonne continuation
pour ce type de raisonnement, il vaut mieux passer par l'événement contraire <<Les k personnes choisies ont des dates d'anniversaires toutes distinctes>>
Dans ce cas, si tu considère la première personne, il y a un choix de dates de 365/S65=1.
Pour la deuxième, il reste 364 dates possibles donc une probabilité de364365.
Pour la troisième, il reste 363 dates possibles donc une probabilité de363365.
...
Pour la kème personne, il reste 365-k+1 dates possibles donc une probabilité de363365.
Donc par principe multiplicatif (les événements s'enchaînent), la probabilité de l'événement de départ est égal au produit de ces probabilités donc
365×364×…×(365−k+1)365k, ce que l'on peut aussi écrire :
365×364×…×(365−k+1)365k=365×364×…×2×1((365−k)×(365−k−1)×…×2×1)365n=365!(365−k)!×365k donc en prenant l'événement contraire on obtient bien pk
Pour ton programme Python, il s'agit de calculer le produit 365×364×…×(365−k+1).
Donc on part de N=365 et on parcourt l'intervalle des entiers entre 1 et k−1 et à chaque tour de boucle i on remplace N par son produit avec (365−i)
Cette description devrait te permettre de compléter le programme Python.
Bonne continuation
Re: Python et probabilité
Bonjour,
Je ne comprends pas votre réponse de la question 1 pouvez vous m’expliquer ? Comment trouvez vous 365-k+1 ?
Merci
Je ne comprends pas votre réponse de la question 1 pouvez vous m’expliquer ? Comment trouvez vous 365-k+1 ?
Merci
Re: Python et probabilité
Bonjour,
Je ne comprends pas comment justifier même avec vos explications. Pouvez vous me reexpliquer ? Comment trouvez-vous 365-k+1 ?
Merci
Je ne comprends pas comment justifier même avec vos explications. Pouvez vous me reexpliquer ? Comment trouvez-vous 365-k+1 ?
Merci
-
- Messages : 6351
- Enregistré le : mer. 5 sept. 2007 12:10
Re: Python et probabilité
Bonjour Bastien,
Désolé pour le retard mais hier après-midi le forum était fermé et aujourd'hui on avait nos élèves.
Si on pose A l'événement "dans un groupe composé de k personnes, au moins 2 est la même date d'anniversaire."
Alors l'événement contraire ¯A est "dans un groupe composé de k personnes, aucune personne ont la même date d'anniversaire." et on aura P(A) = 1 - P(¯A) (c'est pour cela que tu as pk = 1 - (A^{k}365)/365^{k}).
Pourquoi 365 -k + 1 ? On t'a donné :
Pour la 1ère personne, il y a 365 dates possibles donc une probabilité de 365/365 .
Pour la 2ème, il reste 365 - 1 dates possibles donc une probabilité de364/365.
Pour la 3ème, il reste 365 - 2 dates possibles donc une probabilité de3633/65.
...
Pour la kème personne, il reste 365-(k-1) = 365 - k + 1 dates possibles donc une probabilité de (365-k+1)/365.
SoSMath.
Désolé pour le retard mais hier après-midi le forum était fermé et aujourd'hui on avait nos élèves.
Si on pose A l'événement "dans un groupe composé de k personnes, au moins 2 est la même date d'anniversaire."
Alors l'événement contraire ¯A est "dans un groupe composé de k personnes, aucune personne ont la même date d'anniversaire." et on aura P(A) = 1 - P(¯A) (c'est pour cela que tu as pk = 1 - (A^{k}365)/365^{k}).
Pourquoi 365 -k + 1 ? On t'a donné :
Pour la 1ère personne, il y a 365 dates possibles donc une probabilité de 365/365 .
Pour la 2ème, il reste 365 - 1 dates possibles donc une probabilité de364/365.
Pour la 3ème, il reste 365 - 2 dates possibles donc une probabilité de3633/65.
...
Pour la kème personne, il reste 365-(k-1) = 365 - k + 1 dates possibles donc une probabilité de (365-k+1)/365.
SoSMath.
Re: Python et probabilité
D’accord merci
La question 3 nous donne un autre programme qui fait appel à la fonction pk précédente.
Def anniversaire (p):
k=2
while pk(k)<p:
k=k+1
return(k)
La question c à laquelle je n’y arrive pas dit programmer les deux fonctions plus interpréter le résultat retourné par l’appel anniversaire (0.9).
La question 3 nous donne un autre programme qui fait appel à la fonction pk précédente.
Def anniversaire (p):
k=2
while pk(k)<p:
k=k+1
return(k)
La question c à laquelle je n’y arrive pas dit programmer les deux fonctions plus interpréter le résultat retourné par l’appel anniversaire (0.9).
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonjour,
ta fonction te donne le nombre minimal de personnes à avoir dans une assemblée pour que la probabilité qu'au moins deux personnes aient la même date d'anniversaire soit supérieure ou égale au nombre p (qui doit être compris entre 0 et 1)
Donc si tu appelles ta fonction anniversaire avec p=0,5, tu auras une valeur renvoyée de 23 :
il faut au moins 23 personnes pour que la probabilité qu'au moins deux personnes aient la même date d'anniversaire soit supérieure ou égale à 0,5.
Bonne continuation
ta fonction te donne le nombre minimal de personnes à avoir dans une assemblée pour que la probabilité qu'au moins deux personnes aient la même date d'anniversaire soit supérieure ou égale au nombre p (qui doit être compris entre 0 et 1)
Code : Tout sélectionner
def pk(k):
"""paradoxe des anniversaires"""
N = 365
for i in range (1,k):
N = N * (365-i)
return(1-N/365**k)
def anniversaire(p):
k=2
while pk(k)<p:
k=k+1
return(k)
Code : Tout sélectionner
>>> anniversaire(0.5)
23
Bonne continuation
Re: Python et probabilité
J’avais compris ça. C’est juste que ma calculatrice me met que la ligne est invalide. C’est pour cette raison que je n’arrive pas à trouver le résultat avec p = 0,9
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonjour,
ces programmes fonctionnent, tu peux les tester sur replit : https://repl.it/@rnivelle/anniversaires
Si tu as une erreur, c'est peut-être un problème de syntaxe (une indentation non respectée, par exemple).
Bonne continuation
ces programmes fonctionnent, tu peux les tester sur replit : https://repl.it/@rnivelle/anniversaires
Si tu as une erreur, c'est peut-être un problème de syntaxe (une indentation non respectée, par exemple).
Bonne continuation
Re: Python et probabilité
La page n’est plus disponible. Pouvez-vous la remettre en ligne ?
De plus je voulais savoir quel était le rôle de la fonction anniversaire ?
De plus je voulais savoir quel était le rôle de la fonction anniversaire ?
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonjour,
la page a toujours été disponible, je ne vois pas où est le problème https://repl.it/@rnivelle/anniversaires#main.py
Je t'ai déjà dit le rôle de la fonction anniversaire dans un de mes précédents messages.
Bonne continuation
la page a toujours été disponible, je ne vois pas où est le problème https://repl.it/@rnivelle/anniversaires#main.py
Je t'ai déjà dit le rôle de la fonction anniversaire dans un de mes précédents messages.
Bonne continuation
Re: Python et probabilité
De plus, je n’arrive pas à rentrer mon p. Ou dois-je le mettre ?
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonjour,
dans replit, tu appuies sur run, puis tu vas dans la console à droite et tu appelles la fonction en tapant anniversaire(0.9) par exemple : Bonne continuation
dans replit, tu appuies sur run, puis tu vas dans la console à droite et tu appelles la fonction en tapant anniversaire(0.9) par exemple : Bonne continuation
Re: Python et probabilité
Ah d’accord merci. Je ne vous embête pas plus longtemps.
Bonne soirée
Bonne soirée
-
- Messages : 10401
- Enregistré le : lun. 30 août 2010 11:15
Re: Python et probabilité
Bonne continuation et à bientôt sur sos-math