首页 > 其他分享 >博弈论学习笔记

博弈论学习笔记

时间:2024-08-23 21:53:09浏览次数:6  
标签:游戏 必败 text 博弈论 笔记 后继 学习 必胜 SG

博弈论学习笔记

一.公平组合游戏(Impartial Game)

公平组合游戏满足以下性质:

  • 决策公平(双方操作的集合是一样的)
  • 无隐藏信息(双方均知道游戏的所有信息)
  • 无随机部分
  • 无平局

有固定的结论是,若双方都绝顶聪明,对于固定的状态 \(G\),能判断其是必胜还是必败态。

二.巴什博弈(Bush Game)

只有一堆 \(n\) 个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取 \(m\) 个.最后取光者得胜.

这里首先定义必胜态:先手必胜的状态。必败态:先手必败的状态。显然,若一个状态能到达的状态都是必胜态,那么它是必败态,若一个点到达的状态中有至少一个必败态,那么它是一个必胜态。

对于巴什博弈,显然剩余 \(1\) 到 \(m\) 个的状态均为必胜态,\(m+1\) 个为必败态,考虑对于 \(m+2\) 个到 \(2m+1\) 个,都可以通过一次操作转移为 \(m+1\) 个,所以它们均为必胜态,以此类推,可知 \(n\) 个式子,若 \(n \bmod (m+1) = 0\) 则为必败态,否则为必胜态。

三.尼姆游戏(Nim Game)

有 \(n\) 堆石子(每堆石子数量小于 \(10^4\)),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。

结论:所有堆石子的异或和为 \(0\) 则先手必败,否则先手必胜。

数学归纳可证。

四.\(\text{SG}\) 函数

博弈图

对于一个游戏,将每个状态设为一个点,每个点向它所有的后继状态连边,这样形成的图叫做博弈图,如下图是 \(\text{Nim}\) 游戏一堆石子的博弈图:

pkq1Sn1.png

定义一个点的 \(\text{SG}\) 函数是它所有后继的 \(\text{Mex}\) 值,显然必败态的 \(\text{SG}=0\)。一个状态为必胜态当且仅当其 \(\text{SG} \neq 0\),且后继中至少存在一个点 \(\text{SG}=0\)。一个状态为必败态当且仅当 \(\text{SG}=0\),且后继中不存在一个点 \(\text{SG}=0\)

SG 定理

对于若干个子游戏 \(X_1,X_2,...,X_n\) 组成的局面 \(X\),其

\[SG(X)=SG(X_1) \oplus SG(X_2) \oplus ... \oplus SG(X_n) \]

当 \(SG(X) \neq 0\) 时,先手必胜,否则先手必败。

证明:

