Aestetica

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

開発やらいろいろ

手品は基本見るだけ。いくつか簡単なやつはできます。
大脱出は違う意味合いならやったことがあります。


Stockfish強い・・。
まだいろいろできてないんだけども。探索の根元を変えたバージョンを作成中。
それと同時に、基礎的なものを集計中。

Stockfishは、こうしている今も、ちょこっと変えては何万局、結構変えては何万局試す。ということを並列に延々と繰り返しています。
ここ。
http://tests.stockfishchess.org/tests

パソコンも人もたくさんなので、がしがし強くなっていきます。
まず追い付くのが厳しい。追い付いたとしても、数か月で追い抜かれるので厳しい。ほんとに厳しい。

中には「ふっふっふ。コレよりもアレのほうが強くなるのだが、まだ気づいてないようだな」というようなことも、数か月たつと「気づいてるし!!反映されてるし!!!」ということもちょくちょく(と言いながら2回)。

Bonanza6からStockfish取り込みで、どのくらい?+500~+600?700くらいはいくのかどうなのか。

おととしなんかだと、Seleneの探索のほうがStockfishよりも2~3手深く読めていて(局面によってはさらに数手)、ただ局面によっては読み抜けをしてしまう不具合(?)がありました。6:4くらいだから約+100?
このときに、コンピュータチェスの大会にも出ておけば良かったか。

Seleneの開発系統は大きく2種類あって、比較的普通に頑張って作っているもの(初代Selene~電王トーナメント用)と、自分自身の新しい技術獲得のためのチャレンジ(選手権用)のもの。

あと一応。
※move count pruningと、Multi LMRというかなんというか、深さと指し手数でreductionを変える手法については、Stockfishを見て同じアルゴリズムSeleneでも使用しています(ただし条件、数値は異なる)。

激指のアピール文書とかfloodgateの棋譜を見る。

1. 一局数秒から数十秒で終わる浅い探索で自己対戦棋譜を多数作成する。

強化学習の場合、結構、第一の難関みたいな感じです。「多数作成する」ということが難しいです。
floodgateを見るかぎり、定跡を使用している?どうなんだろう。

2. 各棋譜から10局面程度ランダムにサンプリングする。

マジですか・・。

3. 各局面の特徴ベクトルから勝敗を予測するロジスティック回帰モデルを
  SGD (batchsize = 1000) で学習する。

マジですか・・。

従来手法である、プロ棋士棋譜を用いた指し手の比較学
習(ボナンザメソッド)との対戦では、自己対戦棋譜の量が100万局程度で
ほぼ互角になるようです。


いやその、1局から10局面しか使用していないので、実質約10万局分。
互角になりますか・・。

実現確率は棋譜から学習していない?定跡も使っていないだとすると、これはもう、非常にやばかった序盤の対処が完全にできているということです。それが実質10万局で得られるのであれば、あとは自己対戦をやり続けるだけで強くなりますね。