【原创】(个人向)(偷懒向)四个经典的博弈模型

博弈论小结

说在前面

首先,你们这些绝顶聪明的人找我干嘛?我这种蒟蒻能要帮你们做什么?
其次,既然都有了我拼命想一想就能想出来的先手必胜后手必胜策略了,那些绝顶聪明的人知道了谁必胜为什么还要赌?
可能这就是我这种不是绝顶聪明的人不能理解的境界吧。

好吧,以上是玩笑话。
那么, t h e   g a m e   i s   a f o o t ! \xcancel{the~game~is~afoot!} the game is afoot!

Bash 巴什博奕

描述

有一堆共n个石头,两个人交替取石头,每人每次可以取1~m颗石头,谁不能取了谁就输了。

分析

从最简单的开始考虑,如果 n ≤ m n\leq m nm,那么先手直接取完就赢了,因为这样对面就面对着只剩 0 0 0颗石头的局面,他取不了了他输了。
如果 n n n只比 m m m大一点比如 n = m + 1 n=m+1 n=m+1,那么先手不论怎么取都取不完,而后手一定可以直接取完,所以先手必败。
当然这种情况对于 n n n再大一点,比如 n = m + 2 n=m+2 n=m+2就反过来了,我们先手只需要取 1 1 1颗石头,就把 n ′ = m + 1 n'=m+1 n=m+1颗石头的局面给了对面,对面必输,所以我们先手必胜。
于是我们的目标从“留给对面 0 0 0颗石头的局面我们就赢了”变成了“留给对面 m + 1 m+1 m+1颗的石头的局面我们就赢了”,当然,如果 0 0 0颗或者 m + 1 m+1 m+1颗的局面在我们手上我们就输了。
进行类似的讨论,发现要想留给对面 m + 1 m+1 m+1颗石头,我们只需要给对面 2 ∗ ( m + 1 ) 2*(m+1) 2(m+1)颗石头即可;想留给对面 2 ∗ ( m + 1 ) 2*(m+1) 2(m+1)颗石头,只需要留给对面 3 ∗ ( m + 1 ) 3*(m+1) 3(m+1)颗石头……
所以结论就是,如果 n n%(m+1)==0 n,我们就必败,否则我们必胜。因为必胜的那一方只需要随时随地留给对面 k ∗ ( m + 1 ) k*(m+1) k(m+1)颗石头就行了,而这非常容易。

Nim 尼姆博弈

描述

有n堆石子,每堆有若干个,两人轮流取,每人每次可以取一堆石头里的任意颗,不能不取,谁取不了就输了。

分析

正解是看这些堆石子数量的异或和是否等于零,因为最终态的异或和是等于0的,如果始态的异或和为0,对面不管怎么操作,都会改变这个异或和,你再操作操作把异或和再变为零即可。

Wythoff 威佐夫博弈

描述

有两堆若干个石子,每人每次可以在一堆取任意颗(>=1)或在两堆同时取相同的任意个(>=1)。

说在中间

博主太懒了。

分析

orz
orz

Fibonacci 斐波那契博弈

cai

SG函数

orz

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值