杭电ACM课件:组合博弈入门——简单游戏理论
需积分: 9 8 浏览量
更新于2024-07-11
收藏 386KB PPT 举报
"杭电ACM课程的第三部分主要讲解了组合博弈的入门知识,包括Graph Games和Sprague-Grundy函数的概念。课程由杭州电子科技大学的刘春英教授讲授,探讨了一种简单的取子游戏,即组合游戏的一个实例,并深入介绍了必败点和必胜点的概念以及它们的特性。课程还提到了取子游戏的算法实现步骤,并提供了课内和实战练习,如Subtraction Games和kiki's game,以帮助学生理解和应用所学知识。"
在组合博弈中,游戏的基本结构通常包括两个玩家,一个有限的操作状态集合,以及按照特定规则轮流进行的操作。游戏的目标是通过策略使自己成为最后一个执行操作的人,从而获胜。在本课中提到的取子游戏为例,玩家需要在有限的扑克牌中按照特定规则取牌,最后取完牌的人为胜者。
必败点(P点)和必胜点(N点)是组合游戏中关键的概念。必败点指的是当前玩家无论怎么操作,都无法避免让对手在下一轮取得胜利的位置。相反,必胜点则是下一个玩家总能找到一种策略使自己获胜的位置。所有的终结状态都是必败点,因为一旦到达这些点,游戏结束且当前玩家无法再操作。从必胜点出发,玩家总能通过一次操作转移到必败点,而从必败点出发,玩家无论如何操作都会进入必胜点。
为了确定游戏中的必败点和必胜点,可以采用以下算法:
1. 首先,标记所有终结状态为必败点。
2. 接着,检查所有可以从当前位置一步操作到达必败点的位置,并将其标记为必胜点。
3. 如果一个位置的所有一步操作都只能进入必胜点,那么这个位置也被标记为必败点。
4. 重复步骤2和3,直到没有新的必败点出现,算法结束。
课程中还给出了Subtraction Games的示例,它是一种允许玩家在一系列数字中选择减去特定数值的游戏。在这个游戏中,玩家需要根据 subtraction set(例如 {1, 3, 4})来决定每次减去的数值,目标是使对手无法进行操作。课件展示了游戏的不同状态(P点和N点)。
此外,课程提到了Nim游戏,这是一种经典的组合博弈,通常涉及多堆物品,玩家可以移除任意堆中任意数量的物品,但必须移除。Nim游戏有着深入的理论基础,其解决方案可以通过计算nim-sum来确定。
这门课程为学生提供了一个了解和解决组合博弈问题的基础,通过实际的游戏和练习,帮助他们掌握必胜策略和分析游戏状态的方法。
2019-12-15 上传
2009-02-08 上传
2009-12-29 上传
2022-09-21 上传
2021-09-29 上传
2022-09-24 上传
点击了解资源详情
点击了解资源详情
我欲横行向天笑
- 粉丝: 28
- 资源: 2万+
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常