لوحة البت

لوحة البتات هي بنية بيانات مصفوفة بتات متخصصة تستخدم عادة في أنظمة الكمبيوتر التي تلعب ألعاب الطاولة ، حيث يتوافق كل بت مع مساحة أو قطعة على لوحة اللعبة .

تُطبَّق هذه التقنية على أي لعبة لوحية يُمثَّل وضع لعبها بوجود قطع على مساحات منفصلة على لوحة اللعب، بما في ذلك الشطرنج والداما والأوثيلو وألعاب الكلمات . وقد استُخدمت لأول مرة في برامج الداما في خمسينيات القرن الماضي، ومنذ منتصف سبعينيات القرن الماضي أصبحت المعيار الفعلي لتمثيل لوحة اللعب في الأتمتة الحاسوبية.

بالمقارنة مع تمثيل صندوق البريد التقليدي ، حيث تكون كل قطعة أو مساحة على اللوحة عبارة عن عنصر مصفوفة، فإن لوحات البت هي تمثيل للوحة أكثر كفاءة من حيث المساحة .

غالبًا ما تكون لوحات البت أكثر كفاءة من حيث الوقت . فعندما تتسع بتات الحالات المرتبطة على لوحة البت في كلمة واحدة أو كلمتين من بنية وحدة المعالجة المركزية، يمكن استخدام عوامل منطقية أحادية البت مثل AND و OR للعمل على لوحة البت. هذه العمليات المنطقية المتوازية أسرع بكثير في ضبط حالات اللعبة والاستعلام عنها، وتحديد الحركات واللعب، مقارنةً بإجراء عمليات تكرارية على مصفوفة تمثيلية.

تستخدم محركات الشطرنج الحديثة في الغالب لوحات البت السحرية، والتي تستخدم التجزئة المثالية لربط قناع شغل القطعة مباشرة بمصفوفة محسوبة مسبقًا من أنماط الهجوم في عملية بحث واحدة.

وصف

لوحة البتات هي حقل بتات متخصص: وهو تنسيق يمثل حالة لعبة لوحية عن طريق تجميع متغيرات منطقية متعددة في نفس كلمة الآلة. يمثل كل بت مساحة؛ عندما يكون البت موجبًا، تكون إحدى خصائص تلك المساحة صحيحة.

تُمكّن لوحات البتات الحاسوب من الإجابة عن أسئلة حول حالة اللعبة باستخدام عدد قليل جدًا من عمليات البت. على سبيل المثال، إذا أراد برنامج شطرنج معرفة ما إذا كان لدى اللاعب الأبيض أي بيادق في وسط الرقعة (المربعات الأربعة المركزية)، فيمكنه ببساطة مقارنة لوحة بتات خاصة ببيادق اللاعب مع لوحة بتات خاصة بوسط الرقعة باستخدام عملية AND المنطقية. إذا لم تكن هناك بيادق في الوسط، فستكون النتيجة أصفارًا (أي تساوي صفرًا). قد تُمثل لوحات بتات متعددة خصائص مختلفة للمساحات على الرقعة، وقد تُمثل لوحات بتات خاصة أو مؤقتة (مثل المتغيرات المؤقتة) خصائص محلية أو تحتفظ بنتائج وسيطة مُجمّعة.

تتعزز فعالية لوحات البتات بفضل خاصيتين إضافيتين في تنفيذها. أولاً، تتميز لوحات البتات بسرعة تحديثها التدريجي؛ على سبيل المثال، يتم قلب البتات في مواقع المصدر والوجهة في لوحة البتات لتحديد موقع القطعة عند تحريكها. ثانياً، يمكن تجميع خرائط البتات التي تمثل خصائص ثابتة، مثل جميع المساحات التي يهاجمها كل نوع من القطع لكل موقع على رقعة الشطرنج، وتخزينها مسبقاً في جدول. وهذا يسمح بالإجابة على سؤال مثل "ما هي الحركات القانونية للحصان على المربع e4؟" بجلبة واحدة من الذاكرة.

تستفيد تطبيقات لوحة البت من وجود عمليات منطقية على مستوى البت (32 بت أو 64 بت) مثل AND وOR وNOT وغيرها في معالجات وحدة المعالجة المركزية الحديثة لضمان سرعة العمليات. قد لا تكون لوحات البت بنفس الكفاءة على معالجات الحواسيب الصغيرة والمعالجات الدقيقة القديمة ذات 8 و16 بت.

