توضیح
بیت واحدی از اطلاعات است که فقط مقدار 0 یا 1 میگیرد. یک بیتبیس پایانبازی به هر وضعیت در خانوادهای محدود از پایانبازیها یک یا چند بیت اختصاص میدهد. چون نتیجهها از پیش محاسبه شدهاند، برنامه میتواند بدون جستوجوی دوبارهٔ همهٔ ادامهها آنها را بازیابی کند.
فشردهترین شکل از یک بیت برای هر وضعیت استفاده میکند، برای نمونه 1 برای برد و 0 برای غیر برد. دو بیت میتوانند حالتهای بیشتری مانند برد، تساوی، باخت یا وضعیت نامعتبر را از هم جدا کنند. چون هر بیت فضای بسیار کمی میگیرد، میلیونها نتیجه در حافظهای نسبتاً اندک جای میگیرند.
این فشردگی هزینهای دارد. بیتبیس اغلب میگوید یک وضعیت چه نتیجهای دارد، اما ممکن است بهترین حرکت یا فاصله تا هدف را ذخیره نکند. یک میتواند حرکتهای قانونی را تولید کند، وضعیتهای حاصل را در بیتبیس جستوجو کند و انتخابی را بازسازی کند که نتیجه را حفظ میکند.
نباید آن را با اشتباه گرفت. بیتبورد مجموعهای از خانهها را درون یک وضعیت نمایش میدهد، در حالی که بیتبیس وضعیتهای کامل بسیاری را سازمان میدهد و برای هر کدام نتیجهای ذخیره میکند. بیتبیس همچنین لزوماً تیبلبیس غنی نیست، یعنی مجموعهٔ ازپیشمحاسبهشدهای از پایانبازیها که معیارهایی مانند یا را نیز در بر دارد.
کاربرد و بافت
بیتبیسها درون جستوجو بهویژه مفیدند، زیرا یک پاسخ فشردهٔ برد، تساوی یا باخت ممکن است برای توقف بررسی یک شاخه کافی باشد.
اشتباههای رایج
بیتبیس و بیتبورد
بیتبیس نتایج وضعیتهای بسیار را ذخیره میکند و بیتبورد خانههای یک وضعیت را توصیف میکند.
مشاهده اصطلاحبیتبیس و تیبلبیس کامل
بیتبیس فشردگی را در اولویت میگذارد و ممکن است فاصلهها یا حرکتهایی را که قالبهای غنیتر امکان استخراجشان را میدهند حذف کند.
منابع
- 1.Endgame Tablebases, Chess Programming Wiki
- 2.bitbase.cpp, Stockfish
