「博弈论」王丙伦课程
热身题
尝试寻找单次变化递推式,设第\(i\)个圆为\(X^2+Y^2=R^2\),在圆\(i\)内随机选择一点\((x,y)\)
设\(x^2+y^2=r^2\)
综上
巴士博弈
只有一堆\(n\)个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取\(m\)个,最后取光者胜
当\(n\%(m+1)==0\)时,先手必输,否则先手必胜
证明:当\(n\%(m+1)==0\)时,无论先手取多少\(s\),后手都可以取\(m+1-s\)来保证剩余数量永远是\((m+1)\)的倍数
此时是一个先手必败态,简称必败态
当\(n\%(m+1)\neq 0\)时,先手可以取走\(n%(m+1)\)来让游戏进入到必败态从而先手获胜
威佐夫博弈
两人轮流取两堆筹码,可以从其中一堆中取走任意个筹码,也可以从两堆中取走相同数量的筹码,最后取完的一方获胜
假设\((0,0)\)是必败态
那么\((0,k),(k,k),(k,0)\)是必胜态
递推递推懒得加图了
设必败态为\((a_1,b_1),(a_2,b_2)……(a_n,b_n)\)
其中\(a_i<b_i\)
那么\(b_i=a_i+i\)
通项公式证明:
假设\(W\)是必败点集,\(W\)中的点有三个条件
\(1.W\)中的点不能一步走到\((0,0)\)
\(2.W\)中的任何一个点不能一步变成\(W\)中的另外一个点
\(3.W\)之外的任何一个非零数对可以一步走到\((0,0)\)或\(W\)中的点对
\(W\)满足三个性质就可以刚好满足要求:
\(1.W\)不重不漏的包含每个整数
\(2.W\)中每对数字差值为\(1,2,3……\)
\(3.W\)中各项里较小数依次递增
条件\(1、2\)很好满足
条件\(3\),设\(W\)外的数对\((x,y),x<y\),根据性质\(1\),\(W\)中存在一个数对包含\(x\)
若\(W\)中数对为\((a,x),a<x\),那么\(y>x>a\),\(y\)一定能变成\(a\)
若\(W\)中数对为\((x,b),x<b\),此时若\(y>b\)那么\(y\)一定能变成\(b\),若\(y<b\),说明\(y-x=d<b-x=d',W\)中存在某个数对\((a',b')\)满足\(b'-a'=d\),而且\(x>a',b>b'\)
由于\(a'<x,a'+d=b',b'<y\),所以可以让\((x,y)\)减去某个相同数字变成\(W\)中的数对
证明\(W(a_i,b_i)\)满足三个性质:
性质二:
性质三白给
性质一:
\(Beatty-Rayleigh\)定理:
如果有无理数\(α\)和\(β\)
满足\(\frac{1}{α}+\frac{1}{β}=1\)
那么\(α、2α……\)和\(β,2β……\)不重不漏地包含每个整数
有\(\frac{1}{\phi}+\frac{1}{\phi^2}=1\)
证明定理:(原视频证明疑似有大锅,证明来自百度百科)
方法一:设\(P=\{\lfloor α \rfloor,\lfloor 2α \rfloor,……\},Q=\{\lfloor β \rfloor,\lfloor 2β \rfloor,……\}\)
\(1.\)证明\(P∩Q=Ø\)
反证:若存在\(\lfloor nα\rfloor = \lfloor mβ \rfloor=k\),即 \(k-1<nα、mβ<k\)
同除\(n\)或\(m\)取倒数
则\(\frac{n}{k+1}<\frac{1}{α}<\frac{n}{k},\frac{m}{k+1}<\frac{1}{β}<\frac{m}{k}\)
相加得
\(\frac{n+m}{k+1}<1<\frac{n+m}{k}\)
\(k<n+m<k+1\)
与\(n、m\)是整数矛盾
\(2.\)证明\(P∪Q=N^{+}\)
反证:假设\(k∈N^{+}\)且\(k∉P∪Q\)
则存在\(n,m\)使得\([nα]<k<[(n+1)α],[mβ]<k<[(m+1)β]\)
所以\([nα]<k≤[(n+1)α]-1<(n+1)α-1\)
即\(\frac{n}{k}<\frac{1}{α}<{n+1}{k+1}\)
两式相加
\(\frac{n+m}{k}<1<\frac{n+m+2}{k+1}\)
即\(n+m<k<k+1<n+m+2\)与\(n,m,k\)都是正整数矛盾
博弈图和状态
状态三连
\(1.\)任何游戏的终点的必败态
\(2.\)至少有一种操作必胜态可以走向必败态
\(3.\)无论怎么操作必败态只能走向必胜态
如果将 每个状态视为一个节点,再从每个节点向它的后继状态连边,就可以得到一个博弈状态图
nim博弈
\(n\)堆物品,每堆\(a_i\)个,两个玩家轮流取走任意一堆任意个物品,不能不取,取走最后一个物品的人获胜
所有石子堆个数异或和为\(0\)后手胜,不为\(0\)先手胜
不为\(0\)一定能移动到为\(0\),为\(0\)一定不能走到为\(0\)
\(a_i\)中至少有一个在\(x\)二进制的最高位是\(1\)
设\(y^a_i=x\),则\(y=x^a_i\)
其中\(a_i\)与\(x\)不同的最高位被消掉了,所以\(y\)一定小于\(a_i\)
公平组合游戏:
定义:
两个人参与,轮流做决策,双方均知道游戏的完整信息
任意一个游戏者在某一个确定状态可以作出的决策只与当前集合状态有关,跟游戏者无关(大部分棋类游戏都不是公平组合游戏,因为不能使用对方棋子)
游戏中同一个状态不可能多次抵达,游戏以玩家无法行动为结束,且游戏一定会在有限步后以非平局结束
公平组合游戏大部分可以转化成有向图游戏
SG函数
定义\(mex\)函数的值为不属于集合\(S\)中的最小非负整数,即
对于状态\(x\)和它的所有\(k\)个后继状态\(y_1,y_2……y_k\),定义\(SG\)函数
\(nim\)游戏是\(n\)个石子堆游戏的组合游戏,每个游戏把它的\(SG\)值异或得到了总游戏的异或值
SG定理
对于\(n\)个有向图游戏组成的组合游戏,设他们的起点是\(s_1,s_2,……,s_n\),则当且仅当
时,游戏先手必胜,同时,这是这一组合游戏的游戏状态\(x\)的\(SG\)值
证明:
若\(SG(x)=k\),当玩家移动到\(SG(x')=j>k\)时,后手可以将\(SG(x')\)移动回\(SG(x^{''})=k\)的状态,无意义
若玩家移动到\(SG(x')=j<k\)的状态时,类似\(nim\)游戏,可以采取让几个游戏状态的\(SG\)异或之后等于零的策略来取胜
对称构造
\(n\)个硬币,围成一圈,每次操作只能取\(1-k\)个连续的硬币,取完获胜
\(1.\)\(k≥n\),先手胜
\(2.\)\(k=1,n\)分奇偶
\(3.n>k\),后手胜
前两个不用分析,第三条对称构造
如果对手拿了超过\(n\)的一半,后手可以直接拿掉
如果对方拿了圆上某个区间,后手可以拿圆上对称的部分
如果不对称(\(n\)是奇数)可以补成对称
阶梯博弈
每层台阶上有一定的石子,每次操作可以把一层台阶上任意多个石子移动到低一层,最后一次移动的获胜
台阶分为两类,奇数层和偶数层,偶数层完全没有用
因为把偶数层移动到奇数层后手可以移动回偶数层
奇数层石子异或和为\(0\)先手胜,否则后手胜
树上阶梯游戏:根据树的深度阶梯游戏
树删边博弈
考虑叶子节点的\(SG\)值为\(0\),非叶子节点的\(SG\)值等于儿子们的\(SG\)值\(+1\)的异或和
证明:
如果树是一条链就是单堆尼姆游戏,此时一个节点的\(SG\)值就是儿子\(SG\)值\(+1\)
变成树后,一个节点的每个子树的游戏都是独立的,每条子树再加上连向根节点的一条边等于在子树游戏的\(SG\)值基础上加了一条边,即\(SG+1\)
其他证明:归纳法、克朗原理
图删边博弈
根据对称性构造
偶环等效于一个点
奇环等效于一个点加一条边
由此变成树删边游戏
二分图博弈
一个二分图,每次一个人沿边移动棋子,棋子呆过的点不能再走
若二分图最大匹配一定包含起点,那么先手必胜,否则后手必胜