تطبيق

نظراً لأن تنفيذ لوحات البت يتطلب ضغطًا وتشفيرًا صحيحًا للجداول الضخمة وحالات اللعبة المعقدة، فإن برامج لوحات البت يمكن أن تكون شاقة على مطوري البرامج لكتابتها وتصحيح أخطائها.

استخدام المعالج

المزايا

تستخدم تمثيلات لوحة البت عمليات بتية متوازية متوفرة في جميع وحدات المعالجة المركزية تقريبًا ، وتُنجز في دورة واحدة، وتُعدّ عادةً من أسرع التعليمات (بفضل تقنية خط الأنابيب والتخزين المؤقت، بالإضافة إلى تحسينات أخرى خاصة بوحدة المعالجة المركزية). تحتوي جميع وحدات المعالجة المركزية تقريبًا على عمليات AND و OR و NOR و XOR . علاوة على ذلك، تحتوي وحدات المعالجة المركزية الحديثة على خطوط أنابيب تعليمات تُرتّب التعليمات في قائمة انتظار للتنفيذ. يمكن للمعالج ذي وحدات التنفيذ المتعددة تنفيذ أكثر من تعليمة واحدة في الدورة الواحدة إذا توفرت أكثر من تعليمة واحدة في خط الأنابيب. قد تؤدي تسلسلات التعليمات العادية ذات الفروع إلى إفراغ خط الأنابيب في حال التنبؤ الخاطئ بالفرع. تتطلب العديد من عمليات لوحة البت عددًا أقل من الشروط، مما يزيد من كفاءة خط الأنابيب ويُحسّن استخدام وحدات التنفيذ المتعددة في العديد من وحدات المعالجة المركزية.

تتميز وحدات المعالجة المركزية بعرض بت ، وهو عدد عمليات البت التي يمكن تنفيذها في دورة واحدة. في وحدة معالجة مركزية 64 بت أو أكبر، يمكن تنفيذ عمليات 64 بت في تعليمة واحدة. قد يكون هناك دعم لتعليمات ذات عرض بت أكبر أو أصغر. قد تحتوي العديد من وحدات المعالجة المركزية 32 بت على بعض تعليمات 64 بت، وقد تستغرق هذه التعليمات أكثر من دورة واحدة أو تكون أبطأ مقارنةً بتعليمات 32 بت.

إذا كان حجم لوحة البتات أكبر من عرض مجموعة التعليمات، فسيلزم تنفيذ عملية كاملة العرض عليها باستخدام عدة تعليمات. وبالتالي، فإن البرنامج الذي يستخدم لوحات بتات 64 بت سيعمل بشكل أسرع على معالج 64 بت مقارنةً بمعالج 32 بت.

العيوب

تتميز تمثيلات لوحة البتات بشفرة أطول بكثير، سواءً كانت شفرة المصدر أو شفرة الكائن. وتُعدّ كتابة وتصحيح تسلسلات التلاعب الطويلة بالبتات أمرًا معقدًا من الناحية التقنية. وقد تؤدي هذه المشكلة إلى زيادة حالات عدم العثور على البيانات في ذاكرة التخزين المؤقت أو التسبب في تذبذبها.

إذا لم يكن لدى المعالج تعليمات الأجهزة لـ "الأول" (أو " عد الأصفار البادئة ") و " عد الآحاد " (أو "عد الأصفار")، فسيكون التنفيذ معاقًا بشكل كبير، لأن هذه العمليات غير فعالة للغاية في البرمجة كحلقات أو بنيات عالية المستوى أخرى.

استخدام الذاكرة المؤقتة والذاكرة

المزايا

تتطلب لوحات البت ذاكرة أكبر من هياكل بيانات لوحات قوائم القطع، لكنها أكثر كفاءة في التنفيذ لأن العديد من عمليات التكرار والمقارنة تُختزل إلى عملية بت واحدة (أو عدد قليل من العمليات). على سبيل المثال، في صندوق البريد، يتطلب تحديد ما إذا كانت القطعة تهاجم المساحة توليدَ حركات القطعة المسموح بها والتكرار عليها ومقارنة المساحة النهائية بالمساحة . في لوحات البت، تُخزَّن حركات القطعة المسموح بها في خريطة بت، وتُجرى عملية AND بين هذه الخريطة وخريطة بت المساحة . تعني النتيجة غير الصفرية أن القطعة تهاجم المساحة .

