组合博弈探秘

组合博弈探秘

简介:对组合博弈的一些探究,不一定准确。

基本介绍

2人进行游戏对局,分先后手,求先手必胜还是必败。如取石子等。
限制1:无平局。
限制2:有限性,操作数量有限,操作方式有限。

基本定义

定义1:设状态集合为\(G=\{g_i|g_i,i\in N^+\}\)
定义2:设当前状态为\(g_i\),其操作集合为\(F_i=\{f_{ij}|f_{ij},j\in N^+\}\)
定义3:设当前状态为\(g_i\),其后继状态集合为\(H_i=\{h_{p}|h_{p}=f_{ij}(g_i),j\in N^+\}\)
定义4:必胜状态记为\(P\),必败状态记为\(N\)
博弈基本推论1:若\(\forall h_p\in H_i,h_p=P\)\(H_i=\emptyset\),则\(g_i=N\);若\(\exists h_p\in H_i,h_p=N\),则\(g_i=P\)

SG函数

mex函数定义:\(mex(A)=\)非负整数集合A之外的最小非负整数。
SG函数定义:\(SG(g_i)=mex(SG(H_i))\)\(SG(H_i)=\{SG(h_{p})|h_{p}\in H_i\}\)\(SG(\emptyset)=0\)
SG性质1:\(SG(g_i)\in N^0\),且\(SG(g_i)=0\),得\(g_i=N\)\(SG(g_i)\neq 0\),得\(g_i=P\)。反之也成立。
SG推论1:由SG函数定义可知,集合\(\{0,1,2,...,SG(g_i)-1\}\subseteq SG(H_i)\)\(SG(g_i)\notin SG(H_i)\)
SG推论2:由SG推论1可知,若\(SG(f_{ij}(g_i))>SG(g_i)\),则\(\exists f_{pq},SG(f_{pq}(f_{ij}(g_i)))=SG(g_i)\)

异或变换引理

简介:大致为异或和减法的相互转换,异或的一般表达。
引理1:若\(a\in N^0\),则对于\(\forall x\in\{z|z\le a,z\in Z\}\),一定\(\exists b\in N^0\),使得\(a-x=a\oplus b\)
引理2:若\(a\in N^+\),则对于\(\forall x\in\{n|n\le a,n\in N^+\}\),一定\(\exists b\in N^+\),使得\(a-x=a\oplus b\),并且\(a\)二进制第\(u\)位一定为1。其中\(u\)\(b\)二进制最高位所在位数。
引理2证明:易证\(\exists b\)。由\(x\in\{n|n\le a,n\in N^+\}\),知\(x>0\),得\(a>a-x\),即\(a>a\oplus b\)。记\(a\oplus b=a\prime\),由\(u\)\(b\)二进制最高位所在位数,得\(b_u=1,a\prime=a+\sum_{v=1}^{u}{((-1)^{a_v}* b_v* 2^{v-1})}\),其中\(a_v,b_v\)\(a,b\)二进制第\(v\)位。假设\(a_u=0\),得\(a\prime=a+2^{u-1}+\sum_{v=1}^{u-1}{((-1)^{a_v}* b_v* 2^{v-1})}\ge a+2^{u-1}+\sum_{v=1}^{u-1}{(- 2^{v-1})}=a+2^{u-1}-(2^{u-1}-1)=a+1>a\),与\(a>a\prime\)矛盾,所以假设不成立,即\(a_u=1\)
引理3:同引理2可证,若\(a\in N^+\)\(b\in N^+\),并且\(a\)二进制第\(u\)位为1,其中\(u\)\(b\)二进制最高位所在位数,则\(a>a\oplus b\)

SG和运算

SG性质2:\(SG(<g_{k_1},g_{k_2},...,g_{k_n}>)=\oplus_{i=1}^n SG(g_{k_i})\),其中\(g_{k_i}\)\(n\)个相互独立的子游戏\(k_1,k_2,...,k_n\)的状态。\(SG(<g_{k_1},g_{k_2},...,g_{k_n}>)\)表示\(n\)个子游戏整体状态的SG值。

SG和运算证明

证明SG性质2:
1)记\(SG(g_{k_i})=s_i\)\(SG(f(g_{k_i}))=s_i\prime\)\((\oplus_{i=1}^n s_i)\prime=\)进行操作\(f\)后的\((\oplus_{i=1}^n s_i)\)\(S=SG(<g_{k_1},g_{k_2},...,g_{k_n}>)\)\(gk=<g_{k_1},g_{k_2},...,g_{k_n}>\)
2)由SG性质1易知,\(S\in N^0\),若\(S=0\),则\(gk=N\);若\(S\neq 0\),则\(gk=P\)。反之也成立。
3)要证\(S=\oplus_{i=1}^n s_i\),需要先证:证明1,再证:证明2。
4)由证明1得,若\(gk=P\),则\(\oplus_{i=1}^n s_i\neq 0\)直接定义\(S=\oplus_{i=1}^{n} s_i\)(此时两者是否相等应该无所谓)。可得,若\(gk=P\),则\(S=\oplus_{i=1}^n s_i\neq 0\)
5)由证明2得,若\(gk=N\),则\(\oplus_{i=1}^n s_i=0\)。又,若\(gk=N\),则\(S=0\)。可得,若\(gk=N\),则\(S=\oplus_{i=1}^n s_i=0\)

