機器博弈 (三) 虛擬遺憾最小化算法

虛擬遺憾最小化算法(Counterfactual Regret Minimization)

  • 如果不能遍歷計算機所有節點的遺憾值,那麼可以採用虛擬遺憾最小化算法來進行模擬計算。

  • 假設:

    • 集合AA是博弈中所有玩家所能採用的行爲集(如在石頭-剪刀-布遊戲中出石頭、出剪刀或出布三種行爲)
    • II爲信息集,包含了博弈的規則以及玩家採取的歷史行動,在信息集II下所能採取的行爲集合記爲A(I)A(I)
  • 玩家ii在第tt輪次採取的行動aiA(Ii)a_{i} \in A(I_{i})反映了其在該輪次所採取的策略σit\sigma_{i}^{t}。包含玩家ii在內的所有玩家在tt輪次採取的行動aA(I)a \in A(I)構成了一組策略組合σt\sigma^{t}

  • 在信息集II下採取行動aa所反映的策略記爲σIa\sigma_{I \rightarrow a}

  • 在第tt輪次所有玩家採取的行動是一條序列,記爲hh。採取某個策略σ\sigma計算行動序列hh出現的概率記爲πσ(h)\pi^{\sigma}(h)

  • 每個信息集II發生的概率πσ(I)=hIπσ(h)\pi^{\sigma}(I)=\sum_{h \in I}\pi^{\sigma}(h),表示所有能夠到達該信息集的行動序列的概率累加

  • 給定博弈的終結局勢zZz \in Z,玩家ii在遊戲結束後的收益記做ui(z)u_{i}(z)

  • 在策略組合σ\sigma下,施加博弈行動序列hh後達到最終局勢zz的概率爲πσ(h,z)\pi^{\sigma}(h,z)

  有了這些定義之後,我們現在來計算虛擬遺憾:

  • 當採取策略σ\sigma時,其所對應的行動序列hh的虛擬價值(Counterfactual Value)如下計算(注:行動序列hh未能使博弈進入終結局勢):

vi(σ,h)=zZπiσ(h)πσ(h,z)ui(z) v_{i}(\sigma,h)=\sum_{z \in Z} \pi_{-i}^{\sigma}(h)\pi^{\sigma}(h,z)u_{i}(z)

  我們首先去計算其他玩家在產生行動序列hh中他們的概率值是多少,乘以在這個策略下,從行動序列hh進入到終止局勢zz的概率,最終再乘以玩家ii在終止局勢zz的概率。之後對終止局勢做一個遍歷,把它的乘積做一個累加。

  • 玩家ii採取行動aa所得到的虛擬遺憾值:

r(h,a)=vi(σIa,h)vi(σ,h) r(h,a)=v_{i}(\sigma_{I \rightarrow a},h) - v_{i}(\sigma,h)

  • 行動序列hh所對應的信息集II遺憾值爲:

r(I,a)=r(h,a) r(I,a)=\sum r(h,a)

  • 玩家ii在第TT輪次採取行動aa的遺憾值爲:

RegrettT(I,a)=t=1Trit(I,a) Regret_{t}^{T}(I,a)=\sum_{t=1}^{T}r_{i}^{t}(I,a)

  • 同樣,對於遺憾值爲負數的情況,我們不予考慮,記:

RegretiT,+(I,a)=max(RiT(I,a),0) Regret_{i}^{T,+}(I,a) = max(R_{i}^{T}(I,a),0)

  • T+1T+1輪次,玩家ii選擇行動aa的概率計算如下:

