最近、コンピュータ将棋やコンピュータオセロでbitboardという技法が注目を浴びている。特にコンピュータオセロでのbitboardのテクニックは凄まじく効果があるので、ここで概要だけ紹介しておく。*1 bitboardとは、1bpp(bit per pixel)のbitmapである。オセロであれば盤面は8×8 = 64マスなので、黒の駒が存在するbitを1,存在しないbitを0とすれば、黒の駒を表現するbitboardは64bit型整数で表現できる。同様に白の駒を表現するのも64bit型整数で表現できる。そうなると struct bitboard { u64 black,white; }; と、たったこれだけで盤面を表現できる。 このように表現すると、水平方向に駒が裏が返せるかの判定はテーブル処理で済む。さらに、盤面の90゜回転や45度回転はビット演算のテクニックで行なえることが知られて