6)综上得证。


证明1:若\(\oplus_{i=1}^n s_i= 0\),则\(gk=N\)
1)先手进行操作,不妨设其操作的是子游戏\(k_n\),进行操作\(f\)后状态为\(f(g_{k_n})\)
2)\(\oplus_{i=1}^n s_i= 0\)等价变换得\(\oplus_{i=1} ^{n}{s_i}=(\oplus_{i=1} ^{n-1}{s_i})\oplus s_{n}=0\)
3)\((\oplus_{i=1} ^{n-1}{s_i})\oplus s_{n}=0\)等价变换得\((\oplus_{i=1} ^{n-1}{s_i})=s_{n}\)
4i)若\(s_n\prime=SG(f(g_{k_n}))>SG(g_{k_n})=s_n\),由SG推论2可得,\(\exists f_{2},SG(f_{2}(f(g_{k_n})))=SG(g_{k_n})=s_n\)。此时后手操作为\(f2\)
4ii)若\(s_n\prime=SG(f(g_{k_n}))<SG(g_{k_n})=s_n\),有\(s_n\prime=s_n-x,x\in\{n|n\le s_n,n\in N^+\}\)。由引理2可得一定\(\exists b\in N^+\),使得\(s_n-x=s_n\oplus b\),并且\(s_n\)二进制第\(u\)位一定为1。其中\(u\)\(b\)二进制最高位所在位数。
5ii)由\(s_n\)二进制第\(u\)位为1,\((\oplus_{i=1} ^{n-1}{s_i})=s_{n}\),可得,\(\exists m,1\le m\le n-1\)\(s_m\)的第\(u\)位为1。
6ii)\((\oplus_{i=1} ^{n-1}{s_i})=s_{n}\)等价变换得\((\oplus_{i=1} ^{n-1}{s_i})\oplus b=s_{n}\oplus b\)
7ii)等价变换得\((\oplus_{i=1}^{m-1}{s_i})\oplus(\oplus_{i=m+1}^{n-1}{s_i})\oplus(s_m\oplus b)=s_{n}\oplus b\),其中\(1\le m\le n-1\)
8ii)由引理3可得,\(s_m>(s_m\oplus b)\)
9ii)由SG推论1可得,\(\exists f2,s_m\prime=SG(f_2(g_{k_m}))=(s_m\oplus b)\)
10ii)综上ii,若\(s_n\prime=SG(f(g_{k_n}))<SG(g_{k_n})=s_n\)对于\(\forall f\),即\(\forall x\),即\(\forall s_n\prime\)\(\exists f2\),使得\((\oplus_{i=1}^{m-1}{s_i})\oplus(\oplus_{i=m+1}^{n-1}{s_i})\oplus(s_m\prime)=s_n\prime\)
5)综上i、ii,对于\(\forall f,\exists f2\),使得\((\oplus_{i=1}^n s_i)\prime\prime=0\)
6)易知,若\(\forall i,1\le i\le n,s_i=0\),即\(\oplus_{i=1}^n s_i= 0\),则\(gk=N\)
7)若\(\oplus_{i=1}^n s_i= 0,s_i\in N^0\),当后手始终按照上述方法进行操作,\(\sum_{i=1}^{n}{s_i}\)严格递减,又由有限性可得:在有限操作次数后,一定会出现\(\forall i,1\le i\le n,s_i=0\),并易证此时是先手操作。得\(gk=N\)
8)综上得证。


证明2:若\(\oplus_{i=1}^n s_i\neq 0\),则\(gk=P\)
1)若\(\oplus_{i=1}^n s_i\neq 0\),由引理和证明1易证\(\exists f,(\oplus_{i=1}^n s_i)\prime=0\),由博弈基本推论1可得,\(gk=P\)
2)综上得证。

NIM问题

题目:有\(n\)堆石头,每堆\(a_i\)个,两人轮流取石头,每次从一堆中取任意个但不能不取,无石头可取的人失败。问先手必胜还是必败。


解法:
\(p_n=\oplus_{i=1} ^{n}{a_i}\)
\(p_n=0\)必败
\(p_n\neq0\)必胜。


解法解释:
\(g_{k_i}\)为第\(i\)堆石头数,易证\(SG(g_{k_i})=a_i\),从而易得解法。

posted @ 2022-05-10 03:20  AIM2019  阅读(40)  评论(0编辑  收藏  举报