尼姆博奕(nimm game)
公平組合博弈(impartial combinatori games)
理論知識
(1)、若面臨末狀態者為獲勝則末狀態為勝態否則末狀態為必敗態。
(2)、乙個局面是勝態的充要條件是該局面進行某種決策後會成為必敗態。
(3)、乙個局面是必敗態的充要條件是該局面無論進行何種決策均會成為勝態
有一堆數量為n的石子,遊戲雙方輪流取石子,滿足:
(1)先手不能在第一次把所有的石子取完;
(2)之後每次可以取的石子數介於1到對手剛取的石子數的2倍之間(包含1和對手剛取的石子數的2倍)。
約定取走最後乙個石子的人為贏家。
求必敗態
當n為斐波那契數時,先手必敗。
齊肯多夫(zeckendorf)定理:
任何正整數都可以表示成若干個不連續的斐波那契數(不包括第乙個斐波那契數)之和
比如n=54,
n還可以寫成:n=2+5+13+34
先手a取兩個,後手b取的範圍是1~4,也就是5之後取不了,那第五個肯定被a拿了(因為至少拿乙個),也就是拿走了5的最後一顆,接下來,a也能拿走13的最後一顆,拿走34的最後一顆,這樣a就贏了。
反之如果n是斐波那契數,a就輸了
有三堆各若干個物品,數量分別是(a,b,c),兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。
如果每堆物品數全部異或起來,得到的值時0則先手必敗,反之先手則贏
(a,b,c)的必敗態等於a ^ b ^ c =0
如果石頭有n堆,如果每堆數目進行異或後為0,則是必敗態
略。。
for
(int i=
1;i<=n;i++)if
(sum==
0) cout<<
"後手必勝"
"先手必勝"
<
這個第一次見,還沒搞懂 博弈論講解(二)
尼姆博奕 nimm game 公平組合博弈 impartial combinatori games 理論知識 1 若面臨末狀態者為獲勝則末狀態為勝態否則末狀態為必敗態。2 乙個局面是勝態的充要條件是該局面進行某種決策後會成為必敗態。3 乙個局面是必敗態的充要條件是該局面無論進行何種決策均會成為勝態 ...
博弈論講解(一)
常見的博弈論有巴什博弈,威佐夫博弈,尼姆博弈,斐波那契博弈等等,今天暫時講幾個 二.威佐夫博奕 三.環形博弈 巴什博奕 只有一堆n個物品,兩個人輪流從中取物,規定每次最少取乙個,最多取m個,最後取光者為勝。顯然,如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次...
博弈論 Nim博弈
1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...