今回はStockfishのtypes.hの解説です。このファイルはBonanza6で言うとshogi.hに相当するもので、チェスで使う基本的な構造体の定義が一式書かれています。このファイルの内容を頭においてからソースコードを読み進めれば細部まで理解しやすいでしょう。
Stockfish DD – types.h
5
今回はStockfishのtypes.hの解説です。このファイルはBonanza6で言うとshogi.hに相当するもので、チェスで使う基本的な構造体の定義が一式書かれています。このファイルの内容を頭においてからソースコードを読み進めれば細部まで理解しやすいでしょう。
今回はUCI制御部について解説します。
UCIというのは、Chess用のプロトコルでして、UCIのCがChessの頭文字です。将棋の場合、ご存知の通り、USIプロトコルであり、USIのSがShogiの頭文字です。
今回紹介するのはStockfish DDの置換表の実装です。
最新のStockfishの実装では置換表の1エントリーがStockfish DDからさらに節約されていますが、ハッシュキーのbit数を減らしてあるのでハッシュ衝突の確率が上がるため一概に良いとは言えません。
以前、Stockfishのソースコードの完全解析をしたときの内容を少しずつ公開していきます。