老虎机支付计算

时间:2010-11-09 19:58:09

标签: algorithm

有这个question但它没有什么可以帮助我在这里。

试图在互联网上找到有关它的信息,但这个主题充斥着关于“如何获胜”的文章或其他我几乎找不到任何相关内容的文章。没有值得发布在这里。

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

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

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

我还可以制作所有可能性的大量列表,将它们保存在按订单随机化的数据库中,并且每次只轮询其中一个。
这有很多瑕疵 - 最大的瑕疵就是我将获得的巨额名单(数百万/十亿/等'记录)。

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

4 个答案:

答案 0 :(得分:15)

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

赔率表:

3xA = 5

3xB = 10

3xC = 20

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

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

完整周期(所有可能组合的总数)为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

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

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%

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

在现实生活中,你可能希望拥有野性符号,免费旋转和奖励。在这个答案中描述它们都非常复杂。

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

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

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

答案 1 :(得分:2)

嗯,第一个问题是关键字 assure ,如果你正在处理随机,你不能保证,除非你改变了老虎机的逻辑。 / p>

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

if(  customer_able_to_win() )
{
   calculate_how_to_win();
}
else
  no_win();

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();

有了类似的东西,在你达到95%达到90%之后它会继续下跌,然后它会随机增加一连串直到你达到95%。

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

我一直设想这是老虎机特别适用于视频扑克的方式。因为no_win()函数会计算如何输掉,但是让它看起来像是一张卡片来取笑你认为你会赢,而不是处理一个'公平'游戏而且随机恰好是那样的....

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

答案 2 :(得分:1)

多年前,我在澳大利亚的一家互联网赌场工作,这是世界上唯一一家完全由政府机构监管的赌场。你所说的产生“结构化随机性”的算法显然非常复杂,特别是当你在所有方向上说多行,加倍,挑选套装,多个累积奖金等时。

我们的州扑克机器法要求支付97%的费用。为了让我们的机器做到这一点非常满意,他们让我们运行1000万次机器模拟,然后想看看我们的游戏在法律规定的最小错误范围内得到了回报(我们有很多机器运行脚本自动播放使用脚本来模拟点击大约一周前我们达到10密耳)。

无论如何你说的算法是昂贵的!它们的价格从每台机器的50万美元到数百万美元不等,所以你可以理解,没有人会免费交付它们,这是肯定的。如果你想要一台单机系列,那就很容易了。只需计算出符号/卡片以及每种符号所需的薪酬结构。那么你可以在非支付中分配这些支出,直到你得到各自的数字。显然,有更多的选择意味着以相应的费率支付的时间越长,它甚至可能在这篇文章的早期付出更多。命中频率和奖金大小也是您可能需要考虑的因素

答案 3 :(得分:0)

一种简单的方法,如果你假设人们在一段时间内赢得了不变的次数:

  • 创建所有可能的不倒翁组合的集合,每个人支付多少钱。

  • 第一次有人玩,在这段时间内,你可以同等概率提供所有组合。

  • 如果他们获胜,请将该金额从剩余的时间段中扣除,并从可用选项中删除任何超出您剩余金额的组合。

  • 重复使用减少的组合,直到所有钱都消失了。

  • 重置并在下一个时间段重新开始。