博弈论策略

       规则:有N个棋子,有两个玩家。每个玩家可以从剩下的棋子中取走1-3个。最后取走剩下所有的棋子着为赢家。
       例:(引用原文)有21个棋子,有A,B两个玩家。A先开始,请问A要怎么做才能确保自己一定赢?

       
       解答:首先分析问题,要确保自己最后能取走剩下的所有棋子,则必须要确保最后剩下的棋子数为:1~3。所以B最后一次取的时候,一定要为4,(B取1==剩下3,取2==剩下2,取3==剩下1)。
       怎么才能剩下4个给B取呢?那只有当A取时,要确保棋子数为:5~7。
       有点像分析程序递归问题:先找出口,然后从最后面开始往前面分析。
       再上层,要确保B能剩下5~7个棋子,则必须B取时要为8,(B取1==剩下7,B取2==剩下6,B取3==剩下5);
       以此类推,总结:要确保B在取时棋子数为4的倍数。
       所以开始A要取1个,B则从20个中取。可能取走1,2,3个===》剩下17,18,19个
      A再取走1~3个,只要确保剩下为16个就可以。=======》类推,则最后B只能从4个中取了,所以A一定获胜。
 

      
      扩展:
      1.假设是最后取走剩下所有的棋子为输,还是A先取,那A该怎么做才能赢?分析方法雷同,只是最后给B留下的棋子数一定要是1,然后再一层一层的往上推。
       2.假设有三个人参加博弈,其他规则一样:最后取走剩下所有的棋子为赢(输),还是A先取,那A该怎么做才能赢?这个有点困难,至少我现在还没解决。后期解决了再贴上来。


注:原文在《 妙趣横生博弈论》





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值