بسم الله الرحمن الرحيم
والحمد لله والصلاه والسلام على نبينا الكريم محمد صلى الله عليه وسلم .وبعد
ظهرت محركات الشطرنج حديثا وتعددت اسماؤها ودرجه قوتها وتصنيفها وزادت من تعقيد لعبه الشطرنج وغموضها مما اصبح من الصعب التغلب على هذه المحركات باللعب معها بالعقل البشرى
كنت مهتما بلعبة الشطرنج ، ليس لعبا ! فأنا الى الان لا اعرف سوى التفريعات الاساسية .. ما اثار فضولي في هذه اللعبة هو الجانب العقلي اولا فهي في بعض الاوساط تعامل كمقياس للذكاء ! ثم الشيء الثاني و الاهم اثار فضولي شيء اسمه محرك الشطرنج او لنقل العقل المتخفي وراء الطاولة .. قبل ان نتكلم بعمق اكثر في الناحية البرمجية احببت ان اثبت شيء قليل من تاريخ اللعبة ، و يمكن للمهتمين بالجانب البرمجي فقط الانتقال مباشرة الى الجانب البرمجي.
الجانب التاريخي من لعبة الشطرنج :
Chaturanga
و هي ربما اقدم لعبة شطرنج معروفة ، وجدت في الهند حوالي القرن السابع الميلادي ، و بما اني افترض ان القاريء الكريم يعرف الشطرنج الغربية فساختصر الى اهم الفروق مباشرة :
الطاولة مكونة من 8*8 مربعات لكن لا يوجد تلوين للمربعات من ناحية الابيض و الاسود
بدل ما يعرف الان بالبيشوب يوجد شيء اسمه فيل ( و له شكل الفيل فعلا)
الملكة (كوين) كان بدلها شيء اسمه مستشار و يختلف كليا في الحركة
مكان الملك و المستشار يعاكس مكان الملك و المستشار في اقصى طرفي الطاولة
الملك له صلاحية التنقل كالفارس ( الحصان) مرة واحدة فقط
لا يوجد شيء باسم الكاستلنج ( التقليع او العسكرة- ان يتبادل الملك و القلعة الاماكن)
المستشار فقط يتحرك مربع واحد في اتجاه مائل
الفيل يتحرك خطوتين مائلة و له القدرة على قفز المربع المشغول
لا يمكن للجندي التحرك خطوتين في البداية
الترقية تعتمد على نوع القطعة الموجودة في نفس المسار العامودي في بداية اللعبة
الوان القطع ليست بالضرورة ابيض و اسود
عندما يكون هناك (ستولميت) يعني لا توجد هناك مربعات باقية للملك ليذهب اليها يفوز الشخص الذي تحت الستولميت !
Shatranj
بعد دخول الشاتورانجا الى بلاد فارس و من ثم الى البلاد العربية تم التغيير على بعض القواعد و من ثم ظهر ما يعرف بالشطرنج او الشش رنج بالفارسية . فأصبحت اللعبة اكثر انتشارا و جعل هناك مستشارين عند الملوك مختصين بهذه اللعبة فقط ..
اهم الفروق :-
الترقية تكون الى مستشار فقط و لا يمكن الترقية الى قطعة اخرى
الفوز ايضا بمجرد بقاء الملك وحيدا
اصبح الملك الابيض يقابل الملك الاسود في طرفي الطاولة
حكم الستولميت عكس اللعبة الهندية
و هنا احب ان اشير الى الشطرنج الكبير عند العرب الذي ينسب الى الخليل بن احمد حيث الطاولة 15*15 مع وجود قطعة جديدة باسم الجمل الذي يمشي خطوتين فقط و لكن على طريقة القلعة
الشطرنج الصينية
بداية دخول الشاتورانجا الى الصين لها قصة طريفة حيث راى الامبراطور وين تي 581 – 604 بعض جنوده يلعبون الشاتورانجا حيث يسمون قطعة الملك بالامبراطور . قام الامبراطور بقطع رؤوس كل الحضور و منع تسمية القطعة بالامبراطور او نحتها على شكل امبراطور . لذلك الان في الصين يسمى احد الملوك بالحاكم و الاخر بالجنرال.
على العكس توجد نظرية اخرى تقول ان الشطرنج الصينية هي من سبقت بالظهور و من ثم وصلت الى الهند و يستدلون على ذلك بالاشارات الموجودة في الادب الصيني الى هذه اللعبة قبل وجود اللعبة الهندية..
الشطرنج الغربية الحديثة
نرى من المختصر اعلاه ان اللعبة مرت بتغيرات كثيرة على مر العصور من كل النواحي حتى وصلت الى الشكل المعروف الان بالشطرنج الغربية و بدا تصنيف الكتب في دراسة هذه اللعبة و اصبحت تعامل معاملة الرياضات المعتبرة الاخرى و بلغ اوج الاهتمام بهذه اللعبة في المباراة المعروفة و التاريخية الملقبة بمباراة القرن حيث كان الاتحاد السوفيتي يريد ان يثبت ان النظام الشيوعي يولد اذكى افراد من خلال السيطرة على لعبة الذكاء الاولى و لكن ظهر شاب امريكي صغير ليتحدى المدرسة الروسية العريقة في مباراة عنيفة تدخلت فيها المخابرات الروسية و الامريكية ، جمعت بين البطل الروسي سبايسكي و الشاب الامريكي الرائع بوبي فيتشر الذي سحق بشكل خرافي كل من جاء في وجهه من اكابر اللعبة لينتهي به المطاف في مباراة ملحمية مع سبايسكي تنتهي بفوز فيتشر ..
المباراة التاريخية الثانية التي يجب الاشارة اليها هي بين جاري كاسباروف المصنف الاول عالميا مع بلو جهاز كمبيوتر صنع خصيصا ليهزم افضل لاعب شطرنج في وقته و قد حظت المباراة بزخم اعلامي كبير لانها تمثل الصراع بين عقل الكمبيوتر و عقل الانسان فيا ترى من سيتغلب ..؟
الجدير بالذكر انه الى منتصف التسعينيات لم يستطع الكمبيوتر ان يهزم جراند ماستر و لكن بعد المباراة الاولى استطاع كاسباروف ان يهزم الكمبيوتر هزيمة مخجلة ، و بعد التطوير و التعديل و تغذية الكمبيوتر استطاع الكمبيوتر ان يهزم كاسباروف في مباراة جدلية اتهمت فيها اي بي ام بالغش و انه كان هناك مساعدة من طرف بشري الى الكمبيوتر .. على كل حال سحبت اي بي ام جهازه و احالته للتقاعد و رفضت ان تعيد المباراة ..
من هنا بدا عصر الشطرنج الكمبيوترية و ظهرت محركات قوية و جبارة حيث تقام لها دورات خاصة ! منها محرك ريبكا و شريدر … الخ
و هذا ما يمهد للكلام عن الجانب الاخر للشطرنج
برمجة الشطرنج ( الجانب الاخر)
في وقت كتابة المقالة افضل واقوى محركات الشطرنج عالميا هم :
ربكا ، نيوم ، ثم ديب فرتز.،Houdini،stockfish ويمكنك الوصول الى المقال التالى لمعرفة اقوى محركات الشطرنج chess engine
يمكننا تقسيم مهمة البرمجة هنا الى قسمين رئيسين : هما برمجة المحرك وبرمجة الواجهة الرسومية
كيف تتفوق محركات الشطرنج على العقل البشرى
أ- برمجة المحرك:-
يجب الانتباه الى ان محركات الشطرنج الكمبيوترية في تطور مستمر و ذلك لتطور سرعة الحاسبات مما يسرع عملية الحسابات الى اعماق اكبر خلال وقت محدد .
لنستعرض اهم خطوات و متطلبات برمجة محرك شطرنج ..
1-مرحلة التصميم:
الطاولة و المربعات:
الطاولة
المربعات
الصف
العامود
الدايجنول
انتي دايجنول
القطع و الحركات:
القطع
الحركات المسموحة
اللعب:
الاماكن
اللعبة
قواعد الشطرنج
مرحلة التصميم اعلاه يجب ان توفر لنا تمثيل كامل للطاولة و القوانين و القطع بحيث تكون خالية من الاخطاء تماما و يتم فيها تغطية كل القوانين البسيطة و المعقدة كالكاسلنج و الانباسنت و التعادل من ثلاث حركات مكررة و قانون الخمسين حركة ..الخ
2- البرمجة :
اغلب لغات البرمجة صالحة للغرض و منها لغة البرمجة بيرل التي سنستعرض بعض الادوات المتوفرة لاحقا ، لكن في الوقت الحالي يكفي ان نعرف انه يوجد كلاسات جاهزة و معرفة للطاولة و القطع و القنوانين جاهزة للاستخدام في السيبان ..
3- البحث
طريقة البحث عند محرك الشطرنج هي ان يقوم باختبار كل حركة ممكنة ثم اختبار كل حركة مضادة للحركة الاولى ثم كل حركة مضادة للحركة الثانية الى ان يصل المحرك الى اقصى عمق متاح او ان يصل الى نقطة نهاية كالشيك ميت.
المشكلة تكمن في ان المحرك لن يصل الى عمق كبير في وقت معقول لكثرة الاحتمالات لذلك تم تطوير اليات لتسريع البحث عن الحركة الجيدة.
كلود شانون يقسم طريقة البحث الى :
بروت فورس : النظر الى كل احتمالية الى عمق معين
البحث الانتقائي: النظر الى السيناريوات الاكثر اهمية
كان النوع الثاني هو الاكثر انتشارا بين المبرمجين لمحدودية قوة الحسابات الى ان بدا المبرمجين بالميل الى الطريقة الاولى مع ازدياد قوة الحاسب مع الاستعانة ببعض نظريات الطريقة الثانية.
4-التقييم :-
و هو عملية تقييم الوضع العام هل هو في صالح الطرف الابيض او الاسود. عملية التقييم في اغلب الاحيان تقريبية و تتم عن طريق تقييم كل قطعة متوافرة بحيث يكون الجندي هو وحدة التقييم ، مثلا:
الوزير يساوي 9 جنود
الفارس 3 جنود
القلعة 5 جنود
و لكن توجد اعتبارات اخرى للتقييم منها :-
عدد القطع
تقييم القطع
قابلية التنقل
الحبس
سلامة الملك
توزيع الجنود ..الخ
5-: المعرفة
اجرائية : تعتمد على البحث
بيانية : تعتمد على:
التقييم (الاستكشاف)
كتاب الافتتاحيات و قاعدة بيانات النهايات
في هذه المرحلة اذا يتم تغذية المحرك بالخبرات السابقة ككيفية التعامل مع الافتتاحية الدنماركية و الاسبانية و الفرنسية و دفاع اليكاين و الترابس ... الخ و هذه المرحلة اصعب مرحلة في تطوير الذكاء الصناعي للمحرك بحيث يفهم انه ليس مجبرا على قتل الوزير بترك ملكه مكشوفا مثلا. و فيها اشارة لطيفة الى ان محرك الشطرنج انما هو بعبارة اخرى تجميع لخبرات البشر على مر التاريخ في هذه اللعبة !..
ب- برمجة الواجهة الرسومية:-
هنا نقوم بعملية التواصل بين المحرك و الواجهة الرسومية هنا ايضا توجد خيارات مثلا :
في لينكس
XBoard
و في ويندوز
WinBoard
طبعا يوجد بروتوكول للتواصل و التفاهم بين المحرك و الواجهة الرسومية ربما اهمها الخاص بجنو الذي لاحقا بعد استيراد الاكس بورد الى ويندوز و تسميتها وين بورد اعيد تسمية البروتوكول الى وينبورد بروتوكول .
يبقى ان الحاسبات على رغم قوتها تبقى غبية في احيان كثيرة ليتدخل الانسان و يساعدها على تصحيح اخطائها ، اقرا :
http://www.xs4all.nl/~timkr/chess2/honor.htm
و قد شاهدت بنفسي مباراة لربكا المصنفة اولى عالميا في مباراة هزمت فيها بسبب التضحية الغير مبررة تفاديا للتعادل بسبب قانون ال 50 حركة
لمعرفة المزيد عن الجانب البرمجي فى لعبة الشطرنج يمكنك قراءة المقال التالى
تعليقات
إرسال تعليق