آموزش شطرنج حرفه ای قسمت دو – ویبره

آموزش شطرنج حرفه ای قسمت دو – نکات ورزشی

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

به کمک تابع ارزیابی می تواند تشخیص دهد که حرکتی که انجام دهد “خوب” است یا “بد” . اگر خوب است مهره را حرکت می دهد و اگر بد حرکت دیگری را انتخاب می کند . مثلا اگر کامپیوتر در انتهای حرکت ۱۱ مهره خواهد داشت و حریف ۹ مهره در نهایت دو مهره( ۲=۹-۱۱ ) بیشترخواهد داشت که این نتیجه “خوب” دارد …

البته تابع فوق برای بازی شطرنج بسیار ساده است و تنها ملاک برای بازی تعداد مهره ها نیست . همانطور که همه می دانیم هر کدام از مهره ها برای خود ارزشی دارند . موقعیت و محل مهره ها نیز قابل توجه است . اینکه آیا شاه ما در خطر کیش هست یا خیر . وزیر ما در خطر از دست رفتن می باشد یا خیر و موارد دیگر . اینجا وظیفه برنامه نویس است که فرضا با ارزش گذاری روی مهره ها با اعداد بتواند ارزش مهره ها را مشخص کند مثلا قلعه معادل ۵ سرباز است . فارغ از اینکه تابع ما چه پیچیدگی های دیگری می تواند داشته باشد . مهم اینستکه تابع ما در نهایت چه عددی بر می گرداند . که این تابع نشانگر میزان خوب یا بد بودن حرکتی است که قرار است انجام شود .

برای تشریح بیشتر مساله سعی می کنیم یک درخت سه مرحله ای که قابلیت درست کردن سه حرکت آینده را دارد را بکشیم و مساله را روی آن دنبال کنیم .

فرض را براین می گیریم که در هر حالت هر یک از مهره ها می توانند تنها سه حرکت انجام دهند .

کامپیوتر مهره سفید است و می تواند یکی از سه حرکت ممکن را انجام دهد . اگر هر یک از سه حرکت ممکن را انجام دهد مهره گردان مشکی هم میتواند سه حرکت انجام دهد ( در عمل تعداد حرکات بیشتر است که بدلیل بزرگ شدن درخت از کشیدن تمامی حالات صرف نظر می کنیم ) . بعد از حرکت مهره های سیاه مهره های سفید هم میتوانند دو حرکت انجام دهند . (پایین ترین مرحله درخت ) .

اما برای تحلیل درخت کامپیوتر از پایین ترین گره ( برگ) شروع به محاسبه می کند از سمت چپ پایین عدد بین دو برگی که ارزش ۸ و ۲ دارند عدد ۸ انتخاب می شود این بآن دلیل است که از آنجایی که مهره سیاه حریف است باید پرارزشترین حرکت را انتخاب کرد ( مهره سیاه = ماکسیمم) از بین برگ های ۴ و ۸ هم ۸ را انتخاب می کند و بهمین ترتیب تا درخت به شکل زیر در می آید :

حال که به انتخاب حرکت مشکی رسیدیم باید مقادیر مینیمم را در مرحله دوم یعنی عمق ۳ ( مهره های مشکی ) انتخاب کنیم یعنی بصورت قراردادی حرکات مهره های سفید که خودش می باشد باید کمترین ارزش را داشته باشند بنابراین از سمت چپ بین سه عدد ۸۸۷ عدد ۷ برای مهره سفید سمت راستی قرار می گیرد و برای بعدی عدد ۵ و بعدی عدد ۴ بنابراین شکل درخت به شکل زیر در می آید :

همانطور که از شکل پیداست نوبت به انتخاب برای حرکات سفید است بنابراین باید دوباره ماکسیموم مقادیر را انتخاب کنیم . اکنون کامپیوتر آماده انتخاب مقدار ماکسیموم از بین سه عدد ۷۵۴ می باشد بنابراین کامپیوتر حرکتی که ارزش ۷ دارد را انتخاب می کند ( ماکسیموم) .

الگوریتم حل این مساله به الگوریتم minimax مشهور است که در این مساله ما مهره های سفید را ماکسیموم و مهره های سیاه را مینیموم نامیدیم و به صورت یک در میان از بین اعداد به ترتیب اعداد ماکسیموم و مینیموم را انتخاب می کنیم .

بعد از آنکه کامپیوتر حرکت به ارزش ۷ را انجام داد . منتظر می ماند تا مهره سیاه نیز حرکت خود را انجام دهد . پس از آن دوباره درختی به شکل فوق درست می کند و به ادامه بازی می پردازد . البته این الگوریتم با روشهایی چون هرس آلفا بتا قابلیت های بالاتری از لحاظ سرعت و حجم حافظه مصرفی پیدا می کند که از تشریح جزئیات بیشتر خودداری می کنیم .

بنابراین به این نتیجه رسیدیم که کامپیوتر برای بازی شطرنج بهیچ وجه راجع به برد یا باخت فکرنمی کند بلکه با انجام عملیات محاسباتی از طریق تابعی که تشریح کردیم به حل مساله می پردازد . تا اینکه صفحه شطرنج را به نفع خودش در حالت “خوب” یا “بد” برساند . در این بین الگوریتم های دیگری نیز برای حل مساله صفحات شطرنج وجود دارند که علاقمندان می توانند برای اطلاعات بیشتر به جستجو در این زمینه بپردازند .

منبع:تبیان

Vibre.ir – آموزش شطرنج حرفه ای قسمت دو – نکات ورزشی – ویبره

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *