NIM遊戲 博弈

2021-09-26 06:31:00 字數 1435 閱讀 6664

1. 尼姆博弈

n堆石子,每堆的數量a1,a2,a3...an,一方取完後石子個數為0則該方獲勝,問先手是否必勝

if ans = a1^a2^a3^...^an ≠ 0 先手必勝

else 先手必輸

延伸1:在此問基礎上新增乙個集合,集合內的數字是每次操作可取的石子個數,每次從一堆中取,最後無法取者判輸

對每堆石子算得其sg函式,sg函式異或後不為0,則先手必勝

否則先手必輸

延伸2:在此問基礎上新增乙個條件:每次從不超過k堆中取任意多個石子,最後無法取者判輸(moore' s nimk)

將每堆石子數換算為二進位制,計算出二進位制中每位的個數x mod (k + 1)是否存在 不等於0,如果存在不等於0,則必勝,否則必輸

延伸3:在此問基礎上新增乙個條件:每次取一堆石子的k個(1 ≤ k ≤ max(該堆石子)),放入兩堆新的石子,兩堆石子各自的數量必須小於拿走的石子數,但兩對石子數之和可以大於等於拿走的石子數,先拿完者獲勝

對每堆石子求sg函式,if sg函式異或和不為0 先手必勝,else 先手必輸

2. 巴什博弈

一堆石子共n個,每次至少取1個,至多取m個,先取完者獲勝,問先手是否必勝

if n % (m + 1) != 0 則先手獲勝

else 先手必輸

3. 階梯博弈

n層階梯上放n堆石子,每次選擇一層的若干石子放入下一層,(選擇第一層的石子即這些石子進入地面,不可再被選擇)

最後不能選擇石子的人判輸,問先手是否必勝

奇數層上的石子數異或,if結果不為0,先手必勝,else必輸。

4. 威佐夫博弈

有兩堆各若干的物品,兩人輪流從其中一堆取至少一件物品,至多不限,或從兩堆中同時取相同件物品,規定最後取完者勝利

結論:,若兩堆物品的初始值為x和y,且x記w=[((sqrt(5)+1)/2)*z ]

若w=x,則先手必敗,否則先手必勝

5. 斐波拉契博弈

有一堆物品,兩人輪流取物品,先手最少取乙個,至多無上限,但不能把物品取完,之後每次取的物品數不能超過上一次取的物品數的二倍且至少為一件,取走最後一件物品的人獲勝

結論是:先手勝當且僅當n不是斐波那契數(n為物品總數)

6. 反nim遊戲,取完石子的人判輸

乙個狀態為必勝態,當且僅當:

1)所有堆的石子個數為1,且nim_sum=0

2)至少有一堆的石子個數大於1,且 nim_sum≠0

博弈 Nim遊戲

nim遊戲是博弈論中最經典的模型,它又有著十分簡單的規則和無比優美的結論。nim遊戲是組合遊戲 combinatorial games 的一種,準確來說,屬於 impartial combinatorial games 以下簡稱icg 滿足以下條件的遊戲是icg 可能不太嚴謹 1 有兩名選手 2 兩...

博弈 Nim遊戲

1069 nim遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子的數量,問最後誰...

Nim博弈遊戲

給定n堆石子,每次每人能從一堆石子中取若干個石子 不能不取 最後不能取石子者敗 對於這個遊戲,我們要判斷的是,給定局勢下,先手者勝還是敗 設先手勝的局勢為n postion,先手敗的局勢為p postion 可以移動到p postion的局勢叫做n postion,只能移動到n postion的局勢...