博弈论
博弈论
本篇几乎全文摘自 OI Wiki - 公平组合游戏 及学长的 PPT(
公平组合游戏
- 公平组合游戏的定义如下:游戏有两个人参与,二者轮流做出决策,双方均知道游戏的完整信息;
- 任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关;
- 游戏中的同一个状态不可能多次抵达,游戏以玩家无法行动为结束,且游戏一定会在有限步后以非平局结束。
- 公平游戏具有一个重要的性质:如果一个游戏者能够将状态A变为状态B,那么另外一个游戏者必然也能实现这样的操作。
有向图游戏
- 任何一个公平组合游戏都可以通过把每个局势堪称一个顶点,对每个局势和它的子局势连一条有向边来抽象成这个"有向图游戏"。
一些概念
-
必胜态:先手必胜的状态
必败态:先手必败的状态
-
没有后继状态的状态是必败态。
一个状态是必胜态当且仅当存在至少一个必败态为它的后继状态。
一个状态是必败态当且仅当它的所有后继状态均为必胜态。
函数
- 定义
的值为不属于集合 中的最小非负整数,即
SG 函数
-
对于状态
和它的所有 个后继状态 ,定义
SG 定理
-
对于
个有向图游戏组成的组合游戏,设它们的起点分别为 ,则有定理:当且仅当
时,这个游戏是先手必胜的。同时,这是这个组合游戏的游戏状态的 SG 值。
SG 定理的性质
-
所有终结点对应的顶点,其
值为 ,因为它的后继状态为空集。即:所有的终结点都是必败点。
-
对于一个
的顶点 ,它的所有后继都无法满足 。即:无论如何操作,从必败点都只能进入必胜点。
-
对于一个
的顶点,必定存在一个后继点 满足 。即:从任何必胜点出发,至少有一种方法可以进入必败点。
SG 定理的应用
SG 定理适用于 任何公平的两人游戏 , 它常被用于决定游戏的输赢结果。
计算给定状态的 Grundy 值的步骤一般包括:
- 获取从此状态所有可能的转换;
- 每个转换都可以导致 一系列独立的博弈(退化情况下只有一个)。计算每个独立博弈的 Grundy 值并对它们进行 异或求和。
- 在为每个转换计算了 Grundy 值之后,状态的值是这些数字的
值。 - 如果该值为零,则当前状态为输,否则为赢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库