الشرح
يجتاز Perft شجرة النقلات القانونية انطلاقا من وضعية ويحسب كل تسلسل يبلغ عمقا محددا بدقة. ويعني العمق واحدا حساب النقلات القانونية المتاحة الآن. ويشمل العمق اثنين كل رد قانوني، ويستمر النمط على هذا النحو. ويُحسب كل تسلسل منفصلا حتى عندما يصل تسلسلان مختلفان إلى حالة الرقعة نفسها. والنتيجة رقم قابل لإعادة الإنتاج لتلك الوضعية وذلك العمق.
غرضه الرئيسي التحقق من مولد النقلات في البرنامج. فإذا اختلف المجموع عن مرجع موثوق، فهناك خطأ في قاعدة ما أو في تحديث الوضعية. ويعرض شكل يسمى divide مجموعا فرعيا منفصلا لكل نقلة ابتدائية، مما يساعد المطور على تحديد الفرع الذي يبدأ فيه الاختلاف.
يفيد Perft خصوصا في كشف الأخطاء الدقيقة المتعلقة بالكش والأخذ بالتجاوز، وهو أخذ خاص بالبيدق، والترقيات و، النقلة الخاصة المشتركة بين الملك والرخ. وقد يكشف أيضا أن البرنامج يعيد بصورة خاطئة الطرف الذي عليه الدور أو حقوق التبييت أو مربع هدف الأخذ بالتجاوز بعد التراجع عن نقلة.
لا يجري Perft تقييما للوضعيات ولا اختيارا لأفضل نقلة ولا تقليما للفروع. ويثبت اجتياز الاختبار توافق البرنامج مع أعداد النقلات القانونية المختبرة، لكنه لا يثبت أن يلعب شطرنجا قويا. ومع أن الاسم مشتق من عبارة اختبار الأداء، فإن صحة العد هي الغرض المركزي، أما قياس الزمن فهو اختبار إضافي يعتمد على التطبيق.
التباسات شائعة
Perft وقوة اللعب
يتحقق Perft من القواعد وتوليد النقلات. ولا يقيس الفهم الموضعي أو جودة التقييم أو القوة التكتيكية.
Perft والتجزئة
قد يستخدم تطبيق للتعرف إلى الوضعيات، لكن المفتاح الصحيح لا يحل محل العد القانوني.
عرض المصطلحالمصادر
- 1.Perft, Chess Programming Wiki
