簡單博弈和sg函式

2022-06-03 07:24:07 字數 808 閱讀 1082

給定n堆物品,第i堆物品有ai個。兩名玩家輪流行動,每次可以任選一堆,取走任意多個物品,可把一堆取光,但不能不取。取走最後一件物品者獲勝。兩人都採取最優策略,問先手是否必勝。

我們把這種遊戲稱為nim博弈。把遊戲過程中面臨的狀態稱為局面。整局遊戲第乙個行動的稱為先手,第二個行動的稱為後手。若在某一局面下無論採取何種行動,都會輸掉遊戲,則稱該局面必敗。

所謂採取最優策略是指,若在某一局面下存在某種行動,使得行動後對面面臨必敗局面,則優先採取該行動。同時,這樣的局面被稱為必勝。我們討論的博弈問題一般都只考慮理想情況,即兩人均無失誤,都採取最優策略行動時遊戲的結果。

nim博弈不存在平局,只有先手必勝和先手必敗兩種情況。

定理: nim博弈先手必勝,當且僅當 a1 ^ a2 ^ ... ^ an != 0

在有向圖遊戲中,對於每個節點x,設從x出發共有k條有向邊,分別到達節點y1, y2, ..., yk,定義sg(x)為x的後繼節點y1, y2, ..., yk 的sg函式值構成的集合再執行mex(s)運算的結果,即: sg(x) = mex() 特別地,整個有向圖遊戲g的sg函式值被定義為有向圖遊戲起點s的sg函式值,即sg(g) = sg(s)。

#includeusing

namespace

std;

const

int n = 1e5 + 10

;int

n;int

a[n];

intmain()

if(res) puts("

yes"

);

else puts("no"

);}

博弈 SG函式和SG定理

在介紹sg函式和sg定理之前我們先介紹介紹必勝點與必敗點吧.必勝點和必敗點的概念 p點 必敗點,換而言之,就是誰處於此位置,則在雙方操作正確的情況下必敗。n點 必勝點,處於此情況下,雙方操作均正確的情況下必勝。必勝點和必敗點的性質 1 所有終結點是 必敗點 p 我們以此為基本前提進行推理,換句話說,...

sg函式 和 博弈

這幾天一直在看博弈,一直想寫部落格,但又一直沒寫,感覺自己沒有搞懂sg函式,幾種簡單的博弈似乎是看懂了。但是sg函式到現在我還是在用著,但是我有些疑惑並不懂。首先先貼一下幾個部落格,第一就是kuangbin菊苣的部落格了 這是他轉的 這是他的一些題目 這個上面的題我都刷了一遍,感覺是難度有點低 首先...

博弈sg函式

sg函式 個人認為還是用於三種方法都無法解決的情況,如按特殊數字取石子 我們把整個博弈過程抽象為有向無環圖 1.幾項準備工作 mex求最小非負整數mex 0,mex 3,mex 0 sg x mex 就是石頭變少的繼 這樣sg就滿足幾個性質 1.sg x 0時,它的後繼都不為零 2.sg x 0時,...