9

这是一款赛狗游戏,有视频,每个视频都知道前3名获胜者,玩家在X限制时间内选择获胜者。根据他们的投注,算法选择适当的视频,以将每个销售点/客户的返回百分比保持在其先前指定的数量。

像这样的东西:

% Returning Specific Return Configuration, range: 50%~90%:
POS1: 65%
POS2: 78%
POS3: 50%
...
...
POSN: XX%

每个 POS 都有不同的收入,应根据其配置返回:

Ex: [pos]    [cashes] [should return]   [returns]  [step]
    -------------------------------------------------------
     POS1       100         65             60        44
     POS2       100         78             50        45
     POS3       500        250            150        45
     

基于某些组合发生回报较低,因此剩余的被视为债务。这是因为每个商店都在销售以下数字:

POS1:   [Cashes]    ["Winners" Number]  [Possible Return]
          50           12                 150
          50           13                  60

因此,该算法尝试在有限的可能性中找到最接近的组合,该组合返回该值 + 累积的月债务,基于每个步骤,例如:

 sum([should return]) of step 45 
   + lowest not returned part of the month ([should return]-[returns]) 
                              of the stores present at that step (45) 

在相对较长的时期(约 30 天,即流程的持续阶段)结束时,具体的退货是:

POS1: 64.4%
POS2: 72.9%
POS3: 49.2%
...

它现在工作了 8 个月,没有明显的问题,但如果我已经足够清楚,这是正确的逻辑吗?

每个步骤持续 5 分钟

*** 编辑 ***

碰巧在返回的百分比上使用一些额外的奖金负差,因此“客户债务”,取决于值会导致每一步的返回阻塞,直到 POS 返回到它的百分比。

因此,我将“本月未返回的最低部分([应该返回]-[返回])”更改为在该步骤中随机挑选的玩家。这有帮助但还不够,因为当那个消极的玩家 pos 在许多连续的步骤中独自一人时......实际上它并没有带来任何回报。这不是一件好事,所以我从这个负债务中添加了一些实际使用的限制,随机因素的范围是

sum([should return]) of step 45 
+ ((case when the debt is negative under some relative "considerable" limit) 
    random[range(-0.01, 0.2)] * not returned part of the month ([should return]-[returns]) 
else the ([should return]-[returns]))

实际上 range(-0.01, 0.2) 意味着 pos 可以在一些相对限制下返回,实际上 store 再次开始返回,即使是单独玩。

4

0 回答 0