強化學習-樹搜尋
Single-Agent Policy Tree Search With Guarantees<NIPS2018>
https:// arxiv.org/abs/1811.1092 8
問題:reward稀疏
提出兩種新的樹搜尋演算法,本文從政策引導搜尋的角度來解決單代理問題。可以將策略引導搜尋視為一種特殊的啟發式搜尋,其中策略而不是啟發式函式作為搜尋演算法的輸入。由於策略是對動作序列的概率分佈,這允許我們提供不能由值(例如,基於獎勵的)函式提供的理論保證:粗略地說,我們可以限制節點擴充套件的數量,搜尋時間取決於達到目標的動作序列的概率。
1.best-first enumeration:使用一個成本函式,它允許我們證明在達到目標狀態之前要擴充套件的節點數量的上限,即在找到最低成本的解決方案之前,我們對要搜尋的節點數量得出了嚴格的上限。最佳優先演算法特別適用於“大海撈針”問題。
2.based on sampling:證明了在達到一組目標狀態之前,它所擴充套件的預期節點數的上限,我們證明了在得到任何解之前要搜尋的預期節點數的上限,同時利用這些解的潛在多重性。更適合於多路徑導致目標的問題。
在1000個Sokoban計算機生成的層次上驗證了這些樹搜尋演算法,其中用於指導搜尋的策略來自使用A3C訓練的神經網路。
Monte Carlo Tree Search(MCTS)演算法由於其取樣性質和收斂性保證了最小-最大值,這些演算法很好地適應了隨機域和對抗域。但是,MCTS演算法中使用的取樣過程不太適合於其他型別的問題,例如目標是找到任何解決方案的確定性單代理問題。特別是,如果獎勵非常稀疏,例如,代理只在任務結束時獲得獎勵,MCTS演算法將恢復到統一搜索。在實踐中,這種演算法可以由啟發式演算法來指導,但就我們所知,不存在依賴於啟發式演算法質量的界限。在這種情況下,可以使用其他傳統的搜尋方法,例如貪婪的最佳優先搜尋(gbfs)它們由啟發式成本函式指導。
Levin tree search: policy-guided enumeration
首先,我們證明,僅僅通過可能性的降序來擴充套件節點,就不能達到非零概率的目標狀態
Theorem 1.
在進行樹搜尋的過程中,節點永遠無法搜尋到目標集合中的點
如圖,在根的左子項下是一個無限的“鏈”,其中每個節點的概率為1/2。在根的右子樹下是一個無限二叉樹,其中每個節點有兩個子節點,每個子節點的條件概率為1/2,因此每個節點的概率為2的-d此冪。在測試右側二叉樹中至少2個深度的節點(概率最多為1/4)之前,搜尋將無限多的概率為1/2的節點展開。將目標集定義為單個概率至多為1/4的任意節點集證明了這一觀點。
為了解決這個問題,我們從Levin Search(Levin,1973年,Trakhtenbrot,1984年)中獲得靈感,它(在不同的領域)用計算時間懲罰概率。這裡,我們用計算時間來表示節點的深度。新的Levin樹搜尋(Levints)演算法是TS的一個版本,其中節點按增加的成本d0(n)/π(n)進行擴充套件(參見演算法1)。Levints還執行狀態切割(參見演算法1的第10-15行)。也就是說,如果(i)策略π是馬爾可夫的,(ii)它已經擴充套件了另一個同樣表示s的節點n0,並且(iii)π(n0)≥π(n),則LevinTS不會擴充套件表示狀態s的節點n。通過只在滿足這三個條件時執行狀態削減,我們可以證明LevinTS以最佳的第一順序擴充套件狀態。
Theorem 2.
LevinTS首先以最佳的第一順序和最低的成本擴張