2016-08-24 78 views
1

我正在將Q-學習與函數逼近應用於每個狀態沒有相同動作集合的問題。還有,當我計算目標具有函數逼近的Q學習,其中每個狀態都沒有相同的動作集合

目標= R(S,A,S ')+(max_a' * Q(S',A'))

由於每個狀態不具有相同的一組動作,從而我是否應該在我的狀態定義中包含一系列操作?否則發生的事情是兩個狀態在所有其他特徵中可能彼此非常相似,除了它們具有非常不同的一組行爲之外。即使我包括一組動作,那麼問題就是矢量的長度,因爲每個狀態都有不同數量的動作。請幫幫我。

回答

0

我的建議是將動作表達爲特徵的加權和。

例如,如果您使用的是神經網絡,您的輸入圖層將是狀態,您的輸出圖層將是動作的特徵。您可以將Q(s,a)計算爲sum(NN(s)_i * a_i),其中NN(s)_i是神經網絡給定輸入s的第i個輸出神經元的值,a_i是給定以行動爲特徵a。

這也可以被解釋爲具有在最後一層具有預定權重的單個神經網絡,其對於每個輸入都是不同的。這在概念上非常混亂,但易於編程。

+0

對不起,我不明白你的解決方案。我所做的是每個狀態動作對是一組用於神經網絡和目標輸入層的特徵。T =從下一個狀態開始的即時獎勵+最大回報。但是因爲從下一個州向前的最大收益將會變化,因爲從下一個州向前可用的不同的一組行動。現在如何在當前狀態下捕獲它,而不包括當前狀態和動作對特徵向量中的從下一狀態開始可用的動作? – Prabir