• 沒有找到結果。

蒙地卡羅樹搜尋 (Monte-Carlo Tree Search, MCTS)

第二章 文獻探討

2.3 蒙地卡羅樹搜尋 (Monte-Carlo Tree Search, MCTS)

根據模擬 (rollout) 次數,使用模擬策略 (default policy) 如隨機策略、貪婪策 略等 (本論文使用基因規劃法產生的策略作為模擬策略),從步驟 (2) 擴展的 節點開始,讓遊戲進行到結束,並記錄勝利次數,進入步驟 (4) 。

(4) 回傳 (backpropagation):

將勝利次數與拜訪次數從父節點一路更新回根節點。

圖 2 - 2:MCTS 迭代流程圖 (圖片修改自[10] )

MCTS 是利用大量模擬與統計勝利次數與拜訪次數的方式,來選出勝率最高 的節點;若模擬次數愈足夠,就能愈準確地預測對手的行動。當滿足迭代次數 或預設時間後就會終止,並回傳勝率最高的節點 (動作),迭代步驟如圖 2 - 3。

圖 2 - 3:MCTS 迭代步驟

選擇 擴展 模擬 回傳

樹策略 模擬策略

選擇

2.3.1 蒙地卡羅方法 (Monte-Carlo method)

MCTS 是將蒙地卡羅方法應用在遊戲樹中,而蒙地卡羅方法最早在 1940 年 代被提出,是一種以隨機模擬或取隨機亂數來得到近似於實際答案的方法。假 設一個區域被分割成兩個或多個不規則形狀的小區域時,若想得知哪個區域的 面積最大,可以利用灑豆子的方式,將豆子均勻的往這些區域撒,再透過比較 各區域豆子的數量,找出最多豆子的區域,即可得知哪個區域的面積最大。當 豆子越小、數量越多時,結果會越精確,而撒豆子就類似於隨機模擬的動作。

蒙地卡羅方法也可以應用在求得圓周率 (𝜋) 上,假設欲得知 𝜋 的近似值,可 先在圓上畫出一個外切正方形,此正方形之邊長等於圓的直徑 2r ( r 為此圓之半 徑 ),再利用灑豆子的方式,將豆子隨機撒在此外切正方形上,如圖 2 - 4,透過 比較外切正方形裡的豆子數量以及圓裡的豆子數量後,可得到外切正方形與圓 的豆子數量比,而外切正方形面積:圓面積 = 4 : 𝜋 ( 4𝑟2 ∶ 𝜋𝑟2),與豆子數量比即 可求出圓周率 (𝜋) 之近似值。

圖 2 - 4:蒙地卡羅方法求圓周率之近似值

2.3.2 上界信賴區間公式 (Upper Confidence Bounds, UCB1)

MCTS 在選擇階段常見的樹策略是由上界信賴區間公式 (UCB1) 演變而來,

此公式在 2002 年由 Auer 等人 [11] 所提出,目的在解決多臂吃角子老虎機問題。

此問題是假設每台吃角子老虎機的中獎機率與報酬都不一定相同,我們事先並 不知道實際的報酬與中獎機率,且每台機器間的報酬與中獎機率是彼此條件獨 立的,則該如何在有限的投幣次數下取得最多報酬。

他們提出了一個想法:先將每台機器都玩一次,並記錄其結果,再根據結 果中報酬或中獎機率的好壞來決定之後繼續遊玩各機器的次數,若此機器過往 的報酬或中獎機率較高,則會有較高的機率繼續遊玩此機器;反之,則有較低 的機率繼續遊玩此機器。UCB1 如公式 (3) 所示。

UCB1 = Xi + √2 ln 𝑃𝑁

𝑖

(3) 此公式是計算第i 台機器的信賴區間上界 (UCB),UCB 值愈大代表此機器的 平均報酬較高,其中 Xi是第 i 台機器的平均報酬,P 是所有機器被遊玩的次數,

Ni是第 i 台機器被遊玩的次數。當玩家根據過往經驗選擇平均報酬較高的機器,

稱 為 開 發 (exploitation); 選 擇 遊 玩 次 數 較 少 或 尚 未 遊 玩 過 的 機 器 稱 為 探 勘 (exploration)。公式中,前項代表開發,後項代表探勘。根據玩家需求的不同,

較偏重於開發或探勘將導致截然不同的結果,而如何在開發與探勘之間取得平 衡,值得探討。

2.3.3 UCT (UCB1 applied to trees)

2006年 Kocsis 與 Szepesvári 基於 UCB1 公式提出了 UCT 公式 (UCB1 applied to trees) [12],如公式 (4),是現今 MCTS 中常見的樹策略,也是第一個在遊戲樹

UCD (Upper Confidence bound for Directed acyclic graphs) [14] ,是 UCT 公

相關文件