フロッピーディスクに収まる評価関数バイナリ公開しました

NNUE評価関数は、ネットワーク構成を簡単にカスタマイズできるようになっている。

そこで、入力をK(玉のいる升)とP(どの升にどの駒がいるかに対応する値)だけにして(81升 + 1629通り = 1710)、hidden層の1層目を256×2、2層目・3層目を32にして学習させた。(K-P-256-32-32) NNUEを知らない人のために書くと、各層は全結合。

続きを読む

コンピュータ将棋プログラマが白旗を上げ始めたようです。

コンピュータ囲碁の世界では、長きに亘り良い評価関数を設計できずに苦心していました。評価関数というのは、人間で言うと大局観に当たる部分です。この部分をうまく設計するのが強い囲碁ソフトを作る上で必要不可欠なのですが、それは職人のような作業だと言われていました。

続きを読む

2倍の思考時間を使うと人間はR200上がるという根拠について

2つ前の記事で、「将棋ソフトでは、2倍の思考時間を使うとR200程度上がります。R200は勝率で言うと約76%。」というのを人間にも当てはめたのですが、それは人間では成り立たないのでは?という意見が散見されるのでこれに対して私の考えを書いておきます。

続きを読む

40コア以上でのLazy SMPの効率改善について

将棋ソフト『PAL』の山口さんからWCSC28のときに、やねうら王およびStockfishのLazy SMPの部分のコードだと、コア数が増えてきた時に同じdepthを探索しているスレッドが増えすぎて良くないのではないかという指摘があった。

続きを読む