Бітборд

Представлення з 64 індикаторами нуля або одиниці, по одному на поле, яке позначає належність полів до вибраної множини.

Пояснення

Бітборд представляє множину полів шахової дошки 64-бітним числом. Біт є одиницею, що може мати лише значення 0 або 1. Оскільки шахова дошка має 64 поля, кожному можна призначити один біт.

Маска білих пішаків

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Активні біти відповідають білим пішакам на , , та .
Один біт на кожне поле

Фіксована локальна домовленість: індикатори читають по горизонталях від до , потім від до і так далі до та . 1 означає належність до множини. Показана множина білих пішаків: 00000000/00000000/00000000/00000000/00000000/00101000/10000001/00000000. Черга ходу та інші дані FEN не входять до цієї маски.

Значення 1 не завжди означає наявність фігури. Воно означає, що поле належить до множини, яку описує цей бітборд. Бітборд може позначати всіх білих пішаків, кожне поле під атакою коня, усі зайняті поля або будь-яку іншу корисну групу.

Маска атак коня

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Вісім геометричних полів призначення коня з утворюють множину, хоча вони порожні.
Одиниці без фігур

Збережено ту саму домовленість про порядок горизонталей. Показана множина полів, атакованих білим конем із : 00000000/00000000/00101000/01000100/00000000/01000100/00101000/00000000. Одиниці описують геометричну властивість, навіть якщо на цих полях немає фігур.

зазвичай підтримує кілька бітбордів одночасно. Побітові операції, які безпосередньо поєднують нулі та одиниці, можуть перетинати множини, об’єднувати їх, вилучати поля або зсувати шаблони за дуже малу кількість інструкцій процесора. Це підтримує швидку генерацію ходів та атак.

Перетин масок атаки та зайнятості

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
та належать і до A, і до B: тура на атакує ці поля, а чорні фігури їх займають.
Результат A ∩ B

За вже визначеним порядком горизонталей A є множиною полів, атакованих білою турою з , а B є множиною полів, зайнятих чорними фігурами. Показана множина є перетином A і B: 00000000/00000000/00000000/00010000/00000000/00000000/00000000/00000001. Активні біти відповідають та . Чорний король на належить до B, але не до A.

Чого один бітборд не зберігає самостійно

  • Усі типи фігур, якщо це розділення не надають інші бітборди.
  • Чия черга ходити.
  • , тобто чи ще дозволений спеціальний хід короля й тури, та можливість взяття на проході, тобто чи може пішак виконати це спеціальне взяття.

Повна позиція поєднує ці факти з кількома множинами. Бітборд також не є методом пошуку, як , а лише способом представлення інформації.

Поширені непорозуміння

Бітборд і повний стан дошки

Бітборд зазвичай описує одну множину полів. Повна позиція поєднує кілька множин з іншими даними стану.

Бітборд і бітбаза

Бітборд представляє поля в одній позиції, а бітбаза зберігає результати для багатьох ендшпільних позицій.

Переглянути термін

Джерела

  1. 1.Bitboards, Chess Programming Wiki
  2. 2.bitboard.h, Stockfish

Пов'язані терміни

© 2026 MindZug