Bethropic

Rock paper scissors casino odds: why a ×1.97 win is a 1.5% house edge, not 1%, and what a streak of 2, 5 or 10 wins really returns

gentle33912 次浏览
🌐 Originally written in English· AI translationView original

每一次出牌三分之一各种情况

这个网站上的 RPS 是与庄家进行的石头、布、剪刀游戏,以连胜方式进行。赢了你的倍数就会增长;平局你再出一次;输了这轮就结束了。你第一次赢后可以随时提现。游戏看起来有策略——读庄家、避免它刚才出的牌——但实际上没有,因为庄家的牌是这样选出来的。

ENGINE-VERIFIEDOriginalRpsService.kt: getResult() draws round N’s dealer hand as the Nth nextIntBelow(3) of a SeedPairRandom on the round’s server seed, client seed and nonce — cursor N − 1, one HMAC-SHA256 of “clientSeed-nonce-cursor” each, first 13 hex digits over 2⁵², times 3, floored: 0 rock, 1 paper, 2 scissors. betGameTicket(): equal hands change nothing; a win adds one to winCount and sets the multiplier to base^winCount floored to two decimals, with base = (1 − house edge − 1/3) ÷ (1/3) = 1.97 at the 1% edge; a loss sets the multiplier and payout to zero. endGameTicket() refuses a cash-out before the first win. The client mirror is rps/rpsApi.ts.

,

,

中关于clientSeed-nonce-cursor

的一个 HMAC-SHA256,前 13 个十六进制数字超过 2⁵²,乘以 3,向下取整:0 是石头、1 是布、2 是剪刀。betGameTicket():相同的牌什么都改变不了;赢了把 winCount 加一,并将倍数设为 base^winCount,向下取整到两位小数,其中 base = (1 − house edge − 1/3) ÷ (1/3) = 在 1% 边际下的 1.97;输了将倍数和支付设为零。endGameTicket() 在第一次赢之前拒绝提现。客户端镜像是 rps/rpsApi.ts。</1>

For comparison, Koban Flip pays ×1.96 on a true coin flip, a 2% edge per call; the site’s dice and limbo are 1% games. RPS sits between them: 1.5% per win.

1.5% 从何而来

倍数是用平局计入总和构造的。计算一次出牌为一次赌注,赢时返回 ×1.97,平局返回本金,输时返回零,它返回 (1.97 + 1) ÷ 3 = 99%——每次出牌 1% 的边际。这在数学上是对的,但这不是玩家实际体验到的数字,因为平局不是一个结果。没有支付也没有损失;你只是继续出牌直到有人赢。

去掉平局,这轮由第一次非平局的出牌决定,赢或输概率相等。一半的时间你的赌注变成 ×1.97,一半的时间变成零:0.5 × 1.97 = 98.5%。这是这个游戏中赢的真实价格——1.5% 的边际——平均需要一次半的出牌才能到达。

WINS (k)梯子,定价第二次赢再将赌注乘以 1.97,概率相同。因此坐庄连胜完全等同于在每次赢后以 98.5% 的价格再次对你的整个运行余额进行赌注,边际随着你每爬升一级而复合。在 k 次赢后提现赢数 (k)
倍数到达它的概率如果你在这里提现的回报边际1.50%
2×3.8825%97.00%3.00%
3×7.6412.5%95.50%4.50%
4×15.061 in 1694.12%5.88%
5×29.671 in 3292.72%7.28%
6×58.451 in 6491.33%8.67%
8×226.841 in 25688.61%11.39%
10×880.361 in 1,02485.97%14.03%
12×3,416.601 in 4,09683.41%16.59%
15×26,121.211 in 32,76879.72%20.28%

倍数 = 1.97ᵏ 向下取整到两位小数,如引擎计算的那样;概率 = (1/2)ᵏ;回报 = 倍数 × 概率。向下取整最多只会损失几个百分点(1.97² = 3.8809 支付 ×3.88)。表格的每轮最大利润上限仍然适用。

