巴什博弈:取石子游戏苦逼的码农关注共 1418字,需浏览 3分钟 ·2021-05-29 06:52 01故事起源有一堆石子共N颗,小K和小A轮流取,每次最少取1颗,最多取M颗,最后一次取光石子的获胜。那么小K应该采取怎样的策略尽可能获胜呢?02分析如果没有取的数量的限制,那就可以一次取完所有的,所以先取的人必胜。但游戏的规则有限制条件,最少1颗,最多M颗,所以在这种条件下应该采取什么策略,我们继续分析。03小规模场景先考虑一个简单场景,假设只有8颗石子,最少取1颗,最多取3颗。3.1剩下小于等于3颗如果在进行若干轮之后,剩下的石子数量小于等于3,那该轮的人一定必胜。不论是剩1颗,2颗,还是3颗,他都可以一次取走所有的。为描述方便,设f[x]表示有x颗石子,先取的人的输赢情况。f[x]=1表示必胜f[x]=0表示必败则根据上面的分析有f[1]=f[2]=f[3]=1。3.2剩下4颗如果当前轮次剩下4颗石子,那能取的也就3种情况,取1,2,3颗,则剩下3,2,1颗。根据上面有f[1]=f[2]=f[3]=1,即剩下的都是必胜局势,也就意味着当剩下4颗时,无论怎么取都是输,即必败局势,f[4]=0。3.3剩下5颗如果当前轮次剩下5颗石子。你会怎么取呢?因为上面我们已经能得到一个信息,4颗是必败,那此时为了胜,当然要尽量留给对方必败局势,所以取1颗剩下4颗,对方必败,则我们就必胜了,即f[5]=1。3.4剩下6、7颗同样如果剩下6颗,就取2颗;如果剩下7颗,就取3颗,留给对方必败局势,那当前就是必胜局势,即f[5]=f[6]=f[7]=1。3.5剩下8颗此时能取的也还是3种情况,剩下的都是必胜局势,那么此时就是必败局势,即f[8]=0。分析到这里,我想大家基本都能发现规律了,所有能被4整除的都是必败局势,那么不能被4整除的就是必胜局势。04回到原问题有N颗石子,最少取1颗,最多取M颗。根据上面分析可得出以下结论:N能被(M+1)整除,则为必败局势N不能被(M+1)整除,则为必胜局势05变种:最后取光的人输如果游戏规则更改,最后取光石子的人是输家,那又会是怎样的情况呢?5.1剩下1颗如果只有1颗,你不得不取,那一定是输,必败局势,得f[1]=0。5.2剩下2、3、4颗如果剩下2、3、4颗,为了尽可能赢,则可以取1、2、3颗,留给对方必败局势,那自己就是必胜,即f[2]=f[3]=f[4]=1。5.3剩下5颗可取的也只有3种情况,留给对方的都是必胜局势,那么此时就是必败,即f[5]=0。分析到这里,这种规则下的规律我们也已经找出来了,对4取模等于1的都是必败局势,那取模不等于1的都是必胜局势。变种问题的规律总结如下:N mod (M+1)=1,则为必败局势N mod (M+1)≠1,则为必胜局势06总结这个问题其实就是一个经典的博弈论问题,巴什博弈,如果每个人都很聪明,在每一轮都采取对自己最有利的策略,那么游戏从开局就注定了输赢,不存在其它的变数。这样想这个问题好像也不存在什么博弈的过程,毕竟结果是确定的。因为只有一个限制因素,规则比较简单,但现实生活中的博弈远比这个复杂,因素太多就导致变数很大,每一种不同的策略都会带来不同的结果,那才更有意思呢,哈哈。 浏览 36点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 巴什博弈:取石子游戏程序IT圈0智力博弈游戏智力博弈游戏0取石子游戏,程序员用博弈论教你如何必胜程序IT圈0巴什爱德华多·包洛奇0PC游戏编程 : 人机博弈 PC游戏编程 : 人机博弈 0PC游戏编程 : 人机博弈 本书是一本专论机器搏奔的作品。详细披露了编写人机对奔程序的原理,技术和各种相关内容。包含一个完整的中临巴镇石子社区石子社区是四川省达州市渠县临巴镇下辖的社区,城乡分类代码为121,为镇中心区。区划代码为511725102002,居民身份证号码前6位为511725。邮政编码为635200,长途电话区号为0818,车临巴镇石子社区石子社区是四川省达州市渠县临巴镇下辖的社区,城乡分类代码为121,为镇中心区。区划代码为511725巴音巴什物业公司中物物业开发商单位自建小区地址内蒙古自治区/呼和浩特市/赛罕区/西把栅乡/009县道物业类型公寓住宅权属类别商品房住宅竣工时间2015年产权年限70年总户数1620户总建面积暂无容积率2.50巴什拉巴什拉(1884-1962)法国科学哲学家、史学家。做过高级中学职员,后成为索尔本大学教授。提倡革命点赞 评论 收藏 分享 手机扫一扫分享分享 举报