К сожалению о плохо сформулированного названии ....Выбор случайный элемент из списка с учетом вероятности каждого элемента
У меня есть объект с именем 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
то должно быть 50% вероятность выбора grams[0]
Я полагал, что, возможно, потребуется что-то вроде rand.NextDouble()
но я в догадках.
вы хотите выбрать на основе их от вероятности значение? – ajputnam