Spiegazione
Un bitboard rappresenta un insieme di case della scacchiera mediante un numero a 64 bit. Un bit è un’unità che può contenere soltanto 0 o 1. Poiché una scacchiera ha 64 case, a ogni casa può essere assegnato un bit.
Maschera dei pedoni bianchi
Un bit per casa
Convenzione locale fissa: gli indicatori si leggono per traverse da a , poi da a e così via fino ad e . Un 1 indica l'appartenenza all'insieme. Insieme mostrato, pedoni bianchi: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Il tratto e gli altri dati FEN non fanno parte di questa maschera.
Il valore 1 non significa sempre che sia presente un pezzo. Significa che la casa appartiene all’insieme descritto da quel bitboard. Un bitboard può indicare tutti i pedoni bianchi, ogni casa attaccata da un cavallo, tutte le case occupate o qualunque altro gruppo utile.
Maschera degli attacchi del cavallo
Bit a 1 senza pezzi
Si mantiene la stessa convenzione per le traverse. Insieme mostrato, case attaccate dal cavallo bianco in : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Gli 1 descrivono una proprietà geometrica anche quando su quelle case non si trova alcun pezzo.
Un mantiene normalmente più bitboard contemporaneamente. Le operazioni bit a bit, che combinano direttamente gli zero e gli uno, possono intersecare insiemi, unirli, rimuovere case o traslare schemi con pochissime istruzioni del processore. Ciò favorisce una rapida generazione di mosse e attacchi.
Intersezione tra attacco e occupazione
Risultato dell'intersezione tra A e B
Con la convenzione per le traverse già dichiarata, A è l'insieme delle case attaccate dalla torre bianca in e B è l'insieme delle case occupate da pezzi neri. L'insieme mostrato è l'intersezione tra A e B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. I bit attivi corrispondono a e . Il re nero in appartiene a B, ma non ad A.
Che cosa non memorizza da solo un bitboard
- Ogni tipo di pezzo, a meno che altri bitboard non forniscano questa separazione.
- Quale parte deve muovere.
- I diritti di , cioè se la speciale mossa congiunta di re e torre è ancora consentita, e la disponibilità della presa en passant, cioè se un pedone può eseguire quella cattura speciale.
Una posizione completa combina questi dati con diversi insiemi. Un bitboard non è neppure un metodo di ricerca come la ; è una rappresentazione delle informazioni.
Confusioni comuni
Un bitboard e lo stato completo della scacchiera
Un bitboard descrive normalmente un solo insieme di case. Una posizione completa combina più insiemi con altre informazioni di stato.
Bitboard e bitbase
Un bitboard rappresenta case di una posizione; una bitbase memorizza risultati per molte posizioni di finale.
Visualizza termineFonti
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
