博弈論 巴什博奕

2021-08-03 19:29:59 字數 919 閱讀 3871

巴什博弈其實就是取石子遊戲:

只有一堆n個物品,兩個人輪流從這堆物品中取物, 規定每次至少取乙個,最多取m個。最後取光者得勝。

分析:

這是乙個典型的博弈論問題。其中有兩個局中人,分別為a和b,並假設a先取,b後取。每次取的時候他們都有自己的決策,即每次取的個數為[1

,m] 。

我們舉個特例,如果n=

m+1,那麼不管a取 [1

,m] 中任一數量的石子,都不會取光所有石子,假設取了a1個石子,那麼剩下 n−

a1個石子,而 n−

a1∈[

1,m)

的,為 [1

,m] 的子集,所以b肯定能在a取後取完所有的石子,則b贏。

那麼通過特例來分析一般情況:如果n=

(m+1

)∗r+

s,(r為任意自然數,s≤m)。

首先,a要取走s個石子,則剩下(m+1)*r個石子。

然後,b取走k(1≤k≤m)個,剩下(m+1)*r-k個石子。

接著,a再取走(m+1)-k個石子,結果剩下(m+1)(r-1)個。

以此類推,如果一直保持這樣的取法,那麼a肯定贏。

總之,誰能一直保持給對手留下(m+1)的倍數的石子,誰就能最後贏。

所以可以斷定:如果n是(m+1)的倍數,則先取者一定輸,否則先取者最後一定贏。

#include

using

namespace

std;

int n,m;

int main()

return

0;}

博弈論中的巴什博奕

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

博弈論入門之巴什博奕

巴什博奕 兩個頂尖聰明的人在玩遊戲,有n個石子,每人可以隨便拿1 m個石子,不能拿的人為敗者,問誰會勝利 巴什博奕是博弈論問題中基礎的問題 它是最簡單的一種情形對應一種狀態的博弈 我們從最簡單的情景開始分析 當石子有1 m個時,毫無疑問,先手必勝 當石子有m 1個時,先手無論拿幾個,後手都可以拿乾淨...

博弈(巴什博奕 尼姆博弈)

1.巴什博奕 一堆 n個物品 兩人輪流從中取物品每人至少拿乙個最多拿m個將這堆物品最後取完的是winner先手勝利條件 n m 1 0 誰面對 m 1 k的情況誰就輸了 k為正整數 include int main return 0 2.尼姆博弈 三金和敵人決戰了!對手是一名和三金同樣強大帥氣的玩家...