Uitleg
Een bitboard stelt een verzameling velden van het schaakbord voor met een 64-bits getal. Een bit is een eenheid die alleen 0 of 1 kan bevatten. Omdat een schaakbord 64 velden heeft, kan aan elk veld één bit worden toegewezen.
Masker van witte pionnen
Eén bit per veld
Vaste lokale conventie: de indicatoren worden per rij gelezen van tot en met , daarna van tot en met en zo verder tot en . Een 1 geeft aan dat het veld tot de verzameling behoort. Getoonde verzameling, witte pionnen: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. De partij aan zet en de overige FEN-gegevens maken geen deel uit van dit masker.
Een waarde van 1 betekent niet altijd dat er een stuk staat. Ze betekent dat het veld behoort tot de verzameling die dat bitboard beschrijft. Een bitboard kan alle witte pionnen, elk veld dat door een paard wordt aangevallen, alle bezette velden of een andere nuttige groep markeren.
Aanvalsmasker van het paard
Enen zonder stukken
Dezelfde rijvolgorde blijft gelden. Getoonde verzameling, velden die worden aangevallen door het witte paard op : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. De enen beschrijven een geometrische eigenschap, ook als er geen stuk op die velden staat.
Een houdt doorgaans meerdere bitboards tegelijk bij. Bitsgewijze bewerkingen, die de nullen en enen rechtstreeks combineren, kunnen verzamelingen doorsnijden, verenigen, velden verwijderen of patronen verschuiven met zeer weinig processorinstructies. Dit ondersteunt snelle generatie van zetten en aanvallen.
Doorsnede van aanval en bezetting
Resultaat van A ∩ B
Volgens de vastgelegde rijvolgorde is A de verzameling velden die door de witte toren op worden aangevallen en B de verzameling velden die door zwarte stukken worden bezet. De getoonde verzameling is de doorsnede van A en B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. De actieve bits komen overeen met en . De zwarte koning op behoort tot B, maar niet tot A.
Wat één bitboard niet zelfstandig opslaat
- Elk stuktype, tenzij andere bitboards voor die scheiding zorgen.
- Welke partij aan zet is.
- Rechten op , dus of de speciale koning-torenzet nog is toegestaan, en de beschikbaarheid van en passant, dus of een pion die bijzondere slag mag uitvoeren.
Een volledige stelling combineert die feiten met verschillende verzamelingen. Een bitboard is ook geen zoekmethode zoals ; het is een representatie van informatie.
Veelvoorkomende verwarringen
Een bitboard en de volledige bordtoestand
Een bitboard beschrijft normaal één verzameling velden. Een volledige stelling combineert meerdere verzamelingen met andere toestandsinformatie.
Bitboard en bitbase
Een bitboard stelt velden in één stelling voor; een bitbase slaat resultaten voor veel eindspelstellingen op.
Term bekijkenBronnen
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
