Pondérée sélection aléatoire à partir de la matrice de

Je voudrais choisir au hasard un élément d'un tableau, mais chaque élément a une probabilité connue de sélection.

Toutes les chances de concert (dans la matrice) des sommes à 1.

Quel algorithme de proposeriez-vous comme le plus rapide et le plus approprié pour de grands calculs?

Exemple:

id => chance
array[
    0 => 0.8
    1 => 0.2
]

pour cette pseudo-code, l'algorithme de la question sur les appels multiples statistiquement retour quatre éléments sur l'id 0 pour un élément id 1.

OriginalL'auteur Mikulas Dite | 2010-12-16