题目背景:
有一堆物品,供n个,两个人A,B轮流取,A先取,每次至少取1个,至多可以取n个,取到最后一个物品的人获胜,假设两人每次都采取对自己最有利的取法,问最后谁能获胜。
问题分析:
博弈问题一般的思路是先找“胜负手”,即轮到某方时某方必胜的局面,在这个问题中,显然当剩余物品的数量<=m时必胜,但是,因为博弈双方都不是傻子,必定只有在迫不得已的情况下让对方得到必胜的局面,此种局面,便是必败局。
那么,什么情况下无论你如何选择都难逃败局呢,便是对于当前局面你采取任何策略对应结果的物品数都落在{1,2,3,……,m}这个区间内,可知,只有当前剩余物品数为m+1时满足。
因此,要想让自己确保自己能达到必胜的局面,则必须让对手达到必败的局面,即物品数为m+1的情况。
然而游戏刚开始的时候先手的A并不一定能直接让对手面临必败的局面,在双方对弈的过程中B每次都有机会改变局面从而影响到A的布局,所以A如果想必胜,就需要一个能掣肘B的策略,让局面无可避免地向B的必败局逼近,即想办法消除掉每次B的行动对局面的影响,问题就转化为如何才能消去B的行动对于局面的不稳定因素,即A在采取此策略时,局面一直保持一个稳定的变化趋势。
可知,无论B做出什么选择,A都能让局面整体的变化情况成为一个可期望的固定值,这种情况是存在且仅有一个的,即每次A在B取完x个之后再取(m+1)-x个,这样整体的变化量为物品数减少了m+1。
那么,对于先手的A来说,第一次取多少才能保证在采取上述策略的情况下,最终让B面对剩下物品数为m+1的必败局呢。结论是显而易见的,只要A在第一步的时候选取x个,让省下的n-x成为m+1的整倍数,即x=n%(m+1),x的可能结果为{0,1,2,3,….,m},对比每次可以取的物品数集合:{1,2,3,….,m}可知,只有x=0即n是m+1的整倍数时A不能利用其先手的优势获胜,那么在此种情况下A就一定会输吗?那是当然的了,B可不是傻子,因为物品数量为m+1的整数倍,B只要采取上述策略,在每次A取完x个之后,都取(m+1)-x个,使得每轮物品数都减少m+1个,那么最后一个物品必然成为B的囊中之物了。
巴什博弈
最新推荐文章于 2021-05-17 09:00:00 发布