暑假集訓小結:
(一)博弈論基礎:
- 巴什博弈
- 威佐夫博弈
- Nim博弈
- sg函數的求法
1.巴什博弈:
定義:
只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取一個,最多取m個。最後取光者得勝。
分析:
當遊戲只剩下m+1個時,無論當前玩家拿走多少個物品,對手一定能一次取走所有物品,所以在剩下m+1個物品時,對手一定能夠獲勝。
因此局面可分爲兩種情況:n = (m+1) * r + s
(1) 0 < s <= m : 只要先取者取走s個石子。當後取者取走k個石子的時候,先取者只要取走m+1-k個石子使場上石子數爲(m+1)的整數倍。因此,先取者一定獲勝。
(2) s=0 :類似上面的分析方法。先取者一定失敗。
代碼示例:
int n,m;
if(n%(m+1)==0)
後手勝;
else
先手勝;