老虎机支付计算

Pon*_*oni 7 algorithm

有这个问题,但没有什么可以帮助我在这里.

试图在互联网上找到有关它的信息,但这个主题充满了关于"如何获胜"的文章或其他我几乎找不到任何相关的东西.没有值得发布在这里.

我的问题是我如何确保一年内支付95%

当然,理论上.
到目前为止,我可以想到在计算中要考虑的三个明显变量:机器支付期限(在我的情况下为年),支付总额和该期限内收到的总数.

现在我可以简单地在付费/收到的差距和修正槽结果之间拍摄一个随机数,以便向玩家展示,但我不确定这是怎么做的.
然而,这种方法听起来很合理,但它涉及向后构建插槽结果.

我还可以列出所有可能性大量列表,将它们保存在按顺序随机化的数据库中,并且每次只调查其中一个.
这有很多缺陷 - 最大的缺点是我将获得的巨额列表(数百万/十亿/等'记录).

我当然希望这个问题会标有"答案"(:

小智 15

你必须制作卷轴而不是庞大的数据库.以下是包含3个符号的非常基本的3轴游戏的简短示例:

赔率表:

3xA = 5

3xB = 10

3xC = 20
Run Code Online (Sandbox Code Playgroud)

卷轴条是每个卷轴上的一系列符号.对于计算,您只需要每个卷轴上每个符号的数量:

A = 3, 1, 1 (3 symbols on 1st reel, 1 symbol on 2nd, 1 symbol on 3rd reel)

B = 1, 1, 2

C = 1, 1, 1
Run Code Online (Sandbox Code Playgroud)

完整周期(所有可能组合的总数)是 5 * 3 * 4 = 60

现在您可以计算每种组合的概率:

3xA = 3 * 1 * 1 / full cycle = 0.05

3xB = 1 * 1 * 2 / full cycle  = 0.0333

3xC = 1 * 1 * 1 / full cycle  = 0.0166
Run Code Online (Sandbox Code Playgroud)

然后您可以计算每个组合的回报:

3xA = 5 * 0.05 = 0.25 (25% from AAA)

3xB = 10 * 0.0333 = 0.333 (33.3% from BBB)

3xC = 20 * 0.0166 = 0.333 (33.3% from CCC)

Total return = 91.66%
Run Code Online (Sandbox Code Playgroud)

最后,您可以将每个卷轴上的符号混洗以获得卷轴条,例如第一卷轴的"ABACA".然后选择1和条带长度之间的随机数,例如1到5的第1个卷轴.这个数字是中间符号.上部和下部来自条带.如果您从条带的边缘拾取,请使用第一个或最后一个来循环条带(它是虚拟卷轴).然后对结果进行评分.

在现实生活中,您可能希望拥有Wild-symbols,免费旋转和奖金.在这个答案中描述它们都非常复杂.

在此示例中,命中频率为10%(总组合= 60,奖金组合= 6).大多数人使用excel来计算这些东西,但是,你可能会找到一些很好的工具来制作插槽数学.

适用于Google的关键字:PAR表,"插槽数学可以很有趣"一书.

对于抽奖或2级机器,你不能使用这些东西.您必须显示给定奖品的组合.这是一个非常不同的任务,因此您可以尝试准备一个数据库,存储按奖金额排序的组合.


sup*_*fro 2

好吧,第一个问题是关键字Ensure,如果您正在处理随机,则无法Ensure,除非您更改老虎机的逻辑。

但请考虑以下算法。我认为这种思维方式比绘制平均值图表以达到 95% 更可靠;

if(  customer_able_to_win() )
{
   calculate_how_to_win();
}
else
  no_win();
Run Code Online (Sandbox Code Playgroud)

customer_able_to_win() 是您的数据日志,显示您已获得多少摄入量与已支付多少金额,如果您低于 95% 的支付率,则 customer_able_to_win() 返回 true;在这种情况下,calculate_how_to_win() 会根据您的百分比计算客户能够赢得多少钱,因此,我们选择 24 小时的采样周期。如果在过去 24 小时内我已支付了所入金额的 90%,那么我最多可以支付 5%...让 5% 给出一个数字,例如 100 美元。因此,calculate_how_to_win 表示我最多可以支付 100 美元,因此我会找到一组可以支付 100 美元或更少的卷轴,并且该用户可以获胜。你可以添加一点随机性,但为了确保你的 95%,你必须有一些其他规则,例如如果你低于 80%,则强制最大支付,等等。

如果你通过在混合中添加随机来稍微改变算法,你将不得不有更多这些警告......所以为了让它对用户来说是随机的,你可以这样做......

if(  customer_able_to_win() && payout_percent() < 90% )
{
   calculate_how_to_win(); // up to 5% payout
}
else
  no_win();
Run Code Online (Sandbox Code Playgroud)

类似这样的情况,当你达到 95% 后,它会继续连败,直到你达到 90%,然后它会继续随机增量的连胜,直到你达到 95%。

这不是完整的算法答案,而是更多关于如何思考老虎机如何工作的方向。

我一直设想这就是老虎机的工作方式,尤其是视频扑克。因为 no_win() 函数会计算如何输,但让它看起来像是一张牌,以逗你认为你会赢,而不是处理“公平”的游戏,而随机性恰好是这样的....

想想整个过程......首先思考如果你会赢,你会如何赢,如果你不会赢,你​​会如何输,而不是随机数生成器来确定你是否会赢会赢还是不会赢。