博客
关于我
巴什博弈
阅读量:286 次
发布时间:2019-03-01

本文共 677 字,大约阅读时间需要 2 分钟。

巴什博弈:游戏规则与胜利条件

巴什博弈是一种经典的博弈论问题,它以其简单的规则和复杂的策略著称。游戏规则通常是这样的:一堆Initially有n个物品,两名玩家轮流从这堆物品中取走物品。每次取的物品数量必须在1到m个之间(包括1和m)。最后取光者获胜。

理解巴什博弈的关键在于寻找“奇异局”(Nim-losing positions)。奇异局是指当前玩家无论采取什么样的合法移动,对手都能通过适当的策略确保胜利的状态。我们需要通过分析,找出这些必败的位置。

要理解奇异局,我们可以从简单的情况入手。假设物品堆的大小为m+1(其中m是每次可以取的最大数量),那么无论当前玩家取走1到m个物品,对手都可以取走剩下的物品,从而取得胜利。这意味着m+1个物品的堆是必败的位置。

将这一概念推广,我们可以得到所有形如k*(m+1)(k=1,2,3,...)的堆大小都是必败的状态。如果先手的玩家面对这样的堆大小,无论他采取什么样的移动,对手都能将堆大小恢复到另一个k*(m+1)的状态,最终导致先手的失败。

然而,事情并没有这么简单。在实际游戏中,堆的大小通常不是m+1的整数倍,而是加上一个余数r(0 < r < m)。这个时候,聪明的玩家可以采取以下策略:先手玩家首先取走r个物品,使得剩下的物品数量为k*(m+1),这样对手就处于一个必败的状态。因此,初始堆大小如果是k*(m+1)的形式,先手玩家将处于劣势,无法避免失败。

总结来说,巴什博弈的胜利关键在于让对手陷入奇异局。玩家需要通过分析堆的大小和移动策略,找到最佳的起始移动,确保对手无法摆脱被动状态。

转载地址:http://rwlo.baihongyu.com/

你可能感兴趣的文章
Python+SQL实战:京东用户行为数据分析案例解析(下)
查看>>
PYTHON+Twisted+sqlanydb=ABORT()
查看>>
Python函数之返回值、作用域和局部变量
查看>>
Python+统计学 | 探索常用的数据分析统计分布
查看>>
python, selenium中用于切换帧的函数
查看>>
python函数
查看>>
python----线程、进程、协程的区别及多线程详解
查看>>
python---5
查看>>
python---使用celery分布式系统异步发送短信(云通讯)来验证登录
查看>>
python--003--百分号字符串拼接、format
查看>>
Python--10、线程
查看>>
Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
查看>>
python--基本代码规范
查看>>
Python--抽象类接口类
查看>>
PYTHON--欧拉习题二
查看>>
python--高级应用总结
查看>>
python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
查看>>
Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
查看>>
Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
查看>>
Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
查看>>