通过MCP连接 →

输入计算

数学公式

广告

结果

Probability the game is decided within 1 round(s)
0.0902%
for n = 20 players
概率(以小数表示) 0.000902
单局分出胜负的概率 p 0.0902%
达到99%胜负概率所需的局数 5,103

这个计算器能做什么

这个工具模拟n个人同时出拳玩石头剪刀布(也就是日语里的"猜拳/janken")。每一局中,每位玩家都独立地出石头、剪刀或布。当出现"赢家与输家分明"的局面时,游戏就算"分出胜负";否则就是平局,需要重新出拳。本计算器会算出游戏在r局内分出胜负的概率,以及达到99%胜负概率所需要的局数。

三只手分别比出石头、布和剪刀,箭头表示谁克制谁
石头剪刀布:每个手势循环地克制一个、又被另一个克制。

使用方法

输入玩家人数n(2到100人)和局数r。结果会显示截至第r局已分出胜负的累计概率、单局分出胜负的概率p,以及达到99%胜负概率所需的最少局数。

计算公式

只有当三种手势中恰好出现两种(一种克制另一种)时,单局才能分出胜负。能决出胜负的结果共有 \(3 \times (2^n - 2)\) 种,而总共有 \(3^n\) 种出拳组合,因此单局分出胜负的概率为 \(p = \dfrac{2^n - 2}{3^{\,n-1}}\)。一局没分出胜负(平局)的概率为 \(q = 1 - p = \dfrac{3^{\,n-1} - 2^n + 2}{3^{\,n-1}}\)。由于各局相互独立,r局之后仍未分出胜负的概率为 \(q^r\),于是累计分出胜负的概率为 $$P = 1 - q^r.$$

Advertisement
随着轮数增加而上升并趋近于 1 的概率曲线,标有 99% 的横线
每多进行一轮,作出决定的概率就更接近 1。

实例演算

以n = 3人为例:\(3^{\,n-1} = 9\),\(2^n = 8\),所以 \(q = \dfrac{9 - 8 + 2}{9} = \dfrac{1}{3}\),\(p = \dfrac{2}{3} \approx 66.67\%\)。游戏在1局内分出胜负的概率为 $$P = 1 - \tfrac{1}{3} = 0.6667;$$ 在2局内分出胜负的概率为 $$P = 1 - \left(\tfrac{1}{3}\right)^2 = 0.8889.$$ 要达到99%,所需局数 \(r_{\text{Threshold}} = \lceil \frac{\ln(0.01)}{\ln(1/3)} \rceil = \lceil 4.19 \rceil = 5\) 局(第5局时P为0.99588)。

常见问题

什么情况算平局? 只有两种情况:所有人出的手势完全相同,或者石头、剪刀、布三种手势同时出现。只要恰好只出现两种手势,就能分出胜负。

为什么人数越多需要的局数越多? 随着n增大,每一局几乎必然出现平局(q趋近于1),因此要达到99%可能需要数百万局,甚至当n = 100时高达约 \(10^{14}\) 局。

这个工具有地区限制吗? 没有。猜拳(janken)就是石头剪刀布,这套数学原理适用于任何对称的三选一游戏,全球通用。

最后更新: