博弈論(尼姆博弈)

2021-08-05 18:37:23 字數 411 閱讀 5881

尼姆博弈指的是這樣乙個博弈遊戲:有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。

結論就是:把每堆物品數全部異或起來,如果得到的值為0,那麼先手必敗,否則先手必勝。

這樣理解:先手必敗態為面臨的所有堆都為0,而此時的nim和(即當前狀態所有堆中物品的異或值)0

#include 

#include

#include

using

namespace

std;

int main()

if(temp==0) cout

<<"後手必勝"

cout

<<"先手必勝"

0;}

博弈論之尼姆博弈

有三堆分別有 a,b,c 個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。當 a b c 0 時,先手必敗 反之,先手必勝。對於 a,b,c 三個數,我先假設 a 最大,b 第二大,c 最小,且 a,b,c 對應的二進位制位數分別為 x,y,z 那麼,要使得 ...

博弈 尼姆博弈

今天我們來聊一聊另一種博弈 尼姆博弈,這一種博弈可以說是巴什博弈的一種變體,巴什博弈中 石子 的堆數為1堆,而在利姆博弈中 石子 的堆數為n堆,還有在尼姆博弈中取石子的規則也發生了變化,前一種博弈中取石子的數量限定在 1,l 而後一種取石子的數量可以為任意數 但不能不取,而且還不能超過這一堆石子的總...

演算法與資料結構 博弈論(高階篇之尼姆博弈)

尼姆博弈 nimm game 有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。分析 我們先來看假設有三堆物品時的情況 這種情況最有意思,它與二進位制有密切關係,我們用 a,b,c 表示某種局勢,則前幾種奇異局勢如...