博弈论算法之轻松幽默诙谐有趣皮到没边的刚学来打算装逼的曲(趣)解博客

本文介绍了博弈论中的几种经典游戏,包括巴什博弈、威佐夫博弈和尼姆博奕,分析了各种情况下获胜的策略。通过模拟和必死态的寻找,揭示了游戏背后的数学规律,帮助读者理解如何在这些博弈中取得胜利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、巴什博弈(Bash Game)

巴什是谁呢?这个不重要(我也不知道),巴什博弈的问题很简单,一堆石头,每人每次拿1~n个石头,谁先拿完就赢了。

模拟一下:M(石头数),n(一次最多能拿的石头数),现在M(5),n(3),我们先拿,那我们要怎么赢呢,先拿1剩4,这样对方拿多少我们下次都能拿完,必赢,也就是说M(4)必输(这就是对方的面临的现况),康康(振声)M(8),M(12),如果我们面临这样的情况,无论我们怎么选,对方都可以把我们的状态变成M(4),我1个对面就3个,我2个对面就2个,无赖啊(´・_・`),好吧这应该算智商压制,也就是M(n+1)是一种必输态,反过来不是必输就是必胜,因为你只需要一步就会让对方变成必输态,你看什么看,你也是无赖→_→。

PS:这个题目是先拿完win,也有先拿完lose的,思路是不一样的。

照样模拟:M(5),n(3),不同于上面,我们现在是要让对方拿最后一个石头(要不是只剩一个了,他会拿吗),M(1)必死wm只能憋屈赴死,M(2)拿一个win,M(3)拿两个win,M(4)拿三个win,M(5)好像。。必死了,那M(5)必死,同样找出必死态之后,让对方循环拿必死态就稳赢了,其实你应该注意到了,巴什博弈最先的M先减一,再用巴什分析不就好了吗,没错,巴什就是最后剩0,这个变化的版本就是最后剩1。其实思路是一样的,理解了才不会在上面栽跟头。

这个题目很简单,就不放代码了。

http://acm.hdu.edu.cn/showproblem.php?pid=2188

http://acm.hdu.edu.cn/showproblem.php?pid=2149

http://acm.hdu.edu.cn/showproblem.php?pid=1846


二、威佐夫博奕(Wythoff Game)

威佐夫。。同样迷一样的男人。

威(妄)佐(自)夫(菲)博(薄)奕(夜):两堆石头,每次可以选一堆拿任意个(四次元口袋,小场面),或者选两堆拿同样数量的石头,当然不可能拿成负数了啦,先拿完的获胜。

中等模拟:M(M1(第一堆石头数),M2(第二堆石头数)),M(M1(3),M2(5)),M1和M2本质是一样的,就记成M(3,5)小的房前,小的放钱,小的放前。。。

很明显M(0,0)是必死态(这他妈已经死了),M(0,n)必赢,M(n,n)必赢;

M(1,2)必死,M(1,3)让对面变成M(1,2)必赢,故而M(1,n(n>2))必赢;

M(2,3)让对面变成M(1,2)必赢,同上M(2,n)必赢(n在这个式子里比2大);

M(3,4)对面M(1,2)必赢,因为它们的差值(2-1)(4-3)相同,M(3,5)就不一样了,之前分析的除了M(1,2)外就没有必死态了,也就是说我们只能让对面变成非必输态(我好像输啊死啊的混用了,哎呀一个意思);M(3,n>5)让对面变成M(3,5)必赢;

嘿嘿嘿,差不多可以总结了,必死态就那么几个M(1,2)M(3,5)M(4,7)M(6,10)M(8,13)。。。,它们的差值1,2,3,4,5。。。;为什么它们没有相同的数字呢?很简单举个例子M(2,5)一定不是必死态,因为他只需一步就可以让对方变成必死态,而必死态一定是一步变不成的,所以必死态的描述里:必死态的式子前一个数字是之前未出现的最小正整数。(必死态就是奇异局势啦)

在前人的实验与证明后啊,我们得到了公式:

M1=(M2-M1)*黄金分割率(1.618034)

(sqrt(5)+1)/2)

sqrt的结果是double型的,不用写什么2.0,什么(double)的,这个情况就是必死态,反言之不必死就必赢。


这是先拿完获胜,先拿完失败呢,是不是只要把对方变成“必赢态”就好了呢?不是的,想一下对方M(1,1)我们是必死的,所以思路要发生一些转变,要让对方拿最后一个。

疯狂模拟:M(0,1)必死;M(0,n)必赢;

M(1,1)必赢;M(1,n)一步变M(1,0)必赢;

M(2,2)一步变不成之前唯一 的必死态,必死;M(2,n)一步变M(2,2)必赢;M(n>2,n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值