비트보드

칸마다 하나씩 배정된 64개의 0 또는 1 표시로 선택한 집합에 속하는 칸을 나타내는 표현 방식.

설명

비트보드는 64비트 숫자로 체스판 칸의 집합을 나타낸다. 비트는 0 또는 1만 담을 수 있는 단위다. 체스판에는 64칸이 있으므로 각 칸에 비트 하나를 배정할 수 있다.

값 1이 항상 기물이 있다는 뜻은 아니다. 해당 칸이 그 비트보드가 설명하는 집합에 속한다는 뜻이다. 비트보드는 모든 백 폰, 나이트가 공격하는 모든 칸, 점유된 모든 칸이나 그 밖의 유용한 집합을 표시할 수 있다.

은 보통 여러 비트보드를 동시에 유지한다. 0과 1을 직접 결합하는 비트 연산은 매우 적은 프로세서 명령으로 집합의 교집합을 구하고, 합치고, 칸을 제외하거나 패턴을 이동할 수 있다. 이는 수와 공격을 빠르게 생성하는 데 도움이 된다.

비트보드 하나만으로 저장하지 않는 정보

  • 다른 비트보드가 구분 정보를 제공하지 않는 한 각 기물의 종류.
  • 어느 쪽이 둘 차례인지.
  • 킹과 룩의 특수 수가 아직 허용되는지를 뜻하는 권리와 폰이 특수 포획을 할 수 있는지를 뜻하는 앙파상 가능 여부.

완전한 포지션은 이러한 사실과 여러 집합을 결합한다. 비트보드는 같은 탐색 방법도 아니다. 정보를 표현하는 방식이다.

자주 혼동하는 개념

비트보드와 완전한 보드 상태

비트보드는 보통 하나의 칸 집합을 설명한다. 완전한 포지션은 여러 집합과 다른 상태 정보를 결합한다.

비트보드와 비트베이스

비트보드는 한 포지션의 칸을 표현하고, 비트베이스는 많은 엔드게임 포지션의 결과를 저장한다.

용어 보기

출처

  1. 1.Bitboards, Chess Programming Wiki
  2. 2.bitboard.h, Stockfish

관련 용어

© 2026 MindZug