【博弈論】

來源:互聯網
上載者:User

推薦:wutianqi‘s blog

尋找平衡狀態(也稱必敗態,奇異局勢),(滿足:任意非平衡態經過一次操作可以變為平衡態)

(一)巴什博奕(Bash Game):

只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取p個,最多取q個.最後取光者得勝.

n = (m+1)r+s , (r為任意自然數,s≤m), 即n%(p+q) != 0, 則先取者肯定獲勝(預設最後一個取的為win)

可以這樣想:

如果滿足m%(n+1)==0,則先手敗(必敗態),因為可以這樣分析:每輪後手總可以造出n+1這樣的情況,最後明顯是後手必勝。

但是當m%(n+1)!=0,則先手要不敗就應該取m%(n+1)的餘數,因為當第一次先手取了這個餘數後,剩下的就變成了後手的必敗態。

(二)威佐夫博奕(Wythoff Game):

有兩堆各若干個物品,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規定每次至少取一個,多者不限,最後取光者得勝.

(ak,bk)(ak ≤ bk,k=0,1,2,...,n)表示奇異局勢

求法:

ak =[k(1+√5)/2], bk= ak + k (k=0,1,2,...,n 方括弧表示取整函數)

    判斷:

       Gold=(1+sqrt(5.0))/2.0;

1)假設(a,b)為第k種奇異局勢(k=0,1,2...) 那麼k=b-a;

2)判斷其a==(int)(k*Gold),相等則為奇異局勢

(註:採用適當的方法,可以將非奇異局勢變為奇異局勢.

假設面對的局勢是(a,b)

若b = a,則同時從兩堆中取走 a 個物體,就變為了奇異局勢(0,0);

1.      如果a = ak,

1.1  b > bk, 那麼,取走b - bk個物體,即變為奇異局勢(ak, bk);

1.2  b < bk 則同時從兩堆中拿走 ak – a[b – ak]個物體,變為奇異局勢( a[b – ak] , a[b – ak]+ b - ak);

2         如果a = bk ,

2.1  b > ak ,則從第二堆中拿走多餘的數量b – ak

2.2  b < ak ,則 若b = aj (j < k) 從第一堆中拿走多餘的數量a– bj; (a >bj)

若b= bj (j < k) 從第一堆中拿走多餘的數量a– aj; ( a > aj)

例題:pku 1067

(三)尼姆博奕(Nimm Game):

有n堆各若干個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取一個,多者不限,最後取光者得勝.

異或為0,後手勝;異或為1,先手勝。(不區分是否最後一個取的為win)

ps:異或:相同為假,不同為真。

任何奇異局勢(a,b,c),要如何變為奇異局勢呢?假設a<b<c,我們只要將c

例題:pku 2234

例題:hdu 1730

例題:pku 1740

例題:pku 1704

例題:pku 1082 (大量分析… 結論很簡單。 也可以根據簡單的推論類比實現。)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.