Bitboard

Une représentation à 64 indicateurs valant zéro ou un, un par case, qui marque les cases appartenant à un ensemble choisi.

Explication

Un bitboard , ou échiquier de bits, représente un ensemble de cases de l'échiquier au moyen d'un nombre de 64 bits. Un bit est une unité qui ne peut prendre que la valeur 0 ou 1. Comme un échiquier compte 64 cases, un bit peut être associé à chacune d'elles.

Masque des pions blancs

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Les bits actifs correspondent aux pions blancs en , , et .
Un bit par case

Convention locale fixe : les indicateurs se lisent rangée par rangée, de à , puis de à , et ainsi de suite jusqu’à et . Un 1 indique l’appartenance à l’ensemble. Ensemble affiché, pions blancs : 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Le trait et les autres données FEN ne font pas partie de ce masque.

La valeur 1 ne signifie pas toujours qu'une pièce est présente. Elle indique que la case appartient à l'ensemble décrit par ce bitboard. Un bitboard peut marquer tous les pions blancs, toutes les cases attaquées par un cavalier, toutes les cases occupées ou tout autre groupe utile.

Masque des attaques du cavalier

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Les huit destinations géométriques du cavalier en forment l’ensemble, même si elles sont vides.
Des bits à 1 sans pièce

La même convention d’ordre des rangées est conservée. Ensemble affiché, cases attaquées par le cavalier blanc en : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Les 1 décrivent une propriété géométrique même si aucune pièce n’occupe ces cases.

Un maintient généralement plusieurs bitboards à la fois. Les opérations bit à bit, qui combinent directement les zéros et les uns, peuvent calculer l'intersection ou l'union d'ensembles, retirer des cases ou décaler des motifs avec très peu d'instructions du processeur. Cela favorise une génération rapide des coups et des attaques.

Intersection de l’attaque et de l’occupation

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
et appartiennent à A et à B : la tour en les attaque et une pièce noire les occupe.
Résultat de l’intersection de A et B

Avec la convention d’ordre des rangées déjà définie, A est l’ensemble des cases attaquées par la tour blanche en et B l’ensemble des cases occupées par des pièces noires. L’ensemble affiché est l’intersection de A et B : 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Les bits actifs correspondent à et . Le roi noir en appartient à B, mais pas à A.

Ce qu'un bitboard ne stocke pas à lui seul

  • Le type de chaque pièce, sauf si d'autres bitboards assurent cette séparation.
  • Le camp au trait.
  • Les droits de , c'est-à-dire si le mouvement spécial du roi avec une tour reste autorisé, et la possibilité de prise en passant, c'est-à-dire si un pion peut effectuer cette prise spéciale.

Une position complète combine ces informations avec plusieurs ensembles. Un bitboard n'est pas non plus une méthode de recherche comme l' ; c'est une représentation de l'information.

Confusions fréquentes

Un bitboard et l'état complet de l'échiquier

Un bitboard décrit normalement un ensemble de cases. Une position complète associe plusieurs ensembles à d'autres informations d'état.

Bitboard et bitbase

Un bitboard représente les cases d'une position; une bitbase stocke les résultats de nombreuses positions de finale.

Voir le terme

Sources

  1. 1.Bitboards, Chess Programming Wiki
  2. 2.bitboard.h, Stockfish

Termes associés

© 2026 MindZug