抱歉标题表述不太清楚...... 我有一个名为NGram的对象。
class NGram
{
//other properties
double Probability {get; set;} //Value between 1 and 0
}
现在假设我有一个这些对象的列表,例如...
List<NGrams> grams = GetNGrams();
Debug.Assert(grams.Sum(x => x.Probability) == 1);
如何在考虑概率分布的情况下从列表中选择一个随机项。
例如,假设grams [0] .Probability == 0.5
,则选择grams [0]
的概率应为50%。
我想我可能需要像rand.NextDouble()
这样的东西,但我不知道该怎么做。