-1表示狀態間不直連。例如0不能直接到達1。
現在可以增加一個相似的矩陣Q,它可以看作是agent的“大腦”,表示了agent通過學習環境留下的“記憶”,矩陣Q的行表示agent當前的狀態,列表示到達下一狀態可能的行爲。
Q學習算法步驟如下:
設置gamma參數以及矩陣R;
初始化矩陣Q;
對於每次episode:
隨機選擇一個初始狀態;
目標狀態沒有到達:
從當前狀態的所有行爲中選擇一個
轉移到下一狀態;
計算;
將下一狀態設爲當前狀態;
Agent通過以上算法進行學習,每次episode相當於一次訓練。在每一次訓練中,agent探索環境(矩陣R表示),接受獎勵直到到達目標狀態。訓練的目的是增強agent的大腦,即矩陣Q。訓練越多,Q結果越好。通過這種方式,如果Q被加強了,而不是反覆探索,不斷回到同一房間,就能快速找到目標狀態。
參數gamma的取值範圍是0-1,如果gamma趨近於0,則agent趨向於考慮瞬時獎勵,如果接近1,則趨向於未來的獎勵,延遲獎勵。