Пояснення
Бітборд представляє множину полів шахової дошки 64-бітним числом. Біт є одиницею, що може мати лише значення 0 або 1. Оскільки шахова дошка має 64 поля, кожному можна призначити один біт.
Маска білих пішаків
Один біт на кожне поле
Фіксована локальна домовленість: індикатори читають по горизонталях від до , потім від до і так далі до та . 1 означає належність до множини. Показана множина білих пішаків: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Черга ходу та інші дані FEN не входять до цієї маски.
Значення 1 не завжди означає наявність фігури. Воно означає, що поле належить до множини, яку описує цей бітборд. Бітборд може позначати всіх білих пішаків, кожне поле під атакою коня, усі зайняті поля або будь-яку іншу корисну групу.
Маска атак коня
Одиниці без фігур
Збережено ту саму домовленість про порядок горизонталей. Показана множина полів, атакованих білим конем із : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Одиниці описують геометричну властивість, навіть якщо на цих полях немає фігур.
зазвичай підтримує кілька бітбордів одночасно. Побітові операції, які безпосередньо поєднують нулі та одиниці, можуть перетинати множини, об’єднувати їх, вилучати поля або зсувати шаблони за дуже малу кількість інструкцій процесора. Це підтримує швидку генерацію ходів та атак.
Перетин масок атаки та зайнятості
Результат A ∩ B
За вже визначеним порядком горизонталей A є множиною полів, атакованих білою турою з , а B є множиною полів, зайнятих чорними фігурами. Показана множина є перетином A і B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Активні біти відповідають та . Чорний король на належить до B, але не до A.
Чого один бітборд не зберігає самостійно
- Усі типи фігур, якщо це розділення не надають інші бітборди.
- Чия черга ходити.
- , тобто чи ще дозволений спеціальний хід короля й тури, та можливість взяття на проході, тобто чи може пішак виконати це спеціальне взяття.
Повна позиція поєднує ці факти з кількома множинами. Бітборд також не є методом пошуку, як , а лише способом представлення інформації.
Поширені непорозуміння
Бітборд і повний стан дошки
Бітборд зазвичай описує одну множину полів. Повна позиція поєднує кілька множин з іншими даними стану.
Бітборд і бітбаза
Бітборд представляє поля в одній позиції, а бітбаза зберігає результати для багатьох ендшпільних позицій.
Переглянути термінДжерела
- 1.Bitboards, Chess Programming Wiki
- 2.bitboard.h, Stockfish
