У меня есть список элементов. Когда я создаю список, каждый элемент имеет равные шансы на выбор. Но по мере того как элемент выбран, его шансы снижаются, в то время как другие шансы повышаются. Если во время процесса добавляется новый элемент, он должен иметь максимальную возможность выбора, при этом его шансы падают по мере его выбора. Я ищу хороший алгоритм, который может выполнить это С#.
Обобщенная идея: У меня есть 5 предметов, со временем все 5 предметов будут выбраны 20% времени. Я стараюсь, чтобы выборы были близки к 20%, насколько это возможно, сократившись на outliers. Если он существует, он будет выбран больше/меньше, чтобы вернуть его в линию.