IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Paradoxe des trois anniversaires


Sujet :

Mathématiques

  1. #1
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut Paradoxe des trois anniversaires
    Bonjour,

    Toujours à cause d'un exo , je dois déterminer le nombre de personnes qu'il faut dans une pièce pour avoir 50% de chances d'en avoir 3 qui aient le même anniversaire!

    Pour deux anniversaires, ça va, j'arrive au résultat que si il y a k personnes dans la pièce, alors la probabilité que deux personnes aient le même anniversaire est de 1 - 365!/[(365-k)!*365^k]. Ainsi l'on obtient P(23) = 0.51 ...
    ________
    Par contre c'est plus dur avec trois anniversaires. Il faut considérer le cas où il y a des doublons...
    En gros il me faudrait à peu près 23 doublons avant de tomber sur un troisième anniversaire!

    @_@

    En bidouillant énormément, je trouve qu'il faut 108 personnes, mais ce résultat peut être totalement faux...

    En fait j'aurais besoin qu'on éclaire ma lanterne ,
    je crois que mon niveau de maths n'est pas suffisant.

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Simplifions et considérons un anniversaire comme un nombre entre 1 et 365.
    Soit n le nombre de personnes:
    Tu connais déjà le nombres de cas K(1,n) où tous les anniversaires sont distincts (tu as écris la formule correcte).
    Il te suffit donc de trouver maintenant le nombre de cas K(2,n), où il y a deux et exactement deux anniversaires identiques.
    Le nombres de paires possibles parmi les n personnes est:
    n(n-1)/2
    leur anniversaire commun peut prendre 365 valeurs distinctes, les n-2 autres doivent avoir des anniversaires distincts du leur.
    Je propose donc pour ce cas la formule:

    n(n-1)/2 * 365 *(364 ^(n-2)).

    La probabilité pour qu'on ait au moins 3 anniversaires communs est donc

    1 - (K(1,n)+K(2,n))/365^n
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    Il te suffit donc de trouver maintenant le nombre de cas K(2,n), où il y a deux et exactement deux anniversaires identiques.
    Pourquoi "deux et exactement deux" ? Il faudrait aussi comptabiliser les groupes de "2" qui sont distincts entre eux.

    L=[ 01-jan, 01-jan, 02-fev, 02-fev, 03-mar, 04-avr, 05-mai, ...]

    leur anniversaire commun peut prendre 365 valeurs distinctes, les n-2 autres doivent avoir des anniversaires distincts du leur.
    ... et egalement ne pas avoir plus de 2 fois la meme valeur.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Exact! J'y retourne
    Alors dans ce cas cela sent fortement la récurrence:
    K(q,p,n) = Nombre de suites de n éléments pris dans p telles que chaque élément n'apparait pas plus de q fois

    Alors K(2,p,n)=n(n-1)/2*p*K(2,p-1,n-2)

    D'accord ?
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    Alors K(2,p,n)=n(n-1)/2*p*K(2,p-1,n-2)

    D'accord ?
    je ne sais pas, j'ai la flemme de calculer les formulations récursives.

    L'experimentation "java" donne "88" comme solution au probleme du PO.

    (Mon propre calcul m'a donné 83, j'ai du me planter quelquepart )
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Le programme suivant donne 23.
    Il y a peut être une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    # nombre de suites de n éléments pris dans {1;2;...;p} tous distincts
    def K1(p,n):
        r=1
        for i in range(0,n):
            r*=(p-i)
        return r
     
    # nombre de suites de n éléments pris dans {1;2;...;p} ayant au moins deux éléments égaux mais pas trois
    def K2(p,n):
        if n==2:
            return p # p valeurs possibles
        if n==3:
            return 3*p*(p-1) # 1 couple de 2 éléments égaux et une valeur distinctes
        return K2(p-1,n-2)*p*n*(n-1)/2 # récurrence
     
    # nombre de suites n'ayant pas 3 éléments égaux
    def K(p,n):
        return K1(p,n)+K2(p,n)
     
    # probabilité d'avoir au moins 3 éléments égaux
    def P(p,n):
        return 1 - float(K(p,n))/p**n
     
    def main():
        n=23
        print P(365,n) # le résultat dépasse 0.5
     
    if __name__ == '__main__':
        main()
    Oui, il y des erreurs, la récurrence n'est pas bonne.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Bon, la réponse est vraiment 88

    La formule exacte de calcul est un brin complexe:

    http://mathworld.wolfram.com/BirthdayProblem.html

    NB: Je sais d'ou vient mon erreur perso, mais je ne corrigerai pas. J'utilise une approximation pour le calcul de Q2(n,p) qui est "un peu" fausse.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    D'accord, merci beaucoup, je sens que ça va me faire beaucoup progresser.
    je regarde les liens!

    Edit:
    En fait, j'ai pas compris d'où ils sortent la relation avec toutes les sommes... Si quelqu'un a un lien vers une page où c'est expliqué, je suis toujours preneur.

    Enfin merci quand même!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Paradoxe des anniversaires] Plantage du programme
    Par fizzpass dans le forum Débuter
    Réponses: 4
    Dernier message: 24/10/2013, 18h16
  2. l'incrementation auto des trois champs
    Par mystro7200 dans le forum Débuter
    Réponses: 9
    Dernier message: 21/11/2008, 15h44
  3. au moins un des trois numero de tel à saisir
    Par harlock59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2006, 10h47
  4. Problème des trois maris jaloux
    Par pelo68 dans le forum Prolog
    Réponses: 2
    Dernier message: 29/05/2005, 01h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo