ビットボード
表示
ビットボード(英語: bitboard)はチェスやオセロなどのゲームの局面の状態を表すための方法のひとつ。
概要
[編集]「ビットセット (Bitset)」、「ビットマップ (Bitmap)」と呼ばれることもあり、駒・石の種類ごとにそれが存在する場合は1、存在しない場合は0を盤面のマスの数だけ並べる。
駒の利きや、相手の石を挟んだかどうかなどの判定や、駒の移動、石の反転などの処理をループを使わず、シフトや論理演算だけで複数の駒・石について同時に行うことができる(ビットパラレル性)ため、通常のデータ構造よりも処理が高速になる。
ゲームにおけるビットボード計算法
[編集]チェス・オセロはマス目の数が64なので、64ビットレジスタでひとつの駒・石の状態を表すことが可能で無駄が無い。将棋は81マスなので、128ビットレジスタまたは32ビットレジスタ * 3本でひとつの駒の状態を表すので、47ビットまたは15ビットが未使用となる。