Bash Game

巴什博弈(Bash game)是一个双人博弈:有一堆总数为 n n n的物品,2名玩家轮流从中拿取物品。每次至少拿 1 1 1件,至多拿 n n n件,不能不拿,最终将物品拿完者获胜。

必胜策略
在先取完者胜的巴什博弈中,若 n n n可被 m + 1 m+1 m+1整除,则后手方必胜,否则先手方必胜。具体策略分析如下:
首先考虑两种简单情形,我们称某一 n n n的值是先手方\后手方的制胜位置,是指此 n n n值下先手方\后手方有必胜策略:

  • 我们先考虑 n < m + 1 n<m+1 n<m+1的简单情形。此时先手方行动,由于物品数量小于 m + 1 m+1 m+1,故至多为 m m m件物品,先手方一次性拿完所有物品即可胜利。即 n = 1 , 2 , … , m n=1,2,…,m n=12m是先手方的制胜位置。
  • 我们再考虑 n = m + 1 n=m+1 n=m+1的简单情形。此时先手方行动,他只能拿取 1 1 1 m m m件物品,这意味着他无法一次将物品拿完,只能给后手方留下 1 1 1 m m m件物品,而这一数量的物品恰好可被后手方一次性拿完。故后手方胜利。即 n = m + 1 n=m+1 n=m+1是后手方的制胜位置。
    下面我们考虑所有的 n n n,不妨设 n = k ( m + 1 ) + r n=k(m+1)+r n=k(m+1)+r,其中 0 ≤ r < m + 1 0\leq r<m+1 0r<m+1。由带余数除法知识可知,满足上面条件的整数 k k k r r r是唯一的。仍分为两种情形讨论:
  • r = 0 r=0 r=0,此时 n = k ( m + 1 ) n=k(m+1) n=k(m+1)。不妨设先手方取出了 x x x个物品,后手方只需要取出 m + 1 − x m+1-x m+1x个物品,使得 n = ( k − 1 ) ( m + 1 ) n=(k-1)(m+1) n=(k1)(m+1),故使得 n n n仍然整除 m + 1 m+1 m+1且后手方仍是后手方。如此操作下去,直到 n = m + 1 n=m+1 n=m+1的简单情形。这就说明了 n n n可被 m + 1 m+1 m+1整除时是后手方的制胜位置。
  • k ≠ 0 k\neq 0 k=0,此时 0 < r < m + 1 0<r<m+1 0<r<m+1。故此时先手方可以取走 r r r件物品,使得 n n n可被 m + 1 m+1 m+1整除,且自身处于后手方位置,再由上面的讨论可知有必胜策略。这就说明了 n n n不可被 m + 1 m+1 m+1整除时是先手方的制胜位置。

策略实现
结合上述分析,玩家在巴什博弈中应当按照下面的策略拿取物品:

  1. n n n整除 m + 1 m+1 m+1的余数 r r r,若 r ≠ 0 r\neq 0 r=0则拿取r件物品;
  2. 若则从 1 1 1 m m m中任取拿取数量,此时已经处于必败位置,只能希望对方犯错。

本文转载自:百度百科-巴什博弈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值