博弈論入門

2021-08-28 19:05:08 字數 1966 閱讀 4745

博弈論:是二人或多人在平等的對局中各自利用對方的策略變換自己的對抗策略,達到取勝目標的理論。博弈論是研究互動決策的理論。博弈可以分析自己與對手的利弊關係,從而確立自己在博弈中的優勢,因此有不少博弈理論,可以幫助對弈者分析局勢,從而採取相應策略,最終達到取勝的目的。

一.bash博弈

問題:只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。

顯然,如果n=m+1,1那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則:每個回合時m+1個,如果n=(m+1)*r+s,(r為任意自然數,s≤m),那麼先取者要拿走s個物品,如果後取者拿走k(≤m)個,那麼先取者再拿走m+1-k個,結果剩下(m+1)(r-1)個,以後保持這樣的取法,那麼先取者肯定獲勝。總之,要保持給對手留下(m+1)的倍數,就能最後獲勝。

例題:1066 bash遊戲

二.fibonacci』s game(斐波那契博弈)

問題:有一堆個數為n的石子,遊戲雙方輪流取石子,滿足:

1)先手不能在第一次把所有的石子取完;

2)之後每次可以取的石子數介於1到對手剛取的石子數的2倍之間(包含1和對手剛取的石子數的2倍)。

一大堆看不懂的結論得,n是斐波那契數列則為必敗局勢_(:з」∠)_

n是斐波那契數列則後手贏,反之先手贏

三.威佐夫博奕(wythoff game)

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

我們用(ak,bk)(ak ≤ bk ,k=0,1,2,…,n)表示兩堆物品的數量並稱其為局勢

其中有乙個奇異局勢的概念,如果面對非奇異局勢,則先拿著必勝,反之後拿者取勝

那麼任給乙個局勢(a,b),怎樣判斷它是不是奇異局勢呢?我們有如下公式:

當a=(下取整)k*(1+√5)/2,b=ak+k時(k為任意非負整數)局勢為奇異局勢

四:尼姆博奕(nimm game)

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

它與二進位制有密切關係,我們用(a,b,c)表示某種局勢,首先(0,0,0)顯然是奇異局勢,無論誰面對奇異局勢,都必然失敗。第二種奇異局勢是(0,n,n),只要與對手拿走一樣多的物品,最後都將導致(0,0,0)。仔細分析一下,(1,2,3)也是奇異局勢,無論對手如何拿,接下來都可以變為(0,n,n)的情形。

計算機演算法裡面有一種叫做按位模2加,也叫做異或的運算,我們用符號⊕(或者是xor,這個符號不好打,以下用(+)表示)表示這種運算。這種運算和一般加法不同的一點是1+1=0。先看(1,2,3)的按位模2加的結果:

1 =二進位制01

2 =二進位制10

3 =二進位制11 (+)

———————

0 =二進位制00 (注意不進製)

對於奇異局勢(0,n,n)也一樣,結果也是0。

任何奇異局勢(a,b,c)都有a(+)b(+)c =0。

如果我們面對的是乙個非奇異局勢(a,b,c),要如何變為奇異局勢呢?假設 a < b< c,我們只要將 c 變為 a(+)b,即可,因為有如下的運算結果: a(+)b(+)(a(+)b)=(a(+)a)(+)(b(+)b)=0(+)0=0。要將c 變為a(+)b,只要從 c中減去 c-(a(+)b)即可。

例1。(14,21,39),14(+)21=27,39-27=12,所以從39中拿走12個物體即可達到奇異局勢(14,21,27)。

例2。(55,81,121),55(+)81=102,121-102=19,所以從121中拿走19個物品

就形成了奇異局勢(55,81,102)。

例3。(29,45,58),29(+)45=48,58-48=10,從58中拿走10個,變為(29,4

5,48)。(hdoj 1850)

博弈論入門

參考 三個簡單的博弈論問題 博弈 1066 bash遊戲 原題傳送 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n 3,k 2。無論a如何拿,b都可以拿到最...

博弈論入門

什麼是博弈 通俗地講,博弈就是指遊戲中的一種選擇策略的研究。博弈的英文為 game 我們一般將它翻譯成 遊戲 而在英語中,game 的意義不同於漢語中的遊戲,它是人們遵循一定規則的活動,進行活動的人的目的是讓自己 贏 我們在和對手競賽或遊戲的時候怎樣使自己贏呢?這不但要考慮自己的策略,還要考慮其他人...

博弈論入門

斐波那契博弈 fibonacci s game 威佐夫博弈 wythoff game 尼姆博弈 nimm game 畫p n分析 簡單學了博弈論,推導難度大。先了解了幾個經典的博弈論和p n分析法。sg函式,打算後面再學。博弈論 是二人或多人在平等的對局中各自利用對方的策略變換自己的對抗策略,達到取...