Explicação
Um bitboard, ou tabuleiro de bits, representa um conjunto de casas do tabuleiro com um número de 64 bits. Um bit é uma unidade que só pode armazenar 0 ou 1. Como o tabuleiro de xadrez tem 64 casas, um bit pode ser atribuído a cada casa.
O valor 1 nem sempre significa que há uma peça presente. Significa que a casa pertence ao conjunto descrito por aquele bitboard. Um bitboard pode marcar todos os peões brancos, cada casa atacada por um cavalo, todas as casas ocupadas ou qualquer outro grupo útil.
Um normalmente mantém vários bitboards ao mesmo tempo. Operações bit a bit, que combinam diretamente os zeros e uns, podem intersectar conjuntos, uni-los, remover casas ou deslocar padrões com pouquíssimas instruções do processador. Isso permite gerar lances e ataques rapidamente.
O que um bitboard não armazena sozinho
- Todos os tipos de peça, a menos que outros bitboards façam essa separação.
- Qual lado tem a vez de jogar.
- Os direitos de , isto é, se o movimento especial do rei com uma torre ainda é permitido, e a disponibilidade de en passant, isto é, se um peão pode realizar essa captura especial.
Uma posição completa combina esses dados com vários conjuntos. Um bitboard também não é um método de busca como a ; é uma forma de representar informações.
Confusões frequentes
Um bitboard e o estado completo do tabuleiro
Um bitboard normalmente descreve um conjunto de casas. Uma posição completa combina vários conjuntos com outras informações de estado.
Bitboard e bitbase
Um bitboard representa casas de uma posição; uma bitbase armazena resultados para muitas posições de finais.
Ver termoFontes
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
