Sunfish について * 内部表現と手生成 配列による表現(いわゆる駒番号)を使用しています。 去年までの様な bitboard との併用はしていません。 各マスについて、 <短い利き12方向> + <長い利き8方向> + <玉からの仮想の利き8方向> を持っています。 <玉からの仮想の利き>は今回のバージョンから導入しましたが、 既に採用していたプログラムは複数あるようです。 玉との位置関係をインデックスとするテーブルを用いて、 「ある駒が移動することで王手しうるかどうか」を (おそらく)高速に判定します。 また、去年と異なり今年は C++ の template 関数を多用しています。 高速化にどれだけ貢献しているかの評価はまだ行っていません。 * 探索 多くの部分は Sunfish 2.0 と同じですが、 一部実装が追いついていないために去年の劣化番の用な状態です。 * ソースコード http://sourceforge.jp/users/sunfish-shogi/pf/Sunfish/scm/