博客
关于我
巴什博弈
阅读量: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/

你可能感兴趣的文章
python3打开txt文件_使用Python 3从文本文件读取句子并添加到列表中
查看>>
python3爬虫抓取智联招聘职位信息代码
查看>>
Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
查看>>
python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法
查看>>
Python3笔记——IDE的选择
查看>>
python3简单使用requests 用户代理,cookie池
查看>>
Python3组播通信编程实现教程(发送者+接收者)
查看>>
Python3编写网络爬虫10-数据存储方式三-CSV文件存储
查看>>
python3读取redis返回数据带有'b'的问题
查看>>
Python3连接MySQL
查看>>
Python关于isinstance函数的解析 | 附Demo(全)
查看>>
Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
查看>>
python4.0 gil_Python 并发编程系列--1、浅谈GIL历史及对多线程的影响
查看>>
python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
查看>>
Python: AES加密与解密
查看>>
Python: Range() 最大尺寸;动态的还是静态的?
查看>>
Python: Windows下用 multiprocessing 的深坑
查看>>
python:Could not find platform independent libraries <prefix>解决方法
查看>>
Python:datetime tzinfo 时区名称文档
查看>>
Python:deepcopy(list) vs new_list = old_list[:]
查看>>