誤植の訂正
p.123(第2段落の第2文)
誤:そして次は、α=1.0の場合です。
正:そして次は、α=0.0の場合です。
p.193 (下から6行目の末尾)
誤:極端に小さな値()
正:極端に小さな値()
コードの訂正
GitHub 上のコードも修正してあります。
p.253([MGT-04]のコメント部分)
誤:
21: return 0, s_new, True # Reward, Next state, Game over 22: return 1, s_new, False # Reward, Next state, Game over
正:
21: return 0, s_new, True # Reward, Next position, Is game over? 22: return 1, s_new, False # Reward, Next position, Is game over?
p.213 (SARSA の実装コード:[MSA-05])
誤:
16: a_new = agent.policy[s]
正:
16: a_new = agent.policy[s_new]
※ この修正に伴い、コードの実行結果が少し変化するため、関連する本文の内容を次のように変更させていただきます。
p.214([MSA-09] の出力結果とその直後の一文)
[変更前]
############ #++++++++++# # +# ####### +# # +# # ++++++++# # + ####### # + # # +++++++G# ############
ここでは、ε=0 を指定して、ランダムな行動は混ぜないようにしていますが、最短の経路を学ぶことはできていないようです。先に説明したように、SARSAでは、 ランダムな行動が混ざったデータを本来の行動ポリシーに基づいたデータとみなして 学習します。そのため、学習結果にこのような変動が発生します。
[変更後]
############ #+++++++ # # + # #######+ # # +++ # # ++ # # +####### # ++ # # +++++G# ############
この例では、うまく最短の経路が学習できているようです。ただし、先に説明したように、SARSAでは、ランダムな行動が混ざったデータを本来の行動ポリシーに基づいたデータとみなして学習するため、もう少し複雑な問題になると、最短経路の学習に失敗する可能性が大きくなります(章末の演習問題2を参照)。
p.216(図4.13)
[変更後]
#----------# #S G# # #### # # #### # # # # # # # ############
※ SARSA が最短経路の学習に失敗しやすくなるように、迷路の形を変更しました。
p.218(図4.17:SARSAによる学習結果)
[変更後]
#----------# #+ G# #+ #### +# #+ ####+++# #++++++++ # # # # # ############