تاریخ : سه شنبه، 5 تير ماه، 1386
موضوع : مقالات شطرنج

كامپيوتر چگونه شطرنج بازي مي كند (1)



How a Computer Play Chess

كامپيوتر چگونه شطرنج بازي مي كند

 


اگر تا بحال شطرنج بازي كرده باشيد احتمالا اولين روزهايي كه بازي شطرنج رو ياد گرفتيد به خاطر مياوريد .

 اگر هم به خاطر نمي آوريد حتما تابحال نحوه يادگيري بازي شطرنج يك نفر را ديده ايد .
براي يادگيري ابتدا نام مهره ها ، بعد نحوه حركت و نحوه حمله مهره ها و در آخربعد از اينكه كاملا با مهره ها آشنا شديد شروع به بازي مي كنيد . ابتدا مهره سفيد شروع به بازي مي كند و بعد هم مهره سياه اما نهايتا به راحتي مي باختيد و بعد از هر باخت يا بعد از هر از دست دادن مهره با جملاتي از قبيل "واي !  اصلا حواسم نبود " يا " عجب ! چه جالب " و جملاتي از اين قبيل هيجان خودتون رو از اين بازي نشون مي داديد.


مغز انسان به گونه اي طراحي شده كه با تمرين و ادامه كار مخصوصا در بازي شطرنج به مهارت ويژه اي مي رسد .

 

 يعني شما اگر يك هفته است كه شطرنج بازي مي كنيد . بازي شما با روز اول قابل مقايسه نيست ، چون مدام تكنيك هاي جديدي با هر بازي ياد گرفته ايد . شايد هم آنقدر مشتاق شده ايد كه شروع به خواندن كتابهاي شطرنج باز هاي حرفه اي كرده ايد و تكنيك هاي حرفه اي تري ياد گرفته ايد .


از جملات بالا نتيجه مي گيريم كه بازي شطرنج براي انسان به ميزان زيادي از تفكر و تجزيه و تحليل آن هم در سطح بالا نياز دارد . اما نكته جالب اينجاست كه كامپيوتر براي بازي شطرنج هيچ يك از اعمال فوق را انجام نمي دهد .

 شايد بعضي به اشتباه فكر كنند كه كسي كه بازي شطرنج كامپيوتري را نوشته است خود يك شطرنج باز حرفه ايست . اما بايد بدانيد كه بهيچ وجه اينگونه نيست .

 

ظاهرا بازي شطرنج از آن دسته بازي هايي است كه بسيار زياد نياز به تفكر و تجزيه و تحليل و در نهايت تصميم دارد و ظاهرا منحصر به بشر است . اين درحاليستكه كامپيوتر بدون قدرت فكر كردن و تجزيه و تحليل به قدري در بازي شطرنج مهارت دارد كه بزرگترين شطرنج باز هاي دنيا هم از بردن آن عاجز هستند .


دراين مقاله متوجه مي شويم كه كامپيوترها بهيچ وجه مشابه بشر شطرنج بازي نمي كنند . يعني براي بازي شطرنج اصلا فكر نمي كنند ، بلكه با كمك توابع و فرمول هاي رياضي شروع به انجام يك سري محاسبات مي كنند و در نتيجه مهره مورد نظر را حركت مي دهند . حال هر چه سرعت كامپيوتر در انجام اين گونه محاسبات بيشتر باشد قدرت كامپيوتر براي بازي كردن نيز بيشتر مي شود .

در اين مقاله اشاره اي جهت آشنايي با يكي از الگوريتم هاي معروف و پركاربرد بازي شطرنج مي كنيم تا متوجه شويد كه چه فرآيندي در پيروزي كامپيوتردرمقابل بشر موثر است .

براي شروع به يك تخته بازي با ابعاد 8*8 نياز داريم . هر يك از طرفين 16 مهره در اختيار دارند . فرض را بر اين بگيريم كه مهره هاي سفيد براي كامپيوتر و مهره هاي سياه براي ما باشد .


همانطور كه مي دانيد شروع بازي با مهره سفيد است ، بنابراين كامپيوتر اقدام به حركت مهره سفيد مي كند . اما اينكه كدام مهره را حركت دهد جاي بحث دارد . مي دانيم كه مهره سفيد يا سياه براي شروع بازي هر كدام مي توانند 20 حركت انجام دهند

 

8 حركت براي سربازها اگر يك خانه به جلو بروند ، 8 حركت ديگر اگر همان سربازها دو خانه به جلو بروند.

 دو حركت براي هر يك از اسب ها (دو اسب) كه در جمع 4 حركت مي شود .
بنابراين هر مهره سفيد يا سياه براي شروع مي تواند يكي از 20 حركت ممكن را انتخاب كند .
حال فرض كنيم كامپيوتر بدون توجه به ارزش حركات ؛ يكي از اين 20 حركت را انتخاب مي كند و بازي را شروع مي كند . بعد از اين حركت نوبت به مهره مشكي مي رسد ، مهره مشكي هم مي تواند يكي از 20 حركت مورد نظر خود را انجام دهد .
دوباره نوبت به كامپيوتر مي رسد تا مهره دوم خود را حركت دهد . اما اينبار بسته به اينكه كدام يك از مهره ها را در حركت قبل حركت داده است مي تواند به تعداد 20 حركت يا كمتر يا بيشتر را انتخاب نمايد . و دوباره مهره مشكي هم بسته به حركت قبلي خودش مي تواند مهره ها را تكان دهد .


نكته كار اينجاست كه كامپيوتر از كجا بداند كدام يك از اين 20 حركت يا كمتر يا بيشتر را انجام دهد . كامپيوتر براي حل اين مساله با درست كردن درختي در حافظه خود تمامي حركات ممكن را انجام مي دهد تا بهترين نتيجه را بدست بياورد .

 

 فرض مي كنيم به اين ترتيب باشد كه براي حركت اول براي هر كدام از 20 حركت يك بار بازي را تمام مي كند باين ترتيب كه بعد از حركت دادن مهره در حافظه خود فرض را بر اين مي گيرد كه طرف مقابل كدام مهره را حركت خواهد داد و اگر حركت داد خودش كدام مهره را حركت بدهد تا در نهايت بازي را ببرد . يعني اگر در مرحله اول امكان 20 انتخاب را دارد مهره مشكي مي تواند بسته به حركت مهره سفيد 20*20 حركت انجام دهد . بنابراين در حركت دوم خود مي تواند 400*20 حركت را انتخاب كند و دوباره مشكي 8000*20 انتخاب و به همين ترتيب اين تعداد حركات ممكن پيش بيني مي شود تا بازي تمام شود . عدد حاصل عدد يك بهمراه 120 عدد صفر در جلوي آن خواهد بود . اين عدد 10120 در مقابل عددي مانند تعداد كل اتم هاي دنيا كه معادل 1075مي باشد بسيار بزرگ است .

 

بنابراين متوجه مي شويد كه بازي شطرنج تا چه حد مي تواند پيچيده باشد .

 

      !   ... ادامه دارد 

 


 




منبع این مقاله : :.: سايت تخصصي شطرنج ايران / Iranian Professional Chess :.
آدرس این مطلب : http://www.achmaz.ir/149/كامپيوتر-چگونه-شطرنج-بازي-مي-كند-(1)/