Sorry about badly phrased title....
I have an object called NGram
class NGram
{
//other properties
double Probability {get; set;} //Value between 1 and 0
}
Now suppose I have a list of these objects such that...
List<NGrams> grams = GetNGrams();
Debug.Assert(grams.Sum(x => x.Probability) == 1);
How can I select a random item from this list while factoring in the probability distribution.
For instance, suppose grams[0].Probability == 0.5
then there should be a 50% chance of selecting grams[0]
I figured I may need something like rand.NextDouble()
but I am at loss.
Aucun commentaire:
Enregistrer un commentaire