令 \(SG(X')\) 表示一次操作后的状态。

当 \(SG(X)=0\) 时,任何操作一定使得 \(SG(X') \neq 0\) ,符合必败态的所有后继一定为必胜态。

当 \(SG(X) \neq 0\) 时,可以操作二进制最长的数使得 \(SG(X')=0\),符合必胜态一定存在必败态后继。

得证。

显然对于 \(\text{Nim}\) 游戏,\(SG(x)=x\),所以状态的 \(\text{SG}\) 为石子个数的异或和。

SG 定理适用于任何公平的两人游戏。

Anti-SG(SJ 定理)

定义最后一个不能操作的人输,其他条件与 \(\text{SG}\) 游戏相同。

先手必胜当且仅当

  1. 游戏值不为 \(0\) 且游戏中某个单一游戏的函数大于 \(1\)。
  2. 游戏函数为 \(0\) 且游戏中没有单一游戏的函数大于 \(1\)。

证明同 \(\text{SG}\)。只是分类讨论比较复杂。

Multi-SG

\(\text{Multi-SG}\) 游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏。

根据 \(SG\) 定理可知这多个单一游戏的 \(SG\) 为它们的异或和,将它们的异或和也作为一个后继的 $SG $ 值计算 \(\text{Mex}\) 即可。

特别地,对于 \(\text{Multi-Nim}\),存在以下结论:

\(SG(x)=\begin{cases}x-1& x \bmod 4=0\\x& x \bmod 4 = 1 \lor 2\\x+1& x \bmod 4 =3\end{cases}\)

Every-SG

给定一张无向图,上面有一些棋子,两个顶尖聪明的人在做游戏,每人每次必须将可以移动的棋子进行移动,不能移动的人输

在 \(SG\) 游戏的基础上,规定对于还没有结束的单一游戏,游戏者必须对该游戏进行一步决策。

显然有贪心:对于一个单一游戏,必胜者一定想尽量拖延时间,必败者会尽力速战速决。

所以可以多处理一个 \(step(X)\),若 \(SG(X)=0\),\(step(X)\) 为先手最快结束的步数,否则为先手最慢结束的步数,显然对于所有单一游戏的 \(step\) 取 \(\max\),若 \(\max\) 为奇数则先手必胜,否则先手必败。

\(step\) 可以很简单的 \(\text{DP}\) 求出。

标签:游戏,必败,text,博弈论,笔记,后继,学习,必胜,SG
From: https://www.cnblogs.com/Aurora-Borealis-Not-Found/p/18377155

相关文章

  • Java基础学习篇:switch条件语句进阶(最详细版)
    ......
  • 一门多范式的编程语言Scala学习收尾-函数的使用
    4、集合(接着上次的集合继续学习)4.4可变集合1、ListBuffervallistBuffer1:ListBuffer[Int]=newListBuffer[Int]println(s"$listBuffer1")listBuffer1.+=(11)listBuffer1.+=(22)listBuffer1.+=(33)listBuffer1.+=(11)listBuffer1.+=(55)listBuffer1.+=(22)listBuffe......
  • 学习笔记---并查集
    并查集并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。(1)朴素并查集:intp[N];//存储每个点的祖宗节点//返回x的祖宗节点intfind(in......
  • CMake构建学习笔记1-概述
    CMake可以说已经是C/C++构建的事实标准了,目前绝大多数的C/C++项目都已经采用CMake进行构建,好处至少有两点:一个是跨平台,另一个是方便依赖库引入。不过笔者认为,像CMake这种工具其实也没必要特意学习,说到底它也不过是方便程序员使用的工具,没有它程序员也能进行C/C++程序的构建,只不过......
  • 史上最牛的 权限系统,如何设计? 来了一个 Sa-Token学习圣经
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • Java中Object类的学习
    Object类目录Object类object的介绍object类提供了十一个方法object的介绍Object类是Javajava.lang包下的核心类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类;以下两种类的定义的最终效果是完全相同的:classPerson{}classPe......
  • 机器学习—KNN算法-分类及模型选择与调优
    KNN算法-分类样本距离判断:欧氏距离、曼哈顿距离、明可夫斯基距离KNN算法原理:        K-近邻算法(K-NearestNeighbors,简称KNN),根据K个邻居样本的类别来判断当前样本的类别;如果一个样本在特征空间中的k个最相似(最邻近)样本中的大多数属于某个类别,......
  • 程序员的成长之路:平衡编码工作与持续学习
    目录一、引言1.1程序员面临的挑战与机遇1.2日常工作与提升自我学习的矛盾二、高效编码习惯与时间管理技巧2.1模块化设计与代码复用2.2代码质量管理与技术债务的减少2.3使用合适的工具和技术栈2.4时间管理技巧2.4.1番茄工作法2.4.2时间块规划与任务优先级2.......
  • 如何学习单片机:从入门到精通的全面指南
    摘要本文旨在为初学者提供一份系统的单片机学习指南,涵盖了从基础知识到进阶应用的各个方面。文章首先介绍了单片机的基本概念和架构,帮助读者理解单片机的工作原理和常见的单片机型号。接着,文章详细讲解了如何选择适合的单片机及其开发工具,并提供了一些入门和进阶学习的实用建......
  • C++ STL源码个人学习与分析记录 ——空间配置器(allocator)
    STL源码个人学习与分析记录——空间配置器(allocator)1.为什么需要空间配置器?2.SGI-STL空间配置器的实现2.1一级空间配置器:malloc_alloc_template2.2二级空间配置器:default_alloc_template2.2.1.内存池技术2.2.2.自由链表(free-list)2.2.3Union2.3二级空间配置器的......