Live briefing
Everything about Bitboard
Data structure in computer board games
A bitboard is a specialized bit array data structure commonly used in computer systems that play board games, where each bit corresponds to a game board space or piece. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: BitboardA 5-minute orientation
- Pick up a classic book: How to Write a Bitboard Chess EngineThe most-reprinted book on the subject
- Read the landmark paper: Bitboard knowledge base system and elegant search architectures for Connect6Cited 22 times
- Go sideways: Board representation (computer chess)A closely related topic
- Go sideways: Move generationA closely related topic
đź“– Definitions
Noun A specialized data structure, a bitset with each bit representing a game position or state, commonly used in computer systems that play board games.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
- 📕How to Write a Bitboard Chess EngineF. M. Bill Jordan · 2020
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Board representation (computer chess) Board representation in computer chess is a data structure in a chess program representing the position on the chessboard and associated game state. Board…
- Move generation Move generation is the computational process by which a program identifies the legal moves available from a given game state in computer chess and generally…
- Zobrist hashing Zobrist hashing (also referred to as Zobrist keys or Zobrist signatures ) is a hash function construction used in computer programs that play abstract…
- Judy array In computer science, a Judy array is an early-2000s Hewlett-Packard hand-optimized implementation of a 256-ary radix tree that uses many situational node…
- 0x88 The 0x88 chess board representation is a square-centric method of representing the chess board in computer chess programs. The number 0x88 is a hexadecimal…
- Bit array A bit array (also known as bit map, bit set, bit string, or bit vector) is an array data structure that compactly stores bits. It can be used to implement…
- Hamming weight The Hamming weight of a string is the number of symbols that are different from the zero-symbol of the alphabet used. It is thus equivalent to the Hamming…
- Transposition table A transposition table is a cache of previously seen positions, and associated evaluations, in a game tree generated by a computer game playing program…