将棋AIには、もう人間は勝てません。だからこの展示は勝ち負けを競う場では なく、「無敵のAIが盤の上で何を見て、何を切り捨てているか」 を覗く場にしています。指すたびにAIの評価値・読み筋・探索したノード数を 生の数値でそのまま表示します。負けても構いません——「なぜその手が 見えなかったのか」が分かることが、この展示のゴールです。
対局・解析中の来訪者がいない間、エンジンは初期局面をずっと読み続けています。 いま実際に動いている探索の統計です(対局/解析リクエストが来ると そちらが優先され、鼓動は一時的に止まります)。
読み筋: -
将棋AIは中では専用の複雑な仕組みで喋っているわけではなく、USIという ただのテキストプロトコルで対話しています。例えば こんな具合です:
> position startpos moves 7g7f > go movetime 1000 < info depth 18 score cp 42 nodes 1203877 nps 1115734 pv 3c3d 2g2f < bestmove 3c3d
評価値(score)・読みの深さ(depth)・探索したノード数(nodes)・読み筋(pv)—— これらは全てAIが実際に喋っている生のテキストです。この展示では 追加の可視化ロジックをほとんど作り込まず、この生データをそのまま見せています。
エンジン本体はやねうら王
(GPLv3、無改変)。評価関数はelmo
(2019年WCSC29版、開発者瀧澤誠氏が無償公開)を使用しています。
将棋のルール(合法手判定・王手・詰み判定)はこのサイトの自前実装
(shogi_core.js)で、エンジンには評価と探索だけを委ねています。