惠更斯的赌徒破产定理 暨 脑力小体操之暗黑对赌问题的答案
majer @ 2022.08.31 , 02:24 下午先用一道例题介绍一下克里斯蒂安·惠更斯(Christiaan Huygens)的赌徒破产(Gambler's ruin)定理。
青梅竹马的小明和小红因开学延期,在家闲来无事摇骰子比大小。两个人手里的筹码总共100枚,小明手里40,小红手里60。不考虑什么手法,骰子的做工也是均匀对称的。每把输赢全凭运气,输家筹码-1,赢家筹码+1;直到一人全部输光才结束游戏。
问:小明最后输光的概率是多少?
因为这里双方每局输赢的概率相等,实际上属于最简单的情况,挺好分析的,直接给出答案:最终小明输光的概率=最终小红赢下所有的概率=60/100。
也就是说,在双方筹码总量不变,每把输赢机会均等的情况下,最终赢的概率和游戏“开始”时个人手里的筹码数成正比。这就是惠更斯的赌徒破产定理。
“开始”打了引号。因为这里是从“那一把 开始 计算最后输赢的概率”的意思。显而易见,最终的概率会随着真实游戏的过程而发生变化。
也就是,如果真正刚开始的时候,小明和小红手里各50枚筹码。此时,双方最终赢下全局的几率都是50%。完全对称。
但游戏玩了几轮后,局面变成题目里的局面:小明40 VS 小红60。此时,双方赢下的概率变为:40% VS 60%。
当我们解决原始问题后,可尝试推广一下问题。如让双方每把输赢的概率不同。在惠更斯的时代(1629-1695),因为缺少足够的数学工具,对这一问题就很乏力了。
更一般的问题:
小明和小红玩游戏,小明任意回合里赢的概率为a,输的概率是b,平手的概率是c。双方总共N枚筹码,此刻小明手里i枚,则小红是N-i枚。问:由此刻算起,小明最后输光的概率是多少?
简单解答。设小明从当前游戏回合算起,最后输光的概率是P(i)。当前回合,小明有3种后果:胜负平。
根据全概率公式
P(i)=a*P(输光|当前赢了)+b*P(输光|当前输了)+c*P(输光|当前平了)……**
注意到所谓 P(输光|当前赢了) 这一条件概率是 表示“这一把赢了,但最后结果是全输光了” 的概率。但在承认这一条件下,从下一把算起,小明手里有i+1枚筹码。所以 P(输光|当前赢了) 其实就是 P(i+1)——当前手里有i+1筹码,但最后输光了的概率;类似地,P(输光|当前输了)=P(i-1),P(输光|当前平了)=P(i)。
再有a+b+c=1,代入(**)式,二阶差分化为,a*(P(i+1)-P(i))=b*(P(i)-P(i-1))。后面求P(i)关于a,b,i的表达式,大体上就是高考难度了吧。
令b/a=γ≠1(=1的情况,之前惠更斯定理讨论过了),P(i+1)-P(i)=A(i+1),则An是一个等比数列。求出An的表达式,进而得到
P(i)=(γ^i-γ^N)/(1-γ^N)
注意到,平局概率不会影响最终结果。
现在让我们再看看 上一期的问题。
《暗黑2》正经有20多年的历史了。无论销量还是口碑,说它是最成功最传奇的PC游戏之一,应该没有丝毫的夸张成分。韩国和国内的最早一代的ARPG网游,基本都受到过暗黑1、2的影响,如天美的总裁姚*光,一开始独立制作游戏时就执着于开发暗黑like游戏。
去年暴雪出了暗黑2的重制版,又引来一批新人入坑和有年纪的情怀玩家回流。如今重制版战网天梯第一赛季已进入尾声。
最近几天,在某个暗黑物品拍卖群里传出了件趣事。
有位喜欢PK(pk就是玩家之间对战)的RMB玩家(主要人物是亚马逊),有一把用于PK的高攻击无形黄标枪。
在暗黑里,无形的物品无法维修。物品使用的的时候会消耗耐久,如果没有“自动回复耐久/数量”或“永不磨损”的词缀,就没有实用价值。这位玩家的标枪恰好没有这两个词缀。
标枪是投掷物,所以它的耐久就是数量。每次投掷攻击,数量就会-1。等数量到0,无形标枪就相当于消失了。
但是重制版里,官方今年在新补丁里重做了野蛮人职业的技能——投掷专精。现在野蛮人投掷时,有一定概率不消耗投掷武器数量,如果打出暴击,甚至可以增加数量。也就是说,若当前标枪数/总数=95/140,野蛮人投掷的时候打出了暴击,结果就变成 96/140。等数量达到 140 (满了)的时候,暴击不会再增加数目,相当于投掷时数量不变。
所以,这位玩家原本无价值的标枪在新版本里有了用武之地,他PK之后会花钱请专精投掷且堆暴击属性的野蛮人玩家,经投掷把无形标枪的数目升满。
最近,他在连续PK后,一时没注意把标枪投掷到仅剩1根,也就是 1/140。
现在问题来了。
如果这根标枪投掷出去,没有打出暴击且没有触发“不消耗数量”的被动,则这把无形标枪就废了。
这位老板纠结之下,愿意出2000元请一个工作室的野蛮人玩家冒险接这一单——把标枪数补满。但是有条件:如果这个接单的野蛮人玩家,把标枪打空,则需要赔给老板15000。就是一个对赌合同。
现在说一下这个野蛮人相关的属性。
经过精心装备外加工作室里其它角色加上的各种buff,接单野蛮人每次投掷时有60%的几率不消耗数量,有80%的几率可以打出暴击。动工准备:法师开门找一个密集的牛场,圣骑士加光环,死灵法师进去引怪(越密集越好),往牛堆(游戏里的怪物)施加诅咒。(实际数值不是如此整齐,我为了方便计算取整了)
为野蛮人玩家创造的攻击条件已经尽善尽美了,但暗黑里有一个基本限制:玩家操作角色进行攻击的时候,怪物至少有5%的几率躲避成功(也就是攻击落空的概率)。
也就是说,第一标出手之后,有5%的几率相当于投向了空地,那就不会判定暴击,如果再没有触发“60%的几率不消耗数量”,则标枪数=0,赔老板15000……这里假定,诅咒和光环等buff,已经把攻击落空的概率压缩到极限5%。
信息摆在这里,如果大家就是这个野蛮人玩家,会选择接这个活吗?(这里为了方便,每次攻击就按5%的失败几率算。不考虑攻击的穿刺效果和一条线上的怪物造成的多次判定问题。)
评论区CA+RECOVERY分析如下:
我算的概率和前面的有点区别
只看题目来说,存在3重判定
消耗 40% | 保持 60%
击中 95% | 躲避 5%
暴击 80% | 普通 20%
其中击中为暴击/普通判定的前置条件,消耗/保持判定为独立事件
一次投掷判定结果罗列如下
P(-1) = P(消耗*击中*普通) + P(消耗*躲避)
= 0.4*0.95*0.2+0.4*0.05
= 0.096
P(0) = P(消耗*击中*暴击) + P(保持*击中*普通) + P(保持*躲避)
= 0.4*0.95*0.8+0.6*0.95*0.2+0.6*0.05
= 0.448
P(1) = P(保持*击中*暴击)
= 0.6*0.95*0.8
= 0.456
这里P(1)就是a, P(-1)就是b,P(0)是c。
γ=0.096/0.456,i=1,N=140。
代入
(γ^i-γ^N)/(1-γ^N),得到失败概率≈0.2105263
之前同样在评论里,CA+RECOVERY编程模拟
Sub Simulator()
For n = 1 To 100000
i = 1
Do While i > 0 And i < 140
r = (Rnd)
If r < 0.096 Then
i = i – 1
ElseIf r < 0.544 And r > 0.096 Then
i = i
ElseIf r < 1 And r > 0.544 Then
i = i + 1
End If
Loop
If i = 0 Then
j = j + 1
ElseIf i = 140 Then
k = k + 1
End If
Next n
Range("A2").Value = j
Range("B2").Value = k
End Sub
输出21%左右。
对照可以看出数学模型是可靠的。
从概率来看,对赌合同是不公平的。虽然根据D2圈里的说法,代练还是冒险接下了合同,15分钟赚了2000。
回到本文主题,想要进一步挖掘这一概率模型的同学,可以搜索 多参数Gambler's ruin、随机游走 等关键字。
我们关于这一模型已有很多研究结果。如早已知道,无论a,b,c具体分布如何,这场游戏可以永远持续下去的概率为0。
我们还可以算出需要玩多少把,游戏才能结束;以及小明赢下或输光游戏,预期需要玩多少把。
还是用上期的问题当例子。问代练需要投掷多少次,才能把标枪数升满?
一般公式就不给了,直接代入数字: [139*((0.096/0.456)+1)-2*140*0.2105]/[(0.456-0.096)(1-0.096/0.456)]≈385。
也就是说平均需要投掷385次。
最后这个求期望的难度,和前年的阿里巴巴全球数学竞赛里概率赛道决赛某题目相当。
PREV : 一个人的死去,整个部落的消失 巴西塔纳鲁土著领地上的最后成员离世
NEXT : 发霉啦:今天,表哥想要跟我调情