めも

卒論のことについて。現在までのところをおおまかにまとめておこうと思う。
以前とのおおきな変更点はupdateする場所をPre_think()にうつしたこと。今まではアクションを選んで、(サーバーに送って)すぐにupdate()で次状態を観測するようになっていた。しかしながら、ステップが一つ移ってから行動を選ぶ前までにおこなわれれば良い訳であった。よって、行動選択前の初期化の際にupdateをいれるということにした。

またボールが見えているかという判断はIs_visibleではなく、worldmodel.ball.known_pos()を使うのであった。thank to takuya.
また、状態がbefore_kick_offとPlay_onのみでしか動かなかないようにしていたので、ボールがラインを割ると途端に止まっていた。これも行動を選ぶのはキックオフ前でないかぎりという判断にした。またQ値の初期設定を20にさげてみた。(以前の100だと収束が遅いため)
とりあえずこの状態で何万回かステップを実行させてみて、シミュレートしてみたところ、結果は2ー3となっていた。自分のゴールに3回、相手ゴールに2回蹴りこんだということだ。
ゴールが入ったということは大きな進歩であるけど、実際にはもっとがんがん効率よくゴールに蹴りこんでくれることを期待していた。敵がいないのだから。。。

報酬のあたえ方に問題点がのこるかもしれない。
ところで、最近の大きなポイントは「理想値」に近いQ値を自分で代入したら、効率よくゴールに向かうようになるのか。ということだった。ということで、状況におうじて選んで欲しい行動の価値をあげて、そうでないものは負の値をいれてみて動かしてみる。これが、先ほどのゴールが合計5つというものだ。一晩中やって2回しか蹴らなかった状況よりはよいけれど、手で「こうしろよ」という情報をある程度与えてやったのにこれかい、って感じ。