我正在尝试提出一种奖励分配算法,该算法能够可靠地处理不同数量的玩家和因果关系,即如果参赛者处于同一位置。
这是我到目前为止所做的:
Distribution Formula
P=((1-d)/1-d^n)*d^(p-1))*A
Where:
P Prize
n Number of winners
A Total amout of money to share
d Distribution constant >0<1
p Position or rank of the user
在Excel中建模我得到以下结果:
Constants
A 50000
d 0.4
n 15
示例数据
没有关系的分发
Position (p) Player Prize (P)
1 A 30000.03221
2 B 12000.01288
3 C 4800.005154
4 D 1920.002062
5 E 768.0008246
6 F 307.2003299
7 C 122.8801319
8 D 49.15205278
9 E 19.66082111
10 F 7.864328444
11 C 3.145731378
12 D 1.258292551
13 E 0.5033170204
14 F 0.2013268082
15 C 0.08053072327
**Total 50000**
分配关系
Position (p) Player Prize (P)
1 A 30000.03221
1 B 30000.03221
2 C 12000.01288
3 D 4800.005154
4 E 1920.002062
4 F 1920.002062
5 C 768.0008246
6 D 307.2003299
7 E 122.8801319
8 F 49.15205278
9 C 19.66082111
10 D 7.864328444
11 E 3.145731378
12 F 1.258292551
13 C 0.5033170204
**Total 81919.75242**
问题
不是我的第二个数据与总分布式奖品超过50000这是我想要分享
期望的结果
落入相同位置的用户应获得相同的金额,并将奖品分配给其他用户。支付的总金额不应超过预期。
如何改进上述功能以达到上述效果。