1.由兩名玩家組成。
2.遊戲的狀態為有限的。
3.兩人輪流走,當有一玩家不可繼續時遊戲結束。
1.問題:一堆n個物品,兩人輪流取(1~m個),取光者勝。
2.同餘定理:n=k*(m+1)+r,先手取走r個,無論後手取走多少個,只要先手取的數目和為(m+1),則先手必贏。
//分析:
(1)n<=m時,先手必贏。
(2) n=m+1時,無論先手拿多少個,剩餘的一定大於1小於m,即後手必贏。
3.模板:
if
(n%(m+1)
)return1;
//先手贏
else
return0;
//後手贏
1.問題:兩堆n個物品,兩人輪流取一堆中的至少乙個或兩堆中的相同多個物品,取光者勝。
2.**分割比:差值***分割比==最小值,則後手贏,反之先手贏。
3.模板:
double r=(sqrt(5
)+1)
/2;//**分割比
int d=
abs(a-b)
*r;if
(d!=
min(a,b)
)return1;
//先手贏
else
return0;
//後手贏
尼姆博弈
1.問題:n堆物品,兩人輪流取至少乙個物品,取光者勝。
2.結論:講n堆物品全部異或運算,若結果為0則必敗,反之則必勝。
3.模板:
int m=0;
for(
int i=
1;i<=n;i++
)m=m^arr[i];if
(m==0)
return0;
//後手勝
else
return1;
//先手勝
組合遊戲(博弈)
昨天看大白書翻到了組合遊戲這章,看著發覺原來是博弈論的內容,於是便看下去了。真是不看不知道,一看才知道自己的水平有多弱,不過好在還是集中精神地看了大部分。從nim遊戲 n堆石子,每人每次可以從任意一堆中取至少1個 至多整堆的石子,不能取者為輸 開始講起,引入必勝態 必敗態的概念 1.乙個狀態是必敗狀...
組合遊戲(博弈)
昨天看大白書翻到了組合遊戲這章,看著發覺原來是博弈論的內容,於是便看下去了。真是不看不知道,一看才知道自己的水平有多弱,不過好在還是集中精神地看了大部分。從nim遊戲 n堆石子,每人每次可以從任意一堆中取至少1個 至多整堆的石子,不能取者為輸 開始講起,引入必勝態 必敗態的概念 1.乙個狀態是必敗狀...
常見組合博弈遊戲
這兩天認識了幾個組合遊戲的基礎模型,希望自己能更新下去。有兩個盒子,乙個裝有 m 顆糖,乙個裝有 n 顆糖,表示為 m,n 每次清空乙個盒子,將另乙個盒子裡的糖轉移一些過來,並保證兩個盒子至少各有一顆糖。最後進行轉移糖者勝,無法轉移糖者敗。m,n 都為奇數,先手敗 m,n 至少乙個為偶數,先手勝。顯...