FC『内藤九段将棋秘伝』解析中

思考ルーチンを少しずつ読んでます。以下の要素はだいたい読めた感じです:

  • 局面の特徴量計算
  • 候補手生成(1手読み)
  • PLAYER玉詰み判定

後は評価部だけと思われますが、結構いろいろな要素を評価してるのでもう少しかかりそうです。

以前COM玉の詰み判定がおかしいという記事を書きましたが、なんとなく原因がわかったかもしれません。このゲームはCOM玉に関しては専用の詰み判定ルーチンが存在せず、全候補手を試した上でどうしても玉が取られるなら詰みと判定するようになっているようですが、王手対応に関して全ての手を網羅できていないように思われます。

ルート局面で王手をかけられている場合、なるべく安い駒で合駒するという処理が入っているようですが、指し手データが駒を打つ手とそうでない手どちらも表現できる構造になっているため、駒を打たない手が既に(その時点での)最善手として選ばれていると合駒する手が全部捨てられてしまい、その他の候補手も一部捨てられてしまうものと思われます(まだ全部読んでないので間違ってるかもしれませんが)。

追記: 安い駒で合駒する処理は持駒を打つ手の場合のみ実行されるようなので、上の記述は勘違いだったみたいです。ただ王手対応が完璧かというとやはり怪しい感じはします。