Erklärung
Ein Bitboard stellt eine Menge von Schachbrettfeldern durch eine 64-Bit-Zahl dar. Ein Bit ist eine Einheit, die nur den Wert 0 oder 1 annehmen kann. Da ein Schachbrett 64 Felder hat, kann jedem Feld ein Bit zugeordnet werden.
Maske der weißen Bauern
Ein Bit pro Feld
Feste lokale Konvention: Die Indikatoren werden reihenweise von bis , dann von bis und so weiter bis und gelesen. Eine 1 kennzeichnet die Zugehörigkeit zur Menge. Dargestellte Menge, weiße Bauern: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Das Zugrecht und die übrigen FEN-Daten sind nicht Bestandteil dieser Maske.
Der Wert 1 bedeutet nicht immer, dass eine Figur vorhanden ist. Er bedeutet, dass das Feld zur Menge gehört, die dieses Bitboard beschreibt. Ein Bitboard kann alle weißen Bauern, jedes von einem Springer angegriffene Feld, sämtliche besetzten Felder oder jede andere nützliche Gruppe markieren.
Angriffsmaske des Springers
Einsen ohne Figuren
Dieselbe Reihenkonvention gilt weiterhin. Dargestellte Menge, vom weißen Springer auf angegriffene Felder: 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Die Einsen beschreiben eine geometrische Eigenschaft, auch wenn auf diesen Feldern keine Figur steht.
Eine verwaltet gewöhnlich mehrere Bitboards gleichzeitig. Bitweise Operationen, die Nullen und Einsen direkt kombinieren, können Mengen schneiden, vereinigen, Felder entfernen oder Muster mit sehr wenigen Prozessoranweisungen verschieben. Das unterstützt eine schnelle Erzeugung von Zügen und Angriffen.
Schnittmenge aus Angriff und Besetzung
Ergebnis von A ∩ B
Gemäß der festgelegten Reihenfolge ist A die Menge der vom weißen Turm auf angegriffenen Felder und B die Menge der von schwarzen Figuren besetzten Felder. Die dargestellte Menge ist die Schnittmenge von A und B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Die aktiven Bits entsprechen und . Der schwarze König auf gehört zu B, aber nicht zu A.
Was ein einzelnes Bitboard nicht selbst speichert
- Jeden Figurentyp, sofern andere Bitboards diese Trennung nicht bereitstellen.
- Welche Seite am Zug ist.
- Die , also ob der besondere Zug von König und Turm noch erlaubt ist, sowie die Verfügbarkeit von en passant, also ob ein Bauer diesen besonderen Schlagzug ausführen kann.
Eine vollständige Stellung verbindet diese Angaben mit mehreren Mengen. Ein Bitboard ist außerdem kein Suchverfahren wie die , sondern eine Darstellung von Informationen.
Häufige Verwechslungen
Ein Bitboard und der vollständige Stellungszustand
Ein Bitboard beschreibt normalerweise eine Menge von Feldern. Eine vollständige Stellung verbindet mehrere Mengen mit weiteren Zustandsangaben.
Bitboard und Bitbase
Ein Bitboard stellt Felder in einer Stellung dar, eine Bitbase speichert Ergebnisse für viele Endspielstellungen.
Begriff anzeigenQuellen
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
