Взвешенный случайный выбор

Случайно выберите элемент из списка, задав каждому пункту свою вероятность через вес. Идеально для лотереи, колеса фортуны или распределения призов — выбор полностью происходит в вашем браузере.

Пример:
Вес определяет относительную вероятность: пункт с весом 5 выпадает в 5 раз чаще, чем пункт с весом 1. Без «:вес» пункт получает вес 1.

Как это работает

Обычный жребий даёт каждому пункту совершенно одинаковый шанс быть выбранным. Взвешенный выбор, напротив, позволяет отразить разные вероятности: например, в лотерее, где главный приз должен выпадать реже утешительных, или при распределении задач, когда одним людям нужно придать больший вес. Для выбора используется генератор псевдослучайных чисел браузера, применяемый к накопленной сумме весов всех пунктов.

Как именно рассчитываются вероятности?

Каждый пункт занимает часть отрезка, длина которой пропорциональна его весу: при весах 1, 2 и 5 сумма равна 8, поэтому у первого пункта шанс 1/8, у второго 2/8, у третьего 5/8. Затем в этом отрезке выбирается случайное число, которое определяет выбранный пункт.

Можно ли использовать десятичные веса или сильно различающиеся по масштабу?

Да, веса могут быть десятичными числами (например, 0.5 или 2.75), и ограничений на разницу между наименьшим и наибольшим весом нет: для относительных вероятностей важно только соотношение весов.

Ни один из ваших пунктов не передаётся на сервер: выбор вычисляется локально, в вашем браузере.