σiT+1(I,a)={RegretiT,+(I,a)aA(I)RegretiT,+(I,a)ifaA(I)RegretiT,+(I,a)>01A(I)otherwise \sigma_{i}^{T+1}(I,a) = \left\{\begin{matrix} \frac{Regret_{i}^{T,+}(I,a)}{\sum_{}a \in A(I)Regret_{i}^{T,+}(I,a)}& if \sum_{a \in A(I)}Regret_{i}^{T,+}(I,a)>0\\ \frac{1}{|A(I)|} & otherwise \end{matrix}\right.

  • 玩家ii根據遺憾值大小來選擇下一時刻行爲,如果遺憾值爲負數,則隨機挑選一種行爲進行博弈。

例子-庫恩撲克(Kunh’s pocker)

  • 庫恩撲克是最簡單的限注撲克遊戲,由兩名玩家進行遊戲博弈,牌值只有1,2和3三種情況。
  • 每輪每位玩家各持一張手牌,根據各自判斷來決定加定額賭注。
  • 遊戲沒有公共牌,攤牌階段比較未棄牌玩家的底牌大小,底牌牌值最大的玩家即爲勝者。
  • 遊戲規則:

遊戲規則表

庫恩撲克(Kunh’s pocker):以先手玩家(定義爲玩家AA)爲例的博弈樹:

博弈樹

  從初始節點開始,1、2、3分別表示玩家AA手中的牌,當玩家拿了1之後,玩家BB只能拿2或者3。玩家AA選擇過牌還是加註,玩家BB也可以選擇過牌還是加註。依次進行下去,就構建了博弈樹。

  • 在這個博弈樹裏面,總共的信息集與12個:{1,1P,1B,1BP,2,2P,2B,2BP,3,3P,3B,3BP}。
  • 每個信息集由不同路徑可以到達。如信息集1PB可通過如下路徑到達:

1A11PA1PBB 1_{玩家A拿到大小爲1的紙牌}\rightarrow 1P_{玩家A採取過牌行動} \rightarrow 1PB_{玩家B採取加註行動}

  可見信息集1PB1PB所對應的行動序列爲{P,B}

  • 在該問題中,到達每個信息集的路勁均唯一,因此所有信息集僅對應一個行動序列。

有了上述定義之後,我們可以採取如下算法進行策略選擇:

  1. 初始化遺憾值和累加策略表爲0
  2. 採用隨機選擇的方法來決定策略
  3. 利用當前策略與對手進行博弈
  4. 計算每個玩家採取每次行爲後的遺憾值
  5. 根據博弈結果計算每個行動的累加遺憾值大小來更新策略
  6. 重複博弈若干次
  7. 根據重複博弈最終的策略,完成最終的動作選擇

計算1PB的遺憾值

  • 假設初始情況下,兩個玩家都以隨機選擇的策略進行決策,即在任一節點,都以50%的概率分別選擇過牌和加註
  • 若第一輪中,玩家AA的博弈過程爲1P1PB1PBBZ21 \overset{P}{\rightarrow}1P \overset{B}{\rightarrow}1PB \overset{B}{\rightarrow} Z_{2},收益爲uA(Z2)=2u_{A}(Z_{2})=-2
  • 計算玩家AA針對信息集{1PB}\{1PB\}選擇“過牌”行動的遺憾值:
    • 在當前策略下,行動序列h={PB}h=\{PB\}產生的概率:
      πBσ(h)=1×0.5=0.5 \pi_{B}^{\sigma}(h) = 1 \times 0.5 = 0.5

  由於在 {1PB}\{1PB\}節點選擇加註和過牌的概率均爲50%,所以當前策略下,從行動序列hh到達終結狀態z1z_{1}z2z_{2}的概率分別爲:

πσ(h,z1)=0.5,πσ(h,z2)=0.5 \pi^{\sigma}(h,z_{1})=0.5,\pi^{\sigma}(h,z_{2})=0.5

  又已知uA(z1)=1u_{A}(z_{1})=-1uA(z2)=2u_{A}(z_{2})=-2,可知當前策略的虛擬價值:

vA(σ,h)=πBσ(h)×πσ(h,z1)×uA(z1)+πBσ(h)×πσ(h,z2)×uA(z2)=0.5×0.5×(1)+0.5×0.5×(2)=0.75 v_{A}(\sigma,h)=\pi_{B}^{\sigma}(h) \times \pi^{\sigma}(h,z_{1}) \times u_{A}(z_{1})+\pi_{B}^{\sigma}(h) \times \pi^{\sigma}(h,z_{2}) \times u_{A}(z_{2}) \\ = 0.5 \times0.5 \times (-1) + 0.5 \times 0.5 \times (-2) = -0.75

  • 若使用過牌策略,即σ{1PB}P\sigma_{\{1PB\} \rightarrow P},此時玩家BB促使行動序列h={P,B}h=\{P,B\}達成的概率仍然爲πBσ(h)=0.5\pi_{B}^{\sigma}(h)=0.5,由於最終抵達的終結狀態只有z1z_{1},所以πσ(h,z1)=1\pi^{\sigma}(h,z_{1})=1
  • 則最終選擇過牌的虛擬價值爲:

vA(σ{1PB}P,h)=πBσ(h)×πσ(h,z1)×uA(z1)=0.5×1×(1)=0.5 v_{A}(\sigma_{\{ 1PB\}\rightarrow P}, h) = \pi_{B}^{\sigma}(h) \times \pi^{\sigma}(h,z_{1}) \times u_{A}(z_{1})=0.5 \times 1 \times (-1) = -0.5

  • 在信息集{1PB}\{1PB\}上採取“過牌”的遺憾值

r(I,P)=r(h,P)=vA(σ{1PB}P,h)vA(σ,h)=(0.5)(0.75)=0.25 r(I,P)=r(h,P)=v_{A}(\sigma_{\{1PB\}\rightarrow P},h)-v_{A}(\sigma, h)=(-0.5)-(-0.75)=0.25

  • 庫恩撲克的博弈共有12個信息集,對應上圖中的正方形和三角形
  • 通過反覆迭代計算,可以得到到達各個信息集應採取行動的概率:

  • 對於玩家AA而言,庫恩撲克的混合策略納什均衡的理論解如下(α[0,1/3]\alpha \in [0,1/3]):

  可見,算法得到的解與理論得到的解之間較爲接近,驗證了算法的有效性。

我的微信公衆號名稱:深度學習與先進智能決策
微信公衆號ID:MultiAgent1024
公衆號介紹:主要研究分享深度學習、機器博弈、強化學習等相關內容!期待您的關注,歡迎一起學習交流進步!

發佈了148 篇原創文章 · 獲贊 135 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章