2014-01-24 54 views
1

我目前正在嘗試爲我的項目實施MCTS,但我不確定是否理解了正確選擇節點的想法。在遊戲開始時,在我隨機選擇一個動作之後,將整個樹展開到遊戲結束點,然後進行反向傳播,這個節點顯然比所有其他遊戲更好,因爲它是1/1(如果我們得到了勝利)與他們的0/0。 MCTS如何逃離該陷阱並且不會被隨機選擇的節點卡住?瞭解MCTS節點選擇

我的意思是,如果我們用UCB找到最好的節點來擴展,它總是會選擇我們首先選擇的節點(因爲它導致了勝利),因爲它會完全忽略所有其他節點是唯一一個非零價值的。我在這裏錯過了什麼,因爲它顯然不是這種情況?

回答

5

每次你在一個節點上,您可以根據這些規則,展開節點:

  • 如果一個子節點之前從未被擴大,然後展開隨機的未開發孩子的一個(你可以立即從這個子節點展開)
  • 否則,每個子節點至少被訪問過一次。爲所有人計算「勘探/開採」值並擴大具有最高值的子節點

MCTS的想法是最大化勘探/開採。如果一個孩子節點以前從未被探索過,那麼與它相關的「探索」價值是無限的,你將不得不去探索它。但是,一旦你擴展了所有的子節點,那麼你將更頻繁地擴展具有更高值的子節點(這是「開發」部分)。

+0

明白了。謝謝:) – Straightfw

+0

很高興能有幫助!如果它能幫助你,那麼驗證一個答案是很常見的事情,所以,如果它確實幫助你,那將是很酷的! =) – Fezvez