Un petit calcul de probabilité
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Un petit calcul de probabilité



  1. #1
    hlbnet

    Post Un petit calcul de probabilité


    ------

    Bon, je ne suis pas mathématicien, ni élève, juste informaticien.
    Je viens de voir la fonction suivante (en Java) dans le code d'un collègue.

    public int randomLength( int max )
    {
    int i = nextInt( max );
    if ( i == 0 ) return i;
    int j = nextInt( max );
    return i >= j ? i-j : j-i;
    }

    Sachant que nextInt( max ) rend un entier dans l'intervalle [0, max[ avec une distribution qui est censée être uniforme.

    Autrement dit, on lance un dé à "max" faces, numérotées [0, max-1]. Si la valeur obtenue est 0, l'expérience rend 0. Si la valeur n'est pas 0, on relance le dé une seconde fois et l'expérience rend la valeur absolue de la différence entre les deux valeurs, qui est un entier dans [0, max-1[.

    Personnellement, je préfère la formulation Java ... mais ce n'est pas la question.

    Je cherche à déterminer la loi de probabilité. Autrement dit, calculer pour chaque x dans [0, max[ sa probabilité d'être rendu par la l'expérience ?

    Je sèche même si, ayant fait quelques tests pour diverses valeurs de max, j'ai l'impression que la loi doit pouvoir s'exprimer assez simplement.
    Visiblement :
    - p(0) s'approche de 2/max quand max devient grand.
    - p(max/2) semble être proche de 1/max.
    - P(max-1) semble être proche de 1/(max*max).
    Merci pour votre aide.

    -----

  2. #2
    invitebafd36bc

    Re : Un petit calcul de probabilité

    Comme on travail sur un espace discret rien de tel qu'un petit arbre de dénombrement,

    Pour P(0)
    1/n chance d'avoir 0 au premier lancer
    connaissant le premier lancer 1/n chance d'avoir le même résultat au deuxième lancer

    P(0) = 1/n + (n-1)*(1/n)*(1/n)= (2n-1)/n²

    Pour P(n) une seul possibilité n au premier lancer et 0 au deuxième
    P(n-1) = 1/n²

    On retrouve tes résultats.

    Pour la suite ca se complique et je n'ai pas la solution complète mais on peut remarquer quand même: on note l le résultat du premier lancer et K la VA du résultat final

    On a P(k | l) =
    si l<=n-1-l :
    --2/n si k<=l
    --1/n si k>l et k<=n-1-l
    --0 sinon
    si l>n-1-l
    --2/n si k<=n-1-l
    --1/n si k>n-1-l et k<=l
    --0 sinon

    Et là y'a plus qu'à dénombrer les différents cas
    J'espère que ça t'aura avancé

  3. #3
    hlbnet

    Re : Un petit calcul de probabilité

    Effectivement, P(0)=(2n-1)/n2 et P(n-1)=1/n2 ça me semble correct. Je dirais même qu'une fois ces résultats connus, j'ai l'impression que j'aurais du trouver moi-même (c'est toujours comme ça, j'ai toujours l'impression après coup que c'était facile, mais avant, je sèche ... grr, foutu maths).

    En fait, je cherche à documenter cette fonction Java de manière à la rendre utilisable en dehors de mon petit module de code Java.

    Pour le moment, j'ai juste dis que ça rend un nombre choisi aléatoirement dans l'intervalle [0,n[, avec "une préférence pour les petites valeurs".
    Je vais ajouter ce que je sais désormais de P(0) et P(n-1).

    Mais, je cherche encore la loi générale, P(k) pour tout k dans [0,n[.

  4. #4
    hlbnet

    Re : Un petit calcul de probabilité

    Je réveille ce thread.
    Visiblement, aucun matheux n'est capable de trouver la loi de probabilité pour tout k.
    Décevant ...

  5. A voir en vidéo sur Futura
  6. #5
    invite986312212
    Invité

    Re : Un petit calcul de probabilité

    bonsoir,

    la loi de la différence de deux uniformes, c'est ce qu'on appelle "loi triangulaire" parce que sa densité a une forme triangulaire (un chapeau chinois, par opposition à la loi normale qui évoque plutôt un bicorne). Ici tu as discrétisé mais c'est au fond la même chose. Quand tu prends la valeur absolue de la différence, tu obtiens un "demi-triangle" (qui est encore un triangle mais plus un chapeau). La classe de 0 va être un peu au-dessus ou un peu au-dessous selon la parité du nombre de classes.

  7. #6
    invite986312212
    Invité

    Re : Un petit calcul de probabilité

    une simulation de 100000 valeurs, v.a. uniformes entre 0 et 99
    Images attachées Images attachées

  8. #7
    hlbnet

    Re : Un petit calcul de probabilité

    Ah ok, merci.

    Je vois donc que la courbe représentant P(k) sur l'intervalle [0, n [ est une droite décroissante passant par P(0)=(2n-1)/n2 et P(n-1)=1/n2.

    A partir de là, je calcule que, pour tout x dans [0, n[ :
    P(x) = (-2x+2n-1)/n2

    Super, merci !

Discussions similaires

  1. Petit calcul de probabilité
    Par jecario dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 26/12/2007, 13h28
  2. petit calcul de probabilité avec des dés
    Par invite1995d9dd dans le forum Science ludique : la science en s'amusant
    Réponses: 5
    Dernier message: 06/07/2007, 15h34
  3. Calcul de probabilité
    Par invitedcd45209 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 18/03/2006, 10h10
  4. Petit problème de logique/probabilité.
    Par Bleyblue dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 24/02/2005, 10h41
  5. (Petit) problème de Probabilité.
    Par invitef3bd5ad5 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 08/02/2005, 19h05