読者です 読者をやめる 読者になる 読者になる

Aestetica

コンピュータ将棋Selene(セレネ)を作っています。名前は西海枝昌彦(さいかいし まさひこ)と読みます。

なにをやってたか

仕事帰りの駅で、ぼーっとして下りのエスカレーターに乗っていたら前に髪を染めた人が立っていて、フト心の中で「茶色頭さん」と思いつく。
これはヒドイ。私はもう、結構ないい年なんだけど、いくらぼーっとしていたとしても、これはヒドイ。
なんだそれはあだ名なのか?と、ひとりで可笑しくなってくる。

最近まあ、ベタなことに面白さを感じるようになってきて、こないだも飲み会終わりに「お疲れ様でしたー」とかなんとか言いつつ、それぞれが駅のほうに向かって歩いていると、違う方向に行った人が大声で「デビルチョップはパンチ力だぞ!わかったか!?」と叫んでたんだけど、これはヒドイ。まずもって相当に古い、俺以外の若い子ら、みんな知らなくてきょとんとしてるし。さらにその当時から高レベルのベタ。それを言ってケラケラ笑っていいのは小学校2年まで。と、当時の私が言ってた。
かなり酔っぱらっているとはいえ、これはヒドイわー。とか思ってたら、帰りの電車で思い出し笑い。

という、バックボーンを一切話さずに、若い子に「なんかベタなこと言って。早く。いいから早く!早く早く!」とか言うから、またパワハラとか言われるんだなあ。


6月後半は四半期終わりなので忙しいのです。今年は特にいろいろ忙しかった。
なにをやっていたのかというと。

まず、技巧の評価値を他でも使えるようにして試す。これは確かに試行数少なくてもいけそう。利きがすごい。
技巧では、駒のリストを差分で計算できるようになっていて、例えば、普通は「よし!盤面を評価しちゃうぞー!」となってから駒の位置を数えだし、そして計算するんだけど、最初に駒リストを作り、一手指すごとに駒リストをそこだけ書き換えている。
毎回、駒の位置を全量把握しなくてよいので速度的に有利。

Seleneではこないだまで駒番号というものを持っていて、盤面の駒に1~40番の番号をつけ、それと対にして駒のリストを保持していたので、結局は技巧の方式と似たようなことになるんだけど、駒番号を持たなくても、盤面の位置と対応するインデックスを持つことで同じことができるんですね。なるほど・・。
駒番号つけたほうが簡単な感じがしないでもないけど、処理速度的にはほとんど変わらないです。人によっていろいろだなあ。

それと、私は今まで学習のところはPolicy-based designを使用していたけど、技巧ではPolicyのところを引数渡しにしている(本来は派生させる)。
と、いうことは、C++の超有名ライブラリであるlokiを読まずに、自力でここまで打ったの?!と、びっくり。

他には、棋譜から棋風の方策を抽出できるかいろいろ試す。何人かの無作為に選んだ棋士と他の方の棋譜の差分をいろいろな特徴ベクトルで見てみました。なんとなく予想はしていたけど、結構差がでるもんなんですね。
これができると、棋譜なしで学習させて、特定の棋士と同じような棋風になるはず。

と、いうような実験も踏まえつつ、新しいやり方の学習のなにがいいんだかお試し中。
やはり、2駒、もしくは3駒にできるかぎり詰め込んだほうが少ない対局数で学習できる。10万局程度で見切るようになったらいいなあ・・。