كل لعبة يمر بها اللاعب هي تجربة يختزنها الدماغ البشري، فيسجل حالات الرقعة المختلفة،
ويحلل هذه التجارب ليكتشف خططًا وخدعًا جديدة. وعند تطور مستوى المهارة غالبًا ما يتجه
اللاعب إلى قراءة كتب الشطرنج ليكتشف أنماط لعب جديدة اسُتخِدَمت من أفضل اللاعبين
تاريخيًا، ليطور استراتيجياته وتكتيكاته مع كل لعبة يمر بها.
إذًا بالنسبة للاعب الشطرنج البشري، لعبة الشطرنج عبارة عن نشاط ذهني مجرد عالي المستوى (استخدام الذاكرة البصرية لمطابقة أنماط اللعب وتذكر مواضع القطع على الرقعة، مراعاة قواعد
وتعليمات اللعبة، التفكير الواعي، وحتى علم النفس) ولكن الحواسيب لاتلعب الشطرنج هكذا!
إن كان الشطرنج نشاطًا فكريًا عاليًا يختص به البشر ويتطلب قدرًا من الذكاء والتفكير، كيف يمكن
للحاسوب أن يلعب الشطرنج؟
سنلقي الضوء على هذا الموضوع، وسنرى أن الحاسوب لا يلعب الشطرنج كما يفعل البشر، بل يقوم بإجراء حسابات كثيرة باتباع خوارزميات ومعادلات رياضية محددة للحصول على أفضل حركة ممكنة. ومع التقدم الذي تشهده
الحواسيب في السرعة والأداء وعمل العلماء على تطوير وتحسين الخوارزميات باستمرار، تزداد
جودة هذه الحسابات. وقد أضحت الحواسيب أفضل لاعبي شطرنج على وجه الأرض، على الرغم من لعبهم بشكل أعمى.
يمكن وصف برامج الشطرنج في الحواسيب هذه الأيام على الأقل بأنها شديدة التعقيد، إلا أن
جميها يتضمن حسابات عمياء بسيطة في الصميم، ولنقل، مثًلا: بأنك جهزت رقعة شطرنج لبداية
لعبة جديدة. كل لاعب لديه 16 قطعة. ولنقل أن اللاعب الأبيض يبدأ اللعب وهذا ما يجري عادة.
فسيكون للاعب الأبيض حينها 20 حركة ممكنة:
* يمكن للاعب الأبيض تحريك أي بيدق إلى الأمام خطوة واحدة أو خطوتين. *(16 حركة ممكنة)*
*
يمكن للاعب الأبيض تحريك أي من الأحصنة بطريقتين مختلفتين. *(4 حركات محتملة)*
يقوم اللاعب الأبيض بلعب إحدى هذه الحركات العشرين.
بالنسبة لللاعب الأسود يوجد نفس مجموعة الخيارات: عشرون حركة ممكنة. ويقوم اللاعب
الأسود بحركته.
والآن يقوم اللاعب الأبيض بحركته مرة أخرى. والحركة التالية تعتمد على اختيار اللاعب الأبيض
للحركة، لكن تقريبًا يوجد 20 حركة ممكنة لللاعب الأبيض، وبعدها 20 حركة تقريبًا للاعب الأسود
لكن مع مراعاة حالة ومواقع القطع على الرقعة بالنسبة لكلا اللاعبين، القطع التيُ أعيَقت حركتها
بقطع الخصم أو القطع التي تم أسرها، على سبيل المثال. وهكذا!
هكذا ينظر الحاسوب إلى الشطرنج. فهي عبارة عن عالم
الربح طبعًا، ويقوم بعمل "شجرة" ضخمة لجميع هذه الحركات، على الشكل التالي تقريبًا:
في بداية اللعبة، 20 حركة ممكنة للأبيض. تليها 20*20 حركة ممكنة للأسود أي 400 حركة
ممكنة للأسود، مع الأخذ بعين الاعتبار حالة الرقعة الجديدة التي تغيرت بسبب حركة الأبيض
سابقًا. ونفس الأمر بالنسبة لحركة الأسود القادمة، تقريبًا 400*20 أي 8000 حركة ممكنة للأبيض، ثم 8000*20 أي 160 ألف حركة ممكنة للأسود.. وهكذا.
الآن، إذا أردنا حساب شجرة جميع حركات الشطرنج الممكنة، يكون عدد جميع الرقع الممكنة حوالي:
1،000،000،000،000،000،000،000،000
000،000،000،000،000،000،000،000،
000،000،000،000،000،000،000،000،
،000،000،000،000،000،000،000،000،
000،000،000،000،000،000،000،000
أي 10^120) 10 مرفوعة للقوة 120 .(وهو رقم عملاق جداً.
فعلى سبيل المثال، حسب نظرية الانفجار الكبير لقد تكون الكون قبل 10^26) عشرة مرفوعة
للقوة 26 نانوثانية. كماُ يعَتَقد بوجود 10^75 ذرة فقط في كامل الكون. وعلى اعتبار احتواء مجرة
درب التبانة على البلايين من الشموس، ووجود بلايين المجرات، تستطيع الاقرار بوجود عدد كبير
جدًا من الذرات إلا أّن عدد تلك الذرات يعتبر قزمًا أمام عدد جميع الحركات الممكنة في لعبة
الشطرنج.
نعم، الشطرنج لعبة شديدة التعقيد!
لايوجد حاسوب يمكنه القيام بحساب كامل شجرة اللعب، وإنما يقوم برنامج الشطرنج بتوليد
شجرة حالات للرقعة لـ 5 أو 10 أو ربما 20 حركة مستقبلية فقط،
وعلى اعتبار وجود 20 حركة ممكنة من أجل أّية حالة رقعة، تحوي شجرة حالات الرقعة من
المستوى الخامس على 3 200 000 حالة. بينما شجرة حالات بعمق 10 تحوي على 10 ترليونات
حالة تقريبًا.
يتحدد عمق الشجرة التي يمكن للحاسب حسابها بسرعته. وأسرع حواسيب الشطرنج في العالم
يمكنها توليد وتقييم ملايين الحالات في الثانية الواحدة.
بعد توليد الشجرة يقوم الحاسب بتقييم الحالات. ويتم ذلك من خلال النظر إلى القطع على
ويتم التقدير باستخدام ما يدعى
سيئة"
"
جيدة" أم
الرقعة والتقرير فيما إذا كانت إحدى الحركات "
دالة التقييم Function Evaluation .أبسط دوال التقييم تقوم بعّد قطع كل لاعب، فإذا كان
الحاسب يلعب بالقطع البيضاء وله 11 قطعة على الرقعة ولدى اللاعب الأسود 9 قطع، تكون
صيغة التقييم على الشكل التالي: 11-9=2.
من الواضح أّن هذه الصيغة بسيطة جدًا بالنسبة للعبة كالشطرنج، فبعض القطع لها أهمية أكثر
من غيرها. وبعض التحسين على الصيغة قد يتضمن إدخال وزن (قيمة) لكل نوع من القطع. وقد
يقوم المبرمج بتطوير الدالة أكثر فيأخذ بعين الاعتبار مواقع القطع على الرقعة: التحكم بالمركز،
احتمالية كش الملك، نقاط ضعف وزير الخصم، وغيرها الكثير من العوامل. ومهما تعقدت دالة التقييم إلا أنها تخفض إلى رقم واحد فقط يمثل "أفضلية" تلك الرقعة لللعب.
مخطط شجرة بثلاث مستويات :
يظهر المخطط التالي شجرة من ثلاث مستويات تقوم باستشراف ثلاث حركات إلى الأمام وقد
قيمت مواضع الرقعة النهائية:
يلعب الحاسب بالقطع البيضاء. يقوم اللاعب الأسود بحركته ويترك موضع الرقعة في أعلى
الشجرة.
في هذه الشجرة، يمكن للأبيض القيام بثلاث حركات مختلفة. من كل حركة من هذه الحركات
يمكن للأسود القيام بثلاث حركات مختلفة.
ومن كل من هذه المواضع التسعة يمكن للأبيض القيام بحركتين مختلفتين. (فعليًا، يكون العدد
الكلي للحركات من أي موضع تقريبًا 20 ،لكن من الصعب رسم ذلك.)
ينظر الحاسب إلى هذه الشجرة ويعمل من الأسفل باتجاه الأعلى وذلك حتى يقرر ما الحركة التي
سيتخذها. وتعمل حساباته على إيجاد أفضل حالة للرقعة من بين جميع الحالات الممكنة التي
سيقوم بها الأسود (فهو يأخذ الأعظمي بينها):
بالارتفاع مستوى للأعلى، يفترض بأن الأسود سيقوم بحركة لجعل الرقعة أسوأ ما يمكن للأبيض
(يأخذ الأصغري بين الحالات الممكنة):
تدعى هذه الطريقة بخوارزمية minimax وذلك لأنها تقوم بالتبديل بين إيجاد القيم العظمى
والصغرى مع تقدم العمل بالشجرة (نحو الأعلى). يمكن تسريع هذه الخوارزمية للضعف بتطبيق
تقنية تحسين عليها تدعى pruning beta alpha ،كما يتم التقليل من استهلاك الذاكرة أيضًا.
كما ترى، العملية آلية بحتة ولاتطلب أّي تفكير، فهي ببساطة تحاول حساب جميع الاحتمالات
الممكنة واختيار الأفضل من بينها عن طريق دالة تقييم على شجرة بعمق محدد..
الأمر المميز أّن هذه الطريقة البسيطة تعمل بشكل فّعال جدًا، فعلى حاسب بسرعة جيدة يمكن
للخوارزمية استشراف حركات مستقبلية بما يكفي للعب لعبة جيدة جدًا. وإن قمنا بإضافة تقنيات
تعلم إلى تابع التقييم (عن طريق الذكاء الصنعي) يمكن تعديل نتيجة دالة التقييم بالاعتماد على
الخبرات السابقة الناتجة عن تحليل الألعاب السابقة، وتتحسن الجودة مع الزمن.
لاشيء كالإنسان! لكن عندما نتوصل إلى معرفة آلية التفكير لدينا وإن تمكنا من إنشاء حاسب
يستخدم نفس تقنيات التفكير البشرية للعب الشطرنج، حينها قد نكون حصلنا على شيء مميز...
0 التعليقات: