توضیح
یک بیتبورد مجموعهای از خانههای صفحهٔ شطرنج را با عددی 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
