Wyjaśnienie
Bit jest jednostką informacji, która może przyjmować tylko wartość 0 albo 1. Bitbase końcówek przypisuje jeden lub kilka bitów każdej pozycji z ograniczonej rodziny końcówek. Ponieważ wyniki są obliczone wcześniej, program może je odczytać bez ponownego przeszukiwania wszystkich kontynuacji.
Najbardziej zwarta forma używa jednego bitu na pozycję, na przykład 1 dla wygranej i 0 dla braku wygranej. Dwa bity pozwalają rozróżnić więcej stanów, takich jak wygrana, remis, przegrana lub pozycja nieprawidłowa. Ponieważ każdy bit zajmuje bardzo mało miejsca, miliony wyników mogą się zmieścić w stosunkowo niewielkiej pamięci.
Ta zwartość ma swoją cenę. Bitbase często odpowiada, jaki wynik ma dana pozycja, ale może nie przechowywać najlepszego ruchu ani odległości do celu. może wygenerować legalne ruchy, odczytać wynik powstałych pozycji i odtworzyć wybór zachowujący rezultat.
Nie należy jej mylić z . Bitboard reprezentuje zbiór pól w jednej pozycji, natomiast bitbase organizuje wiele pełnych pozycji i przechowuje wynik każdej z nich. Nie musi też być rozbudowaną bazą końcówek, czyli wstępnie obliczonym zbiorem zawierającym dodatkowo metryki takie jak lub .
Użycie i kontekst
Bitbazy są szczególnie użyteczne wewnątrz przeszukiwania, gdzie zwięzła odpowiedź o wygranej, remisie lub przegranej może wystarczyć do zatrzymania badania gałęzi.
Częste nieporozumienia
Bitbase a bitboard
Bitbase przechowuje wyniki wielu pozycji, a bitboard opisuje pola w jednej pozycji.
Zobacz terminBitbase a pełna baza końcówek
Bitbase stawia na zwartość i może pomijać odległości lub ruchy, które bogatsze formaty pozwalają programowi wyprowadzić.
Źródła
- 1.Endgame Tablebases, Chess Programming Wiki
- 2.bitbase.cpp, Stockfish
