icoxfog417 / baby-steps-of-rl-ja

Pythonで学ぶ強化学習 -入門から実践まで- サンプルコード
Apache License 2.0
431 stars 262 forks source link

Code1.2のEnvironmentがActionを持っている件について #26

Closed tanakataiki closed 5 years ago

tanakataiki commented 5 years ago

指摘事項

素晴らしい解説ありがとうございます.課金しました.(本を買いました) 気になったことなのですが,Day1とDay2のマルコフ決定過程で,Environmentが直接Actionを持っている状態のようなのですが,個人的には,EnvironmentがAgentを持っていて,AgentがActionを持っているような気がするのですが,やっぱりActionはEnvironmentが持つべきものなのでしょうか?

と,じゃあどうなるのよと思い,最小限の変更になるようにいじってみたコードは以下になります. https://github.com/tanakataiki/baby-steps-of-rl-ja/commit/2226bfe7f1a680aa74fbb8a1a7f7baecad109d2e

間違っていましたらすみません.

指摘箇所

ページ番号: p23~47

実行環境

エラー内容

完ぺきです!

icoxfog417 commented 5 years ago

強化学習では、一般的にどんな環境でも報酬が獲得できるAgent(アルゴリズム)の作成を目指します。例えば、サッカーでも野球でもバレーボールでも素早く学習できる選手(アルゴリズム)を生むイメージです。この例の場合、競技がEnvironmentで選手がAgentになります。競技によって可能なActionは異なりますし(ボールを蹴る、打つetc・・・)、Actionの結果も異なります(バレーではボールに触ってもOKだがサッカーではNGなど)。環境におけるAction/Stateなどはルールのようなもので、選手にとってルールは与えられるもので持ち物ではない、という感じです。

tanakataiki commented 5 years ago

なるほど、AgentやEnvironmentはルールを持っているという考え方なんですね。しっくりきました。 ありがとうございます。