巴什博弈
一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。
先手必胜为1
有两种情况:
- n<=m 先手一次取完 必胜1
- n>m 先手一次取不完
- 剩余 <= m 对方一次取完 先手输0
- 剩余 > m 重复状态
尽可能避免 剩余 <= m让自己输的情况。
那么:
n=0时,取的人必输,n=1~m时,取的人必赢;
n=m+1时,取的人必输0 ;
我们让下一个取的人到必输0状态,那么自己就是必胜1状态
只要下一步能走到必输0状态,意味着对手下个状态必输,当前步是必胜1状态
下一步只能走到1状态,意味着对手下个状态必胜,则自己当前步必输0
n | 先手情况 |
---|---|
0 | 0 |
1~m (m个) | 1 |
m+1 | 0 |
m+2~2m+1(m个) | 1 |
2m+2 | 0 |
规律:k(m+1)为0 ,其余为1
威佐夫博弈
有两堆物品a,b,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
(a,b)且a < b | 先手情况 |
---|---|
(0,0) | 0 |
(0,1)or(1,1)or(0,k)or(k,k) | 1 |
(1,2) | 0 |
(1,3)or(1,k)or(k,k+1) | 1 |
上述规律我们找到了(0,0),(1,2)这两个必败点。
我们称以上状态是奇异状态:(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)……
奇异状态满足以下规律:
a = [ k * (1 + √5) / 2 ] b = a + k
尼姆博弈
有三堆物品a,b,c,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
同样的我们开始打表找规律:
(a,b,c) | 先手情况 |
---|---|
(0,0,0) | 0 |
(a,0,0)or(0,b,0)or(0,0,c) | 1 |
(0,1,1) | 0 |
(0,n,n) | 0 |
解释(0,n,n)对手只需拿走一样多少的物品,最终会到(0,1,1)状态
(1,2,3)也是奇异局势
规律:
按位异或:(1,2,3)->(01,10,11)
01
10
11
——
00
对任何奇异局势(a,b,c)都有:a^b^c=0