العيوب

في بعض الألعاب، يتطلب كتابة محرك لوحة البتات كمية كبيرة من التعليمات البرمجية المصدرية، بما في ذلك جداول بيانات أطول من تلك المستخدمة في تنفيذ صندوق البريد/التعداد المُصغّر. قد يُسبب هذا مشاكل للأجهزة المحمولة (مثل الهواتف) ذات عدد محدود من المسجلات أو ذاكرة التخزين المؤقت لتعليمات المعالج. أما بالنسبة لأجهزة الكمبيوتر كاملة الحجم، فقد يتسبب ذلك في حدوث أخطاء في ذاكرة التخزين المؤقت بين المستوى الأول والمستوى الثاني. هذه مجرد مشكلة محتملة، وليست عيبًا جوهريًا، إذ أن معظم الأجهزة تمتلك ذاكرة تخزين مؤقت كافية للتعليمات بحيث لا تُشكل هذه المشكلة عائقًا.

تحديث تدريجي

تُشتق بعض أنواع لوحات البت من أنواع أخرى عبر عملية معقدة من الارتباط المتبادل، مثل خرائط الهجوم في الشطرنج. قد تكون إعادة تشكيل جميع هذه الخرائط عند كل تغيير في حالة اللعبة (مثل نقلة) مكلفة للغاية، لذا يتم تحديث خرائط البت المشتقة تدريجيًا، وهي عملية تتطلب شيفرة برمجية دقيقة ومعقدة. هذا أسرع بكثير في التنفيذ، لأنه لا يلزم تغيير سوى خرائط البت المرتبطة بالمساحات المتغيرة، وليس جميع خرائط البت على اللوحة. بدون التحديث التدريجي، قد لا يكون تمثيل خرائط البت أكثر كفاءة من تمثيل صندوق البريد القديم حيث يكون التحديث محليًا وتدريجيًا بطبيعته.

الصور النقطية المحسوبة مسبقًا والبحث في الجداول

يمكن حساب بعض أنواع الصور النقطية التي لا تعتمد على تكوينات اللوحة مسبقًا واسترجاعها عن طريق البحث في الجدول بدلاً من تجميعها بعد حركة أو تغيير حالة اللوحة، مثل المساحات التي هاجمها حصان أو ملك موجودة في كل من 64 مساحة من رقعة الشطرنج والتي تتطلب تعدادًا بخلاف ذلك.

في الشطرنج

أبسط تمثيل لتوزيع قطع الشطرنج على رقعة الشطرنج هو قائمة (مصفوفة) من القطع مرتبة ترتيبًا يسهل البحث فيه (مثلًا من الأصغر إلى الأكبر قيمةً)، حيث تُحدد كل قطعة موقعها على الرقعة. وبالمثل، يتطلب تجميع المساحات التي تهاجمها كل قطعة تعدادًا تسلسليًا لهذه المساحات. تُسمى هذه الطريقة " عنونة صندوق البريد" . تُحفظ قوائم منفصلة للقطع البيضاء والسوداء، وغالبًا للبيادق البيضاء والسوداء أيضًا. تُحدَّث الخرائط مع كل نقلة، مما يتطلب بحثًا خطيًا (أو بحثين إذا تم أسر قطعة) في قائمة القطع. تتميز عنونة صندوق البريد ببساطة الكود، لكن عيبها بطء عمليات البحث الخطي. أما لوحات البت فهي أسرع، لكنها أكثر تعقيدًا.

معيار

رقعة شطرنج مع تدوين جبري

في تمثيلات لوحة البت، يرتبط كل بت من كلمة 64 بت (أو كلمة مزدوجة على معمارية 32 بت) بمربع من مربعات رقعة الشطرنج. يمكن استخدام أي ربط للبتات بالمربعات، ولكن وفقًا للعرف السائد، ترتبط البتات بالمربعات من اليسار إلى اليمين ومن الأسفل إلى الأعلى، بحيث يمثل البت 0 المربع a1، والبت 7 المربع h1، والبت 56 المربع a8، والبت 63 المربع h8.

غالبًا ما تُمثَّل العديد من التكوينات المختلفة للرقعة بلوحات بت خاصة بها، بما في ذلك مواقع الملك، وجميع البيادق البيضاء، وجميع البيادق السوداء، بالإضافة إلى لوحات بت لكل نوع من أنواع القطع الأخرى أو مجموعات القطع، مثل جميع القطع البيضاء. كما توجد لوحتا بت للهجوم عالميتان: لوحة بت لكل مربع لجميع القطع التي تهاجم المربع، ولوحة بت معكوسة لجميع المربعات التي تهاجمها قطعة لكل مربع يحتوي على قطعة. يمكن أن تكون لوحات البت أيضًا ثوابت، مثل تلك التي تُمثِّل الصف الأول، والتي تحتوي على بت واحد في المواضع من 0 إلى 7. يمكن تجميع لوحات بت محلية أو انتقالية أخرى، مثل "جميع المساحات المجاورة للملك التي تهاجمها قطع الخصم"، حسب الحاجة أو الملاءمة. [ 1 ]

ومن الأمثلة على استخدام لوحات البت تحديد ما إذا كانت قطعة ما في وضعية الاقتحام : فلوحات البت الخاصة بـ "جميع القطع الصديقة التي تحرس المساحة " و "جميع القطع المعارضة التي تهاجم المساحة " ستسمح بمطابقة القطع لتحديد ما إذا كانت قطعة مستهدفة على المساحة في وضعية الاقتحام بسهولة .

من عيوب لوحات البتات القياسية صعوبة تجميع مسارات الهجوم للقطع المنزلقة (الرخ، الفيل، الملكة)، لأن عدد مساحات الهجوم المتاحة لها غير محدد، ويعتمد ذلك على المساحات الأخرى المشغولة. وهذا يتطلب عدة سلاسل طويلة من الأقنعة والإزاحات والمكملات لكل قطعة.

تمثيلات لوحة البت المساعدة

بالنسبة للقطع المنزلقة في الشطرنج (الرخ، والأساقفة، والملكات)، فإن تحديد الهجمات الصحيحة للقطعة أمر معقد حسابيًا لأن الحركات القانونية تعتمد على إعاقة القطع على طول شعاع معين من القطعة.

تم ابتكار هياكل بيانات بديلة للوحات البتات لتقليل حجم الشيفرة البرمجية وتعقيد الحوسبة اللازمة لإنشاء لوحات البتات الخاصة بمتجهات هجوم القطع المنزلقة. ولا تتأثر تمثيلات لوحات البتات الخاصة بالفرسان والملوك والبيادق وغيرها من تكوينات اللوحة باستخدام لوحات بتات مساعدة للقطع المنزلقة.

لوحات البت الدوارة

تُعدّ لوحات البتات المُدوّرة هياكل بيانات تكميلية للوحات البتات، تُتيح تنظيم متجهات هجوم القطع المنزلقة في جداول، جدول لمتجهات هجوم الرخ على الأعمدة، وجدول لكل من متجهات الهجوم القطرية والقطرية المضادة للأساقفة (يمكن فهرسة هجمات الرخ على الرتب من لوحات البتات القياسية). باستخدام هذه اللوحات، يحلّ بحث واحد في الجدول محلّ سلاسل طويلة من عمليات البتات.

تقوم هذه اللوحات الرقمية بتدوير ترتيب شغل رقعة الشطرنج بزوايا 90 درجة، و45 درجة، و/أو 315 درجة. تحتوي اللوحة الرقمية القياسية على بايت واحد لكل صف من رتب رقعة الشطرنج. باستخدام هذه اللوحة، يسهل تحديد هجمات الرخ عبر الصف، وذلك بالاستعانة بجدول مُفهرس حسب المربع المشغول والمواقع المشغولة في الصف (لأن هجمات الرخ تتوقف عند أول مربع مشغول). بتدوير اللوحة الرقمية 90 درجة، يمكن فحص هجمات الرخ لأعلى ولأسفل العمود بنفس الطريقة. أما اللوحات الرقمية المُدارة بزاوية 45 درجة و315 درجة (-45 درجة)، فتتميز بأقطار يسهل فحصها لتحديد هجمات الفيل. ويمكن فحص الملكة بدمج هجمات الرخ والفيل. مع ذلك، يُعد تدوير اللوحة الرقمية عملية غير سلسة قد تتطلب عشرات التعليمات. [ 2 ] [ 3 ]

التجزئة المباشرة

يمكن إخفاء متجهات هجوم الرخ والفيل بشكل منفصل واستخدامها كمؤشرات في جدول تجزئة لمتجهات الهجوم المحسوبة مسبقًا، وذلك حسب شغل كل عنصر: 8 بتات للرخ، ومن 2 إلى 8 بتات للفيل. يُحسب متجه الهجوم الكامل للقطعة باتحاد كل من المتجهين أحاديي الاتجاه المفهرسين من جدول التجزئة. عدد المدخلات في جدول التجزئة متواضع، في حدود 10 ...8*28{\displaystyle 8*2^{8}}بايتات، أو حوالي 2 كيلوبايت. يتطلب نظام التجزئة عمليتي حساب لدالة التجزئة وعمليتي بحث لكل جزء. [ 4 ] [ 5 ]

لوحات تلاعب سحرية

بينما كانت محركات الشطرنج القديمة تستخدم حلقات إسقاط الأشعة، أو لوحات البتات المُدارة، أو التجزئة المباشرة، فإن محركات الشطرنج الحديثة تستخدم في الغالب لوحات البتات السحرية . تستخدم هذه التقنية التجزئة المثالية لربط قناع شغل القطعة مباشرةً بمصفوفة مُحسوبة مسبقًا من أنماط الهجوم في عملية بحث واحدة.

تُعدّ لوحات البت السحرية امتدادًا لمفاضلة الوقت والمساحة في البحث المباشر عن متجهات الهجوم باستخدام التجزئة. تستخدم هذه اللوحات تحويلًا لمتجه الهجوم الكامل كمؤشر في جدول التجزئة. مصطلح " سحرية" تسمية غير دقيقة، ويشير ببساطة إلى توليد واستخدام دالة تجزئة مثالية بالتزامن مع حيل لتقليل الحجم المحتمل لجدول التجزئة الذي يجب تخزينه في الذاكرة.8*264{\displaystyle 8*2^{64}}بايت، أو 144 إكسابايت . [ ملاحظة 1 ]

المربعات الخارجية، أو الصفوف الأولى والثامنة مع الملفات 'a' و 'h'، لا علاقة لها بشغل متجه الهجوم: فالقطعة تهاجم تلك المربعات أو لا تهاجمها (اعتمادًا على القطع الأخرى التي تحجبها) بغض النظر عن شغلها، لذلك يمكن استبعادها من الاعتبار، تاركة فقط 6x6 أو 36 مربعًا (~بتات في دالة التجزئة المقابلة).

مؤشر الهجومأنا{\textstyle I}يتم حساب مساحة المربع المعطى باستخدام الصيغة التالية: أنا=(يا×م)264-شمال{\displaystyle I={\frac {(O\times M)}{2^{64-N}}}} أينيا{\textstyle O}تمثل لوحة البتات الخاصة بالإشغال ذات 64 بت قطع الحجب على أشعة المنزلقات ذات الصلة،م{\textstyle M}هو "مضاعف سحري" خاص بالأعداد المربعة، ذو 64 بت، وشمال{\textstyle N}يمثل عدد البتات اللازمة لفهرسة جدول البحث عن الهجوم لهذا المربع المحدد. ويؤدي الإزاحة الثنائية الناتجة إلى عزل البتات الأكثر أهمية في عملية الضرب، مما يُنشئ فهرسًا خاليًا من التصادمات لعمليات بحث سريعة. [ 6 ]

