2

我需要一些幫助來解決使用Q學習算法的問題。Qlearning - 定義狀態和獎勵

問題描述:

我有一個火箭模擬器,其中,所述火箭採取隨機路徑和也崩潰有時。火箭有3種不同的發動機可以打開或關閉。取決於哪個(些)發動機被激活,火箭飛向不同的方向。

用於開啓引擎關閉/開啓功能可

enter image description here

任務:

構建Q學習控制器,它會變成火箭面對所有的時間。

讀取火箭角度的傳感器可用作輸入。

我的解決辦法:

我有以下狀態:

enter image description here

我也有下列行爲:

  • 所有發動機關閉
  • 左發動機上
  • 發動機中右發動機上
  • 左右的
  • 左邊和中間的
  • 右兩側及上

與以下獎勵:

角度= 0 ,獎勵= 100 所有其他角度,獎勵= 0

問題:

現在回答這個問題,這是獎勵和狀態的好選擇嗎?我能改善我的解決方案嗎?在其他角度獲得更多獎勵會更好嗎?

在此先感謝

+0

這場比賽的目標是什麼?登月火箭般登月?還是它需要僅僅飛行而不會崩潰? –

+0

嗨!目標是讓它面向北方並向上飛。它總是飛行,但我需要使它向上飛行。它不能崩潰。當它到達北方並且不能走得更遠時,它就會重新開始。 – mrjasmin

+0

。使用我目前的解決方案,它向上飛行,但沒有優化。 – mrjasmin

回答

4

16個州×7周的行動是一個非常小的問題。

其他角度的獎勵會幫助你更快地學習,但以後會根據你的動態情況創建奇怪的行爲。

如果你沒有動力,你可能會減少狀態的數量,這將加快學習和減少內存使用率(這已經很小)。要查找最佳狀態數,請嘗試減少狀態數,同時分析多個遊戲中的獎勵/時間步長等度量標準或多個遊戲中的平均誤差(通過開始角度標準化)。一些國家代表可能比其他國家表現好得多。如果不是,選擇收斂最快的一個。你的小Q表應該相對便宜。

如果您想快速學習,您還可以嘗試使用Q-lambda或其他修改的強化學習算法來利用時間差異學習。

編輯:根據你的動態,這個問題實際上可能不適合作爲馬爾可夫決策過程。例如,您可能需要包含當前的轉速。

1

嘗試在所需狀態旁邊的狀態中放置較小的獎勵。這會讓你的經紀人學習更快。