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.
Máscara de peões brancos
Um bit por casa
Convenção local fixa: os indicadores são lidos por fileiras, de até , depois de até e assim por diante até e . Um 1 indica pertencimento ao conjunto. Conjunto exibido, peões brancos: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. A vez de jogar e os demais dados FEN não fazem parte desta máscara.
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.
Máscara de ataques do cavalo
Uns sem peças
Mantém-se a mesma convenção de fileiras. Conjunto exibido, casas atacadas pelo cavalo branco de : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Os uns descrevem uma propriedade geométrica mesmo quando não há uma peça nessas casas.
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.
Interseção de ataque e ocupação
Resultado de A interseção B
Com a convenção de fileiras já declarada, A é o conjunto de casas atacadas pela torre branca de e B é o conjunto de casas ocupadas por peças pretas. O conjunto exibido é a interseção de A e B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Os bits ativos correspondem a e . O rei preto de pertence a B, mas não a A.
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
