|
|
|
Посоветуйте придумать алгоритм
|
|||
|---|---|---|---|
|
#18+
Задача такая, есть акция, в которой по оценке может принять участия около 1 000 000 человек, призовой фонд составляет 1 200 000 баллов, при начислении участнику может быть дано 1, или 5, или 10, или 100 баллов. Надо написать алгоритм который бы корректировал вероятность выйгрыша определенного кол-ва баллов, в зависимости от активности. Может кто с таким сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 19:04 |
|
||
|
Посоветуйте придумать алгоритм
|
|||
|---|---|---|---|
|
#18+
DenisKBЗадача такая, есть акция, в которой по оценке может принять участия около 1 000 000 человек, призовой фонд составляет 1 200 000 баллов, при начислении участнику может быть дано 1, или 5, или 10, или 100 баллов. Надо написать алгоритм который бы корректировал вероятность выйгрыша определенного кол-ва баллов, в зависимости от активности. Может кто с таким сталкивался? Как я понимаю, каждый из этого мильёна персонажей проявляет свою активность в каких-то единицах измерения? Суммируете эти единицы, затем делите результат на призовой фонд 1200К, получаете цену одного балла в единицах активности. Затем в завис. от активности раздаете слонов усчастникам, округляя вниз до 1,5,10,100. Затем след итерация по каким-то дополнит критериям -- пока не исчерпаете все 1200К Ну или себе немножко оставьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 09:44 |
|
||
|
Посоветуйте придумать алгоритм
|
|||
|---|---|---|---|
|
#18+
DenisKBНадо написать алгоритм который бы корректировал вероятность выйгрыша определенного кол-ва баллов, в зависимости от активности. Элементарно. Точнее, вообще говоря зависит от постановки задачи (скажем, может ли самый неактивный участник выиграть самый большой приз), но например: 1. Заранее продумываете распределение призов, если до сих пор этого не сделали 2. Сортируете всех по активности 3. Разбрасываете призы ГПСЧ с неравномерным (например, нормальным) распределением, подгадав пик вероятности к максимально активным участникам и начав с наибольших призов. Скажем, будет удобно отсортировать по уменьшению активности, взять генератор с распределением, симметричным относительно нуля, ну и определять индекс выигравшего по abs(random()). Генератор с заданным распределением при необходимости легко делается из обычного равномерного, как - написано в любой книжке по тематике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34351121&tid=1346238]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 495ms |

| 0 / 0 |
