Bitboard

Reprezentacja z 64 wskaźnikami o wartości zero lub jeden, po jednym dla każdego pola, zaznaczająca pola należące do wybranego zbioru.

Ta wersja jest tymczasowo wyświetlana po angielsku. Pełna lokalizacja zostanie dodana na późniejszym etapie.

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

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Aktywne bity odpowiadają białym pionom na , , i .
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

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Osiem geometrycznych pól docelowych skoczka z tworzy zbiór, mimo że są puste.
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

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
i należą zarówno do A, jak i do B. Wieża z je atakuje, a czarna figura je zajmuje.
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. 1.Bitboards, Chess Programming Wiki
  2. 2.bitboard.h, Stockfish

Powiązane terminy

© 2026 MindZug