強化学習によるリバーシの思考アルゴリズムの研究(1)
数学ダメな人がこんなことやってていいのだろうかと自問自答しつつ永らく煮詰めてきたネタがとうとう破綻してきたのでボチボチ記事化していくことにします。というより(満員電車のおかげですっかり)体が不健康なので思うように時間がとれず、その結果として研究もうまくすすまなくて、つまるところアウトプットが最近全くなくなっていたので、とりあえず研究しながらその成果をチマチマ出力していく感じにすることにしたわけです。
で、まず強化学習(reinforcement learning)とはなんぞやと。強化学習とはわかりやすくいえば環境モデルから最適と思われる行動方法を教師なしで学習するシステムのことです。詳しい説明は http://en.wikipedia.org/wiki/Reinforcement_learning を読んでもらうとして、なぜ学習対象にリバーシを選んだかですが、(1)(たぶん)誰もやってない、(2)手に関してある程度評価ができる、(3)誰でも知ってるゲーム、(4)実装が楽、だからです。ただ、周知のとおりリバーシは読み切りができ、かつ序盤中盤終盤の判定が比較的簡単に行なえることもあって、上級者すらもかないっこないような思考アルゴリズムが数多く存在するのも事実です。そんな中で指の数に入るようなアルゴリズムを強化学習で作るのはかなり難しいことですし、ほとんど不可能なことなのですが、上記の理由を考慮に入れてみたときに、やはりリバーシが面白そうだということでそれを選択しました。
さて本題に入る前に強化学習のデマでも見ておくことにしましょう。 ( http://neuromancer.eecs.umich.edu/cgi-bin/twiki/view/Main/MythsofRL より抜粋)
- RL ってでかい状態空間扱うの無理あるんじゃ?
- RL 遅いわ
- RL って全然成功例ないやん
- RL の関数近似ってしょぼいし
- 値関数の近似がうまくいかへん
- マルコフ的じゃないと一般的な RL の方法がつかえへん
- POMDP って RL で扱うのむずいわ
- RL は最適な方策を学習するもんやで
答えの理由はリンク先読んでもらうことにして、大体はごもっともなことを言っています。まあ質問が的外れすぎてなんともいえませんが。RL はいわば抽象的なアルゴリズムと言っていいかもしれません。例えばバックプロパゲーションは誤差を伝播することによって関数を近似しますが、RL は指定されない限り目的も持たないし手段も持たないのです。
そろそろ本題に入ろうと思ったのですが、疲れたので次の機会に。
- Category(s)
- program
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/rl-reversi-1/tbping