詰将棋の無駄合の定義について(長文)

詰将棋ルーチンを書いていると詰将棋の無駄合のルールがとてもややこしいことに気づきます。本当にややこしいので、無駄合を考慮する詰将棋ルーチンはプログラマーなら誰も書きたがらないことが多く、一部の開発者以外この問題と正面から向き合おうともしていません。

続きを読む

PolicyNetworkだけの将棋ソフトの強さは?

いまのDeep Learning系の上位の将棋ソフトは、AlphaZeroのアーキテクチャに倣っていて、局面を入力し、Policy(次のよさげな一手が最大値になる)とValue(期待勝率)を出力している。では、Policyだけで1手も先の局面を調べない場合、どれくらいの強さになるのだろうか?

続きを読む

誰もdlshogiには敵わなくなって将棋AIの世界が終わってしまった件

いま大会上位に位置するDeep Learning系の将棋AIは、評価関数として画像認識などでよく使われているResNetを用いている。ResNetについては機械学習を齧っている人ならば誰でも知ってるぐらい有名だと思うので、詳しい説明は割愛する。(ググれば詳しい説明がいくらでも出てくる)

続きを読む

NNUE評価関数、新しい時代の夜明け

いま、将棋AIの世界はdlshogiに代表されるDeep Learning型の将棋ソフトと、αβ探索を用いる従来型の将棋ソフトとに大きく二分される。後者の上位ソフトは、評価関数にNNUE評価関数を採用しており、後者のタイプのソフトはNNUE型と呼ばれるほどの一大勢力を築き上げている。

このNNUE評価関数を設計したのは、tanuki-チーム(当時)の那須さんである。NNUEは浅い層からなるニューラルネットワークだが、那須さんの実装は、C++ templateで書かれていて、層を増やしたり特徴量の数を変更したりできるようになっていた。

続きを読む

対局ゲーム標準通信プロトコルの提案

将棋AIは現在のほとんどの将棋ソフトはUSIプロトコルというプロトコルを採用している。これはチェスAIのプロトコルであるUCIプロトコルをそのまま将棋に転用したものであり、長年の運用により特に大きな問題がないことが実証されている。

続きを読む