巴什博弈 Bash Game

2022-03-10 04:58:05 字數 1452 閱讀 3726

巴什博奕(bash game):

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

這個遊戲還可以有一種變相的玩法:兩個人輪流報數,每次至少報乙個,最多報十個,誰能報到100者勝。

對於巴什博奕,那麼我們規定,如果最後取光者輸,那麼又會如何呢?

(n-1)%(m+1)==0則後手勝利

先手會重新決定策略,所以不是簡單的相反行的

例如n=15,m=3

後手 先手 剩餘

0     2    13

1     3    9

2     2    5

3     1    1

1     0    0

先手勝利 輸的人最後必定只抓走乙個,如果》1個,則必定會留乙個給對手

總結:一:取光為勝時

①當 n = (m + 1) r, 先者取 k (k <= m),後者再取 m + 1 - k 個,保持先者取時是 m + 1 的倍數,則後者必勝 → n % (m + 1) == 0 則後者必勝。

②當 n = (m + 1) r + s,先者首先要取掉 s 個, 這樣留給後者(對手)的個數為 m + 1 的倍數,後者無論取多少,

先者只要保持取掉一定個數使得輪到後者的時候還剩 m + 1 的倍數個,這樣最後先者必勝 → n % (m + 1) != 0 則先者必勝。

結論:保持對手取的時候數量為 m + 1 的倍數則必勝。

二:取光為負時

①當 n = (m + 1) r + 1,先者取 k(k <= m),後者取掉一定數量使得輪到先者時數量為: (m + 1)的倍數 + 1

這樣最後一輪後者無論取掉多少,先者必定能取剩 1個- -,當然先者取光咯,所以後者必勝 → (n - 1) % (m + 1) == 0 則後者必勝。

②當 n = (m + 1) r + s,(s != 1),先者首先要取掉 s - 1 個,這樣留給後者(對手)數量為 (m + 1) r + 1 ,後者取 k (k <= m),

輪到先者的只會是 (m + 1) r 或者  (m + 1) (r - 1) + 2,這樣始終取掉一定數量使得留給後者(對手)的數量為: (m + 1)的倍數 + 1

這樣最後一輪時,先者肯定取剩 1 個- -,當然後者取光咯,所以先者必勝 → (n - 1) % (m + 1) != 0 則先者必勝。

③當 n = (m + 1) r,先者取 m - 1 個,則又變成②了。

結論:保持對手取的時候數量為 (m + 1)的倍數 + 1 則必勝。

巴什博弈 Bash Game

問題模型 只有一堆n個物品,兩個人輪流從這堆物品中取物品,規定每次至少取乙個,最多取m個。解決思路 若n m 1時,由於先手最多只能取m個,所以無論先手怎麼取,剩下的都可以讓後手取完,即後手必勝。假設n m 1 r s。1 當s不等於0,先手要拿走s個物品,此時後手處於在剩下 m 1 r個物品的狀態...

數論 博弈 巴什博弈 BAshGame

巴什博弈 一堆物品有n個,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。當石子有1 m個時,毫無疑問,先手必勝 當石子有m 1個時,先手無論拿幾個,後手都可以拿乾淨,先手必敗 當石子有m 2 2m時,先手可以拿走幾個,剩下m 1個,先手必勝 我們不難發現,面臨m 1個石...

巴什博奕(Bash Game)

巴什博弈 bash game,同餘理論 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。顯然,如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如果n m 1 ...