用于处理联系的奖励分配算法

时间:2016-08-16 07:47:55

标签: python algorithm math statistics game-engine

我正在尝试提出一种奖励分配算法,该算法能够可靠地处理不同数量的玩家和因果关系,即如果参赛者处于同一位置。

这是我到目前为止所做的:

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这是我想要分享

期望的结果

落入相同位置的用户应获得相同的金额,并将奖品分配给其他用户。支付的总金额不应超过预期。

如何改进上述功能以达到上述效果。

0 个答案:

没有答案