كما هو الحال مع المخططات الأخرى التي تتطلب دالة تجزئة مثالية، فإن عملية تعداد شاملة، تتضمن جزئيًا خوارزميات وجزئيًا تجارب وأخطاء، ضرورية لتوليد دالة التجزئة. تُعدّ لوحات البت السحرية أيضًا جداول نشطة للغاية، وحجمها (أقل من مليون مدخل في معظم الحالات) ضخم مقارنةً بأحجام ذاكرة التخزين المؤقت منخفضة المستوى في بنى الرقائق الحديثة، مما يؤدي إلى امتلاء ذاكرة التخزين المؤقت. في العديد من التطبيقات، لا تُحقق لوحات البت السحرية أي تحسن في الأداء مقارنةً بمخططات التجزئة الأكثر تواضعًا أو لوحات البت المُدوّرة. [ 7 ] [ 8 ]

تحسين مجموعة تعليمات BMI2

في معالجات x86-64 الحديثة التي تدعم بنية BMI2 (مجموعة تعليمات معالجة البتات 2)، يمكن تسريع حساب هجمات قطع الشطرنج المنزلقة مباشرةً عبر المكونات المادية، مما يُغني عن الحاجة إلى تجزئة المضاعف السحري. يعتمد هذا الأسلوب على تعليمات التجميع لاستخراج البتات المتوازية ( _pext_u64) وإيداع البتات المتوازية ( ). تستخدم هذه التعليمات قناع حجب مُحسَب مسبقًا لاستخراج بتات الإشغال ذات الصلة مباشرةً إلى فهرس متجاور مُمتد بالأصفار. يُستخدم هذا الفهرس بعد ذلك لإجراء بحث فوري في المصفوفة لخريطة الهجوم، مما يُحسِّن استخدام سجلات وحدة المعالجة المركزية ويُزيل احتمالية فقدان البيانات في ذاكرة التخزين المؤقت المرتبطة بجداول البحث السحري الأكبر حجمًا. [ 9 ]_pdep_u64PEXT

تاريخ

يُنسب الفضل في طريقة لوحة البت لتمثيل ألعاب الطاولة إلى آرثر صموئيل ، الذي استخدمها في منتصف خمسينيات القرن العشرين في برنامجه للعبة الداما. [ 10 ] أما بالنسبة للعبة الشطرنج الأكثر تعقيدًا، فقد نُسبت هذه الطريقة إلى فريق كايسا في الاتحاد السوفيتي في أواخر ستينيات القرن العشرين، [ 11 ] وإلى مؤلفي برنامج " الشطرنج " بجامعة نورث وسترن الأمريكية في أوائل سبعينيات القرن العشرين. وقد سهّل طول الكلمة البالغ 64 بتًا في الحواسيب العملاقة في سبعينيات القرن العشرين، مثل أجهزة أمدال وكراي، تطوير تمثيلات لوحة البت، التي ربطت بسهولة مربعات رقعة الشطرنج الـ 64 ببتات الكلمة.

ابتكر البروفيسور روبرت هايات ، مؤلف محركي الشطرنج Cray Blitz و Crafty، لوحات البت الدوارة لتجميع حركات القطع المنزلقة، وذلك في منتصف التسعينيات تقريبًا، وشاركها مع فريق برمجة Dark Thought. تم تطبيقها لاحقًا في Crafty و Dark Thought، ولكن أول وصف منشور لها لم يكن حتى عام 1997.

بعد عقد من الزمن، طُرحت طرق البحث المباشر باستخدام الرتب والملفات والأقطار المقنعة لفهرسة جدول متجهات الهجوم بناءً على حالات شغل البتات الموجودة أسفل القناع. أُطلق على إحدى هذه الطرق، التي تستخدم دالة تجزئة مثالية للقضاء على تصادمات التجزئة، اسم "لوحات البت السحرية". ومع ذلك، تسبب الحجم الكبير ومعدلات الوصول العالية لهذه الجداول في مشاكل تتعلق بشغل الذاكرة والتنازع على ذاكرة التخزين المؤقت، ولم تكن بالضرورة أكثر فعالية من طريقة لوحة البت المُدوّرة. وحتى عام 2026، لا تزال برامج الألعاب منقسمة، حيث يعتمد اختيار أفضل طريقة على التطبيق.

ألعاب أخرى

تستفيد العديد من الألعاب الأخرى إلى جانب الشطرنج من لوحات البت.

  • في لعبة Connect Four ، تسمح هذه الطريقة بإجراء اختبار فعال للغاية لأربعة أقراص متتالية، وذلك من خلال عمليتي تحويل + AND فقط لكل اتجاه.
  • في لعبة كونواي للحياة ، تُعتبر هذه بديلاً محتملاً للمصفوفات.
  • كما أنها تستخدم في مسرحية ريفيرسي (المعروفة أيضًا باسم عطيل).

انظر أيضاً

ملحوظات

  1. لا يتطلب استخدام دالة تجزئة مثالية لتنفيذ هذه الطريقة، ولا يوفر سوى فائدة ضئيلة للغاية مقارنة بطرق التجزئة القياسية.

مراجع

  1. أتكين، لاري ر.؛ سلات، ديفيد ج. (1983) [1977]. "الشطرنج 4.5: برنامج الشطرنج بجامعة نورث وسترن". في فراي، بيتر و. (محرر). مهارة الشطرنج لدى الإنسان والآلة (  الطبعة الثانية). سبرينغر فيرلاغ . الصفحات 82-118 . CiteSeerX 10.1.1.111.926 . ISBN   0-387-90790-4.
  2. هاينز، إرنست أ. (سبتمبر 1997). "كيف يلعب الفكر المظلم الشطرنج" . مجلة ICCA . 20 (3): 166-176 .
  3. هايات، روبرت (1999). "لوحات البتات المدورة: لمسة جديدة على فكرة قديمة" . مؤرشف من الأصل في 28-04-2005.
  4. طنوس، سام (23 يوليو 2007) [2006]. "تجنب لوحات البتات المدورة باستخدام البحث المباشر". مجلة ICGA . 30 (2) ( الطبعة الثانية). دورهام، كارولاينا الشمالية، الولايات المتحدة الأمريكية: 85-91 . arXiv : 0704.3773v2 . CiteSeerX 10.1.1.561.3461 . doi : 10.3233/ICG-2007-30204 .  
  5. كنوت، دونالد (1973). "القسم 6.4. الخوارزمية د (العنونة المفتوحة مع التجزئة المزدوجة)". فن برمجة الحاسوب . المجلد 3. 
  6. "تحسين لوحات البت السحرية" . ويكي برمجة الشطرنج . ويكي برمجة الشطرنج. 14-05-2026 . تم الاطلاع عليه بتاريخ 18-06-2026 .
  7. شيروين، مايكل؛ إيزنبرغ، جيرد (4 ديسمبر 2006). "شرح لوحات البت السحرية!" . منتدى ويندبورد . سمّها لوحات بت رياض الأطفال
  8. ^ هانسن ، لاسي (2006-06-14). "مولد حركة لوحة البت السريع (er)" . منتدى وين بورد ..
  9. "تحسين BMI2 للوحات البت" . ويكي برمجة الشطرنج . ويكي برمجة الشطرنج. 2026-03-03 . تم الاسترجاع في 2026-06-18 .
  10. "بعض الدراسات في مجال التعلم الآلي باستخدام لعبة الداما". مجلة آي بي إم للبحوث والتطوير . 1959.
  11. أديلسون-فيلسكي، أستاذ كبير؛ أرلازاروف، في إل؛ بيتمان، إيه آر؛ جيفوتوفسكي، إيه إيه؛ أوسكوف، إيه في (1970). "برمجة الحاسوب للعب الشطرنج". المسوحات الرياضية الروسية . 25 (2): 221. Bibcode : 1970RuMaS..25..221A . doi : 10.1070/RM1970v025n02ABEH003792 .

للمزيد من القراءة

الآلات الحاسبة

لعبة الداما

الشطرنج

مقالات

أمثلة على التعليمات البرمجية

  • قام مؤلف محرك Frenzee بنشر بعض الأمثلة المصدرية.
  • برنامج جافا مكون من 155 سطرًا للعبة Connect-4 يوضح استخدام لوحات البت.

التطبيقات

المصادر المفتوحة
مصدر مغلق

عطيل

  • مناقشة كاملة لمحركات لعبة أوثيلو ( ريفرسي ) مع بعض التعليمات البرمجية المصدرية بما في ذلك لوحة بتات أوثيلو بلغة C ولغة التجميع.
  • Edax (الحوسبة) راجع مقالة Edax. محرك عطيل ( ريفيرسي ) مع كود المصدر يعتمد على لوحة المعلومات.

ألعاب الكلمات