Explicación
Un bitboard, o tablero de bits, representa un conjunto de casillas mediante un número de 64 bits. Un bit es una unidad que solo puede valer 0 o 1. Como el tablero tiene 64 casillas, puede asignarse un bit a cada una.
El valor 1 no significa siempre que haya una pieza. Significa que la casilla pertenece al conjunto que ese bitboard describe. Un tablero de bits puede marcar todos los peones blancos, las casillas atacadas por un caballo, las casillas ocupadas o cualquier otro grupo útil.
Un suele mantener varios bitboards a la vez. Las operaciones binarias, que combinan directamente ceros y unos, permiten intersectar conjuntos, unirlos, excluir casillas o desplazar patrones con muy pocas instrucciones del procesador. Esto ayuda a generar movimientos y ataques con rapidez.
Lo que no guarda por sí solo
- El tipo de cada pieza, salvo que otros bitboards aporten esa separación.
- A quién le toca mover.
- Los derechos de , es decir, si todavía está permitido el movimiento especial del rey con una torre, y la disponibilidad de captura al paso, una captura especial de peón.
Una posición completa combina esos datos con varios conjuntos. Un bitboard tampoco es un algoritmo de búsqueda como la ; es una forma de representar información.
Confusiones frecuentes
Un bitboard y el tablero completo
Un bitboard describe normalmente un conjunto de casillas. Una posición completa combina varios conjuntos y datos de estado.
Bitboard y bitbase
Un bitboard representa casillas de una posición; una bitbase almacena resultados para muchas posiciones de finales.
Ver términoFuentes
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
