GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

GPW論文紹介

 という訳で、私が聞いていて気になった論文をざっくり紹介したいと思います。詳細に関しては後日論文が公開されるかと思いますので、そちらを参照して下さい。

 後、多分に間違いが含まれているはずですので、詳しい事は論文参照という事でお願いします。

囲碁における大局観を実現する広域パターンマッチング

 囲碁で主流のモンテカルロ木探索において、プレイアウトの良し悪しが重要なのでそこを改善しようという論文。

 従来は3x3等、比較的狭い範囲のパターンが用いられてきたが、それでは盤面全体を見渡した着手が出来ないので何とかしようという話でした。

 で、その為に

  1. 各交点*1の周囲の石の配置から、交点の勢力分布を計算する。
  2. 勢力分布と石の数を元に盤面を粗視化し、粗視化した盤面の各部分を「白の陣地」「黒の陣地」「未開」「勢力拮抗」の4つに分類。
  3. 粗視化・分類した結果を元にパターンマッチングする。

という処理を行うらしいです。

 例えば、「白の陣地」「未開」「白の陣地」という順に横に並んでいたら、「未開」の部分に黒が割って入って連絡を阻止するとか、そういう事が出来る様になるという話でした。

 で、コンピュータ将棋への応用が出来ないか考えてみたんですが、囲碁アルゴリズムそのまんまじゃ難しそうですね。

 囲碁の石と違って、将棋の駒にはそれぞれ異なる特性がありますので、その辺を考慮して粗視化しないといけないんじゃないかと思っています。例えば「先手の陣地で王将がいる」とか「戦場*2で、かつ先手の飛車の利きがある」とか、そんな感じになるでしょうか。

 この辺の粗視化の話は、パターン認識とかの分野では散々やり尽くされていると思うので、パターン認識の技術を勉強してみると何か分かるかもしれません。

大規模な対局に基づいた教師データの重要度の学習

 ボナンザメソッドや実現確率の計算では全棋譜・全局面の重みを均等にしているが、様々な要因によって真の重みに差が出るはず。なので、進化的計算によって重みを調整しようという話でした。

 具体的には、進化的計算の一種であるPBILc*3を用いて棋譜・局面の重みを学習し、重みの適応度*4にはボナメソ・実現確率の計算を行った後の複数のパラメータ同士での対局結果を用いるらしいです。

 重み付けを行わない従来手法で学習したパラメータに対して提案手法で学習したパラメータが勝ち越していますし、なかなか良さそうな方法だと思います。

 論文では棋譜・局面の重み付けに使用していましたが、学習のメタパラメータの調整一般に使えるかもしれないので、一度試してみたいです。ただ、論文に「大規模な計算環境を用いた」と書いてありますし、対局・適応度計算にかなりの時間/マシンパワーが必要そうなので、私が使うのは難しいかもしれません。

 マシンパワーに関しては対策は考えてはいるのですが、ちゃんと動くかどうかは要検討って所です。

多様性に注目した将棋プレイヤの集団学習に関する調査

 昨年のGPWで発表があった研究の続きみたいです。

 基本はBaggingを用いたボナンザメソッドで、更新則を4つ用意して比較してた結果が検討されていました。

 まだ改善の余地はある様なので、今後に期待です。いい方法が開発されたら、GA将も真似をしようかと考えています。

その他

 ポスターセッションでは「将棋における棋風を形成する特徴要素の統計的分析」とか気になる発表もあったんですが、自分の発表もあったので見に行く事は出来ませんでした。ただ、予稿集には載ってるので、そっちを読んでみようかと思います。

 個人的に興味が有るのは将棋(や、他のゲーム)での学習なので、そっち方面の論文に偏ってしまいましたが、これから予稿集を読む人の参考になれば嬉しいです。

 あと、「この発表の内容を教えろやゴルァ」とコメントして頂ければ、分かる範囲で追記しますのでお待ちしています。

*1:石を打つ場所

*2:先後の駒がほぼ同数

*3:Cotinuous Population Based Incremental Learning

*4:重みの良し悪しを測った指標