Wyjaśnienie
Bitboard reprezentuje zbiór pól szachownicy za pomocą liczby 64-bitowej. Bit jest jednostką, która może przyjmować tylko wartość 0 albo 1. Ponieważ szachownica ma 64 pola, każdemu polu można przypisać jeden bit.
Maska białych pionów
Jeden bit na pole
Stała lokalna konwencja: wskaźniki odczytuje się liniami od do , następnie od do i dalej aż do oraz . Wartość 1 oznacza przynależność do zbioru. Pokazany zbiór, białe piony: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Strona na ruchu i pozostałe dane FEN nie należą do tej maski.
Wartość 1 nie zawsze oznacza obecność bierki. Informuje, że dane pole należy do zbioru opisywanego przez ten bitboard. Jeden bitboard może zaznaczać wszystkie białe piony, każde pole atakowane przez skoczka, wszystkie zajęte pola albo dowolną inną użyteczną grupę.
Maska ataków skoczka
Jedynki bez figur
Zachowano tę samą kolejność linii. Pokazany zbiór, pola atakowane przez białego skoczka z : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Jedynki opisują właściwość geometryczną, nawet gdy na tych polach nie stoją figury.
zwykle utrzymuje jednocześnie kilka bitboardów. Operacje bitowe, które bezpośrednio łączą zera i jedynki, mogą przecinać zbiory, sumować je, usuwać pola lub przesuwać wzorce za pomocą bardzo niewielu instrukcji procesora. Umożliwia to szybkie generowanie ruchów i ataków.
Część wspólna ataku i zajętości
Wynik A ∩ B
Zgodnie z ustaloną kolejnością linii A jest zbiorem pól atakowanych przez białą wieżę z , a B zbiorem pól zajętych przez czarne figury. Pokazany zbiór to A ∩ B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Aktywne bity odpowiadają i . Czarny król na należy do B, ale nie do A.
Czego pojedynczy bitboard sam nie przechowuje
- Typu każdej bierki, chyba że rozróżnienie to zapewniają inne bitboardy.
- Informacji, która strona jest na posunięciu.
- Praw do , czyli informacji, czy szczególny ruch króla i wieży jest jeszcze dozwolony, oraz możliwości bicia w przelocie, czyli wykonania tego specjalnego bicia pionem.
Pełna pozycja łączy te informacje z kilkoma zbiorami. Bitboard nie jest też metodą przeszukiwania taką jak . Jest sposobem reprezentowania informacji.
Częste nieporozumienia
Bitboard a pełny stan szachownicy
Bitboard zwykle opisuje jeden zbiór pól. Pełna pozycja łączy kilka zbiorów z innymi informacjami o stanie.
Bitboard a bitbase
Bitboard reprezentuje pola w jednej pozycji, a bitbase przechowuje wyniki wielu pozycji końcowych.
Zobacz terminŹródła
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
