dai-chn's blog
← posts/

棋想エンジンについて

棋想に同梱している「Kisou Engine」について紹介します。

Kisou Engineとは

現在同梱している「Kisou Engine v1」は、NNUE型の思考エンジンです。 評価関数は自作、探索部はやねうら王です。

強さ

条件を揃えて測ると、水匠10と互角か若干強いかな?というところです。有料で公開されている最新の水匠11Plusには及びません。 強いエンジンが欲しい、という方は、やねうらお氏のFANBOXなどに入られると良いと思います。

これは私の技術力が高いというよりは、コンピュータ将棋コミュニティで培われた技術を勉強してなぞったに過ぎません。 知見を公開いただいているコミュニティの皆様に感謝いたします。

詳細

具体的には以下のように強さを計測しました。

  • 同じやねうら王のビルドに評価関数だけを差し替えて対局
  • 両者の探索速度(NPS)の比でノード数を割り当て
  • 1スレッド、置換表64MB、定跡なし
  • 互角局面集から、先後を入れ替えて2400局

水匠10との結果は、Kisou Engine視点で +19.0 [+5.1, +32.9] Elo でした。([ ] は95%信頼区間)

探索部のパラメータ、多スレッドや長い持ち時間の環境では、この値は容易に変動しうるので、参考程度の値です。

作成

近年、NNUE型の思考エンジンは、知識蒸留という手法で強さを伸ばしているようでした。 DeepLearning系モデルの局面評価を教師としてNNUEを学習させる手法です。

ただしこの際、大きい(強い)モデルを蒸留元にすればNNUEもより強くなるかというと、そういうわけでもないそうです。

どういうモデルが蒸留元として理想なのか知りたくもあったので、DeepLearning系モデルを自作し、それを蒸留元として学習したのがKisou Engine v1です。

しっかり測定できているか自信がないですが、自作の蒸留元から学習したモデルは、公開されているDL水匠などを蒸留元としたときと同等またはわずかに強くなりました。

加えて、探索部のパラメータと、量子化の条件をデフォルトから変更してあります。

コーディングエージェントの威力

評価関数を作るにあたり、私はコードをほとんど触っていません。 ほとんどClaude Codeに書いてもらっています。

回してほしい学習の指示や、結果の考察だけスマホから行い、待つだけです。 さくさく開発が進むのでとっても楽しいとともに、少し寂しくもあります。

まとめ

Kisou Engineについて紹介しました。

今後も開発を続けて、電竜戦など出られたらなぁと思っています。

あとは、人間にもっと寄り添った盤面評価を提供するなども挑戦してみたいです。(人間にとっての勝ちやすさなど?)

Kisou Engine のバージョンアップをお楽しみに!

comments/

読み込んでいます。