博弈论结论总结

  1. Nim博弈
      有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,拿走最后一颗石子的人赢。
    结论

    • 假设当前有 n n n堆石子,每堆石子的数量分别为 a 1 , a 2 , ⋯   , a n a_1, a_2, \cdots,a_n a1,a2,,an。则先手必胜当且仅当 n i m = a 1 ⊕ a 2 ⊕ ⋯ ⊕ a n ≠ 0 nim = a_1\oplus a_2 \oplus \cdots \oplus a_n \neq 0 nim=a1a2an̸=0
    • 将局势由 N − p o s i t i o n N-position Nposition转移到 P − p o s i t i o n P-position Pposition的方法:设 n i m nim nim最高位的 1 1 1在从右往左数第 i i i位上(从 0 0 0开始),则只需要将 a a a中一个第 i i i位为 1 1 1的数变为 a ⊕ n i m a \oplus nim anim即可。
  2. 巴什博奕
      有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走 1 − m 1-m 1m颗”,拿走最后一颗石子的人赢。
    结论

    1. 假设当前有 n n n堆石子,每堆石子的数量分别为 a 1 , a 2 , ⋯   , a n a_1, a_2, \cdots,a_n a1,a2,,an。令 b i = a i m o d    ( m + 1 ) b_i = a_i \mod (m + 1) bi=aimod(m+1),则先手必胜当且仅当 n i m = b 1 ⊕ b 2 ⊕ ⋯ ⊕ b n ≠ 0 nim = b_1\oplus b_2 \oplus \cdots \oplus b_n \neq 0 nim=b1b2bn̸=0
  3. 威佐夫博弈
      有两堆各若干个物品,两人轮流从任意一堆中取至少一个或同时从两堆中取同样多的物品,规定每次至少去一个,多者不限,最后取光者得胜。
    结论

    • 奇异局势: ( a k , b k ) (a_k, b_k) (ak,bk) a k a_k ak为前面没有出现过的最小自然数, b k = a k + k b_k = a_k + k bk=ak+k
    • 先手必胜当且仅当当前局势为非奇异局势。
    • 对于任给的一个局势 ( a , b ) (a,b) (a,b),判断它是否为奇异局势有公式: a k = ⌊ k ⋅ ( 1 + 5 ) 2 ⌋ , b k = a k + k a_k = \left \lfloor \frac{k \cdot(1 + \sqrt{5})}{2} \right \rfloor, b_k = a_k + k ak=2k(1+5 ),bk=ak+k。可以先求出 j = ⌊ k ⋅ ( 5 − 1 ) 2 ⌋ j = \left \lfloor \frac{k \cdot(\sqrt{5} - 1)}{2} \right \rfloor j=2k(5 1),若 a = ⌊ j ⋅ ( 1 + 5 ) 2 ⌋ a = \left \lfloor \frac{j \cdot(1 + \sqrt{5})}{2} \right \rfloor a=2j(1+5 ),那么 a = a j , b j = a j + j a = a_j, b_j = a_j + j a=aj,bj=aj+j,若不等于,那么 a = a j + 1 , b = a j + j + 1 a = a_j + 1, b = a_j + j + 1 a=aj+1,b=aj+j+1,若都不是,那么就不是奇异局势。
    • 任何自然数都包含在一个且仅有一个奇异局势中。
    • 任意操作都可将奇异局势变为非奇异局势。
    • 采用适当的方法,可以将非奇异局势变为奇异局势。
  4. anti-Nim
      有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,拿走最后一颗石子的人输。
    结论
    先手必胜当且仅当:

    1. 所有堆的石子数量均不大于 1 1 1,且游戏的 S G SG SG值为 0 0 0
    2. 存在石子数量大于 1 1 1的堆,并且游戏的 S G SG SG值不为 0 0 0
  5. Every-Nim
      Every-SG游戏规定,对于所有还没有结束的子游戏,游戏者必须对该子游戏进行操作。除此之外,其他规则与普通SG游戏相同。
    结论
    对于SG值为0的点,我们需要知道最快几步能将游戏带入终止状态;对于SG值不为0的点,需要知道最慢几步会被带入终止状态。
    我们用 s t e p step step来表示这个步数,
    s t e p ( v ) = { 0                                   为 终 止 状 态 m a x ( s t e p ( u ) ) + 1      S G ( V ) > 0 ∧ u 为 v 的 后 继 状 态 ∧ S G ( u ) = 0 m i n ( s t e p ( u ) ) + 1       S G ( v ) = 0 ∧ u 为 v 的 后 继 状 态 step(v) = \begin{cases} & 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 为终止状态 \\ & max(step(u)) + 1 \ \ \ \ SG(V) > 0 \wedge u为v的后继状态 \wedge SG(u) = 0 \\ & min(step(u)) + 1 \ \ \ \ \ SG(v) = 0 \wedge u为v的后继状态 \end{cases} step(v)=0                                 max(step(u))+1    SG(V)>0uvSG(u)=0min(step(u))+1     SG(v)=0uv先手胜当且仅当最大步数为奇数。

  6. Moore’s Nimk
    n n n堆石子,每次至少选 1 1 1堆,最多选 m m m堆,每堆都可以拿任意正数个石子。
    结论:将每堆石子的数量写为二进制形式,然后将每一位上的1数量相加后模 ( m + 1 ) (m + 1) (m+1),若每一位上的 1 1 1的数量经过计算后都为 0 0 0,则为必败态。(Nim游戏即为m = 1时的特殊情况)。

  7. 阶梯Nim
      在阶梯的每一层上有若干个石子,每次可以选择任意层的任意个石子将其移动到下一层,最后不能移动的人输。
    结论:对所有奇数阶梯的石子数量做异或运算,若结果为 0 0 0则为必败态。

  8. Multi-SG游戏
      在符合规则的前提下,一个单一的子游戏的后继可以为多个子游戏。其它规则与SG游戏相同。
    结论:
    S G ( x ) = { x − 1 ( x m o d    4 = 0 ) x ( x m o d    4 = 1 ∨ 2 ) x + 1 ( x m o d    4 = 3 ) SG(x) = \begin{cases} x - 1 & ( x \mod 4 = 0) \\ x & (x \mod4 = 1 \vee 2) \\ x + 1& (x \mod 4 = 3) \end{cases} SG(x)=x1xx+1(xmod4=0)(xmod4=12)(xmod4=3)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值