Пояснення
Біт є одиницею інформації, яка може містити лише 0 або 1. Ендшпільна бітбаза призначає один або кілька бітів кожній позиції в обмеженій родині ендшпілів. Оскільки результати обчислено заздалегідь, програма може знайти їх без повторного пошуку всіх продовжень.
Найкомпактніша форма використовує один біт на позицію, наприклад 1 для виграшу й 0 для відсутності виграшу. Два біти можуть розрізняти більше станів, як-от виграш, нічию, поразку або недійсну позицію. Оскільки кожен біт займає дуже мало місця, мільйони результатів уміщуються у відносно невеликому обсязі пам’яті.
Ця компактність має ціну. Бітбаза часто повідомляє, який результат має позиція, але може не зберігати найкращий хід або відстань до мети. може згенерувати легальні ходи, перевірити позиції, що виникають, і відновити вибір, який зберігає результат.
Її не слід плутати з . Бітборд представляє множину полів в одній позиції, а бітбаза організовує багато повних позицій і зберігає результат для кожної. Вона також не обов’язково є розширеною табличною базою, тобто попередньо обчисленою колекцією ендшпілів, що додатково містить такі метрики, як або .
Використання й контекст
Бітбази особливо корисні всередині пошуку, де компактної відповіді про виграш, нічию або поразку може бути достатньо, щоб припинити дослідження гілки.
Поширені непорозуміння
Бітбаза й бітборд
Бітбаза зберігає результати багатьох позицій, а бітборд описує поля в одній позиції.
Переглянути термінБітбаза й повна таблична база
Бітбаза надає перевагу компактності й може не містити відстаней або ходів, які багатші формати дозволяють програмі вивести.
Джерела
- 1.Endgame Tablebases, Chess Programming Wiki
- 2.bitbase.cpp, Stockfish