从另一个角度读同样的事实:一个总是骑到五赢的玩家支付每次下注的 7.3%,五倍于每次获胜就兑现的玩家的代价。最高的倍数不是bolted onto游戏上的奖池;它们是同样的 98.5% 的硬币翻转,堆叠的,成本也堆叠的。

连胜感觉如何

两件事让骑行感觉比价格更好。第一是表格上的奖金感觉像是庄家的钱而不是你的——house-money effect——所以冒着 ×3.88 的风险来达到 ×7.64 感觉像是免费的机会。这是一个新的 3.88 单位的赌注,赔率是平手,边缘 1.5%。第二是连胜感觉像是动量。庄家的下一手牌是一个全新的 HMAC;四连赢改变第五次赢的概率恰好为零,这是赌徒谬论的镜像形式。

平手增加了它们自己的一点幻觉。两个平手连续发生的概率是九分之一,感觉像是险些成功,但它们不花任何成本也不改变任何东西:下一个非平手仍然是硬币翻转。

检查一轮

  1. 在这一轮之后,旋转你的种子对来揭示服务器种子,并确认其 SHA-256 匹配你在开始游戏前看到的指纹。
  2. 对于这一轮的第 N 次投掷,计算由服务器种子密钥的 HMAC-SHA256 通过 "clientSeed-nonce-(N−1)",读取前 13 个十六进制数字作为一个数字,除以 2⁵²,乘以 3 并向下取整:0 是石头,1 布,2 剪刀。
  3. 比较每个庄家手牌与你的投掷,计算赢次,并检查支付倍数是否与 1.97 的幂相对应,向下取整到两位小数。

重放手牌表明它们在你投掷前就已经固定了。价格——每次赢 98.5%,复利——不在哈希中;它在上面结算代码的两行中。

常见问题

在赌场庄家面前玩石头剪刀布赢的几率是多少?

这里庄家的手牌是均匀随机抽取的,所以任何投掷赢、平、输各占三分之一。因为平手重新进行,这一轮是 50/50 决出的。

RPS 的庄家优势是多少?

每次胜利1.5%:一次胜利支付×1.97,扣除平局后发生概率为50%,所以每次胜利返回98.5%。将平局计为返还本金的轮次,可得每次投掷1%——同一游戏的不同描述方式。

我应该在赢一次后兑现还是继续玩?

每一次额外胜利都是对整个累积倍数的新的偶数赔率投注,概率为98.5%,所以优势复合:兑现2次胜利后返回97.0%,5次胜利后92.7%,10次胜利后86.0%。兑现第一次胜利并重新开始是最便宜的玩法。

这个石头布娱纸牌游戏中有最佳投掷吗?

没有。庄家的手牌来自种子对,不依赖于你的投掷或之前的轮次,所以每次投掷都有相同的三分之一概率。

平局有什么作用?

不支付任何东西也不损失任何东西;你再投掷一次。第一次胜利前你无法在平局时兑现。

资源与参考

  • Betkyo引擎源代码,主机服务:OriginalRpsService.kt — getResult()(第N轮 = 种子对的第N个nextIntBelow(3))、betGameTicket()(平局推进;base = (1 − 庄家优势 − 1/3) ÷ (1/3);倍数 = base^winCount向下取整到2位小数;失败为零)、endGameTicket()(仅胜利后才能兑现);客户端镜像 rps/rpsApi.ts
  • 为本文撰写的精确计算:具有引擎20位数基数和2位小数向下取整的倍数阶梯;触达概率(1/2)ᵏ;按兑现点分类的返回和优势;通过重放HMAC流的200,000次运行交叉验证(首次胜利达到50.01%,三次胜利12.48%;每次决策平均1.50次投掷)

本文中的游戏

RPS — 规则与免费游戏 →

Rock paper scissors casino odds: why a ×1.97 win is a 1.5% house edge, not 1%, and what a streak of 2, 5 or 10 wins really returns

评论 (1)

  • patientthimble

    The ×1.97 multiplier math checks out—if draws don't count toward your streak, then yeah, the house edge compounds differently than the quoted 1%.