Q learning簡化過程

2021-08-19 19:17:48 字數 647 閱讀 1099

q learning裡的核心思想是如下公式:

其中,第乙個q(s, a)是更新後的值,第二個 q(s, a)是q表中值,a是指學習效率,r是獎勵值。\gamma是折扣因子。第三個q是指要選取q表中的最大值。最後乙個表示q表中值,與第二個q一樣。

現在通過書中的偽**來展示q-learning的過程:

1. 初始化q-table:q-table|s|*|a|的矩陣。其中,|s|代表了所有的狀態,|a|代表了所有的動作。矩陣中各個元素首先初始化為0。

2. 進入迴圈1

3. 進入迴圈2:

3.1 帶入當前狀態。若為第一次迴圈,此處需隨機選擇乙個狀態作為初始狀態;

3.2 為該狀態選擇乙個動作:需注意,此處有乙個學習效率。選擇動作的方法為:agent有1-a的概率,隨機選擇動作;有a的概率,選擇對應q值最大的動作;

3.3 據當前狀態s和當前動作a,得出下乙個狀態s『和獎勵r;

3.4 通過上圖公式更新q-table;

3.5 更新狀態。

注意:迴圈1的結束可以為q-table中的值收斂。也可以為乙個固定值,例如整個程式執行1000次,停止。迴圈2的結束條件為到達最終狀態。

Q learning訓練過程

下面的偽 說明了我們如何訓練,來得到乙個盡量完美的q 初始化 q while q 未收斂 初始化小鳥的位置s,開始新一輪遊戲 while s 死亡狀態 使用策略 獲得動作a s 使用動作a進行遊戲,獲得小鳥的新位置s 與獎勵r s,a q s,a 1 q s,a r s,a max q s a 更新...

StringCopy 函式的簡化過程

下面是stringcopy 函式的最原始版本,基於標準庫的strcpy 該函式用了陣列符號,較為容易理解 char stringcopy char dest char sour dest i 0 return dest 下面是stringcopy 函式的另外乙個版本,用指標代替陣列,完成了同樣的功能...

SSL會話的簡化過程

1 客戶端傳送可供選擇的加密方式,並向伺服器請求證書 2 服務端傳送證書,選定加密方式並告知客戶端 3 客戶端取得證書並進行證書的驗證 如果信任發證的ca a.驗證證書 的合法性 用ca的公鑰解密數字簽名 b.驗證證書的內容合法性 完整性驗證 c.檢查證書的有效期限 d.檢查證書是否被吊銷 e.證書...