第25回世界コンピュータ将棋選手権 Sunfish アピール文書 過去に出場した時のプログラムを捨てて新規に作りなおしました。 前回のバージョンと異なり盤面の表現には Bitboard を使用しています。 現在のバージョンは Sunfish3 として常に最新のソースを公開しています。 以下を参照してください。 https://github.com/sunfish-shogi/sunfish3 独自の評価関数の作成は間に合わなかったため、 評価パラメータは Bonanza のものを使用しています。 一般に知られている探索手法では以下を採用しています。 - negascout - recursive iterative deepening - aspiration search - futility pruning - probcut - singular extension - null move pruning - distance pruning - razoring - move count based pruning - LMR - transposition table - history heuristics - SEE - killer move - SHEK - YBWC 細かいですが他のプログラムでおそらくやっていない主な点は以下が挙げられます。 - SEE の結果のキャッシュ - 静的評価の差分値のキャッシュ - シグモイド関数を使用した読み延長制御 - 3手詰み判定するかどうかを玉の位置と直前の指し手から判断