參考自ac-data的文章
博弈論類問題的三大特點;
- 博弈模型爲兩人輪流決策的非合作博弈。
即兩人輪流進行決策,並且兩人都使用最優策略來獲取勝利。
- 博弈是有限的。即無論兩人怎樣決策,都會在有限步後決出勝負。
- 公平博弈。即兩人進行決策所遵循的規則相同。
常見類型詳解:
- 巴什博弈
1、問題模型:只有一堆n個物品,兩個人輪流從這堆物品中取物,
規定每次至少取一個,最多取m個,最後取光者得勝。
2、解決思路:當n=m+1時,由於一次最多隻能取m個,所以無論先取者拿走多少個,
後取者都能夠一次拿走剩餘的物品,後者取勝,所以當一方面對的局勢是
n%(m+1)=0時,其面臨的是必敗的局勢。所以當n=(m+1)*r+s,
(r爲任意自然數,s≤m)時,如果先取者要拿走s個物品,如果後取者拿走x(≤m)個,
那麼先取者再拿走m+1-k個,結果剩下(m+1)(r-1)個,以後保持這樣的取法,
那麼先取者肯定獲勝。總之,要保持給對手留下(m+1)的倍數,就能最後獲勝。
3、變形:條件不變,改爲最後取光的人輸。
結論:當(n-1)%(m+1)==0時後手勝利。
4、題目練習:HDU 2188 2149 1846
if(n%(m+1))
printf("Grass\n");
else
printf("Rabbit\n");
o r
printf(n%(m+1)?"Grass\n":"Rabbit\n");
晚點補,先想想馬拉車。。。難受
2. 威佐夫博奕
3. Fibonacci博弈
4. 尼姆博弈
5. 公平組合博弈(Impartial Combinatori Games)