Attention, moi et les math, ça peut vraiment être mauvais certains jours, donc corrigez si c'est faut.
Je ne suis surement pas bien attentif, mais j'ai pas bien compris ton algo. Personnellement, je vois une adaptation simple de l'algo dont tu te souviens. (1/N, 2/N, ...) J'espère que mon raisonement ne tombe pas sur ton algo.
Il suffit de considérer que tu as un tableau de longueur (somme des tes proportionalités)
Tu le remplit comme ceci :
a, b, c, c, d, d, d, d, d, e
Ensuite tu applique cet algo dessus.
Donc dans la case 1, 1/10, dans la case 2, 2/10, ...
Maintenant, si on formalise ceci, on passe de ton tableau original :
{a : 1, b : 1, c : 2, d : 5, e :1}
en un tableau de la forme (c'est du pseudo-LaTeX)
{v_1 : p_1, v_2 : p_2, ... v_n : p_n }
ce tableau se transforme en un autre tableau de taille S = \sum_i p_i :
{v_1, v_1, ... v_2, v_2, ... v_n, v_n }
avec comme probabilité de tirage de chaque élément seul pos_i / S (avec pos_i la position dans le tableau)
Maintenant, arrangeons la formule.
Pour le premier élément, la probabilité de le tirer est :
P = sum_{i=1}^{p_1} i/S
Pour l'élément n : (valable pour n = 1)
P = sum_{i=1}^{p_n} (X+i)/S avec X=sum_{j=1}^(n-1) p_j (si n=1, X = 0)
Ensuite, on applique les propriétés des séries "je ne sais plus le nom", on on obtient :
P = (2X + p_n + 1) / 2S
Mmmm je ne suis évidement pas sur, mais avec p_i = 1 pour tout i, on retombe sur ta formule dans le cas de probabilités égales (ouf). Je ne suis même pas sur que c'est cela que tu veux.
# Pas compris ton algo
Posté par Nicolas Schoonbroodt . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 0.
Je ne suis surement pas bien attentif, mais j'ai pas bien compris ton algo. Personnellement, je vois une adaptation simple de l'algo dont tu te souviens. (1/N, 2/N, ...) J'espère que mon raisonement ne tombe pas sur ton algo.
Il suffit de considérer que tu as un tableau de longueur (somme des tes proportionalités)
Tu le remplit comme ceci :
a, b, c, c, d, d, d, d, d, e
Ensuite tu applique cet algo dessus.
Donc dans la case 1, 1/10, dans la case 2, 2/10, ...
Maintenant, si on formalise ceci, on passe de ton tableau original :
{a : 1, b : 1, c : 2, d : 5, e :1}
en un tableau de la forme (c'est du pseudo-LaTeX)
{v_1 : p_1, v_2 : p_2, ... v_n : p_n }
ce tableau se transforme en un autre tableau de taille S = \sum_i p_i :
{v_1, v_1, ... v_2, v_2, ... v_n, v_n }
avec comme probabilité de tirage de chaque élément seul pos_i / S (avec pos_i la position dans le tableau)
Maintenant, arrangeons la formule.
Pour le premier élément, la probabilité de le tirer est :
P = sum_{i=1}^{p_1} i/S
Pour l'élément n : (valable pour n = 1)
P = sum_{i=1}^{p_n} (X+i)/S avec X=sum_{j=1}^(n-1) p_j (si n=1, X = 0)
Ensuite, on applique les propriétés des séries "je ne sais plus le nom", on on obtient :
P = (2X + p_n + 1) / 2S
Mmmm je ne suis évidement pas sur, mais avec p_i = 1 pour tout i, on retombe sur ta formule dans le cas de probabilités égales (ouf). Je ne suis même pas sur que c'est cela que tu veux.