Алгоритмы розыгрыша, лотереи, аукциона и тд

yardie
Дата: 07.08.2018 12:56:57
Привет всем!
Подскажите пожалуйста алгоритмы для написание простых розыгрей, лотерей, аукционов с учетом вероятности.
к примеру чем больше игоровых денег закинул игрок - тем выше вероятность выигрыша. Рандом тут не поможет.
Akina
Дата: 07.08.2018 13:22:51
yardie
Рандом тут не поможет.
Да прекрасно поможет. Суммируешь всё, нормализуешь, делаешь накопление, и попадаешь куда-то рандомом. Типа:
Игрок Сумма Сумма с накоплением Нормализованная сумма с накоплением
1 2 2 0.2
2 5 7 0.7
3 3 10 1.0

Если RAND() даст, скажем, 0,123456 - выиграл первый, если там 0,456789 - второй, если 0,987654 - соответственно третий.
yardie
Дата: 08.08.2018 11:18:52
Akina,

а как в этом случае сделать чтобы была больше вероятность у того - кто больше закидывает монет?
Akina
Дата: 08.08.2018 12:22:16
yardie, а она и есть больше. Второй игрок выиграет, если RAND() даст значение от 0,2 до 0,7, т.е. вероятность его выигрыша 50%. А вот первый выиграет, если RAND() даст значение от 0 до 0,2, т.е. всего 20%.
Akina
Дата: 08.08.2018 12:24:38
Вот так будет выглядеть таблица, если её дополнить столбцами диапазона (От - До), при попадании RAND() в который данный игрок выигрывает:
Игрок Сумма Сумма с накоплением Нормализованная сумма с накоплением От До
1 2 2 0.2 0 0.2
2 5 7 0.7 0.2 0.7
3 3 10 1.0 0.7 1.0
kealon(Ruslan)
Дата: 12.08.2018 13:26:21
yardie
Привет всем!
Подскажите пожалуйста алгоритмы для написание простых розыгрей, лотерей, аукционов с учетом вероятности.
к примеру чем больше игоровых денег закинул игрок - тем выше вероятность выигрыша. Рандом тут не поможет.

идти нужно от распределения которое хочешь получить

т.е. f(x) на интервале a,b

находит первообразную F(x) (можно численно)

бросаешь рандом r в диапазоне (0, 1]

из уравнения (F(x) - F(a))/ (F(b) - F(a)) = r; находишь х

PS: геометрически это площадь по функцией распределения нормированная на 1