مقالات شطرنج

موتور شطرنج چیست؟ برترین موتورهای شطرنج کدامند؟

در علوم کامپیوتر، موتور شطرنج یک برنامه کامپیوتری است که پوزیشن‌های شطرنج یا انواع وضعیت را تجزیه و تحلیل می‌کند و یک حرکت یا فهرستی از حرکات را ایجاد می‌کند که به عنوان قوی‌ترین حرکت در نظر گرفته می‌شود. یک موتور شطرنج یا انجین شطرنج معمولاً یک برنامه کامپیوتری می‌باشد و مستقیم با CPU تعامل دارد و از طریق یک رابط خط فرمان ( command line ) که بدون گرافیک یا پنجره است می‌توان با موتور ارتباط داشت و چون این امر برای کاربران عادی مقدور نیست برای موتور‌های شطرنج یک رابط کاربری تهیه می‌نمایند.

موتورها معمولاً با یک قسمت گرافیکی (GUI)، که یک رابط کاربری گرافیکی پنجره‌دار مانند نرم‌افزار‌های Chessbase یا WinBoard استفاده می‌شوند که کاربر می‌تواند از طریق صفحه کلید، ماوس یا صفحه لمسی با آن تعامل داشته باشد. این به کاربر این امکان را می دهد که بدون یادگیری یک رابط کاربری جدید برای هر موتور، به راحتی با یک رابط کاربری یکسان با موتور‌های مختلف کار کند و حتی انواع موتور‌های شطرنج نیز با یکدیگر تعامل داشته باشند ( مثلا موتور‌ها با هم به رقابت بپردازند ).

موتور شطرنج چیست؟

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

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

اگر بخواهیم چند نمونه از این رابط کاربری‌ها را مثال بزنیم می‌توانیم به نرم‌افزارهای مثل fritz ، chessbase ، winboard، و . . .  اشاره کرد. فقط دقت کنید که نرم‌افزار های گفته شده موتور شطرنج نبوده و رابط کاربری برای تعامل با موتور شطرنج می باشند. بسیاری از انجین های شطرنج در حال حاضر برای تلفن‌های همراه و تبلت‌ها در دسترس هستند و همین امر باعث می‌شود که موتور‌ها بیشتر از قبل و ساده‌تر از قبل مورد استفاده قرار بگیرند.

انجین های شطرنج چه زمانی اختراع شدند؟

معنای اصطلاح “موتور شطرنج” یا انجین شطرنج در طول زمان تکامل یافته است. در سال 1986، لیندا ( Linda ) و تونی شرزر ( Tony Scherzer ) برنامه خود را به نام Bebe وارد چهارمین مسابقات قهرمانی شطرنج کامپیوتری جهان کردند و آن را بر روی “Chess Engine” اجرا کردند،  Chess Engine نام تجاری آنها برای کامپیوتری بود که برنامه آن‌ها روی آن اجرا می‌شد.  در سال 1990 توسعه دهندگان کامپیوتر DeepBlue، فنگ ( Feng-hsiung Hs ) و ماری ( Murray Campbell ) در حال نوشتن برنامه خود به نام Searching engine ( موتور جستجو کننده ) در رابطه با بازی شطرنج بودند که بیشتر به نر‌م‌افزار شطرنجی اشاره دارد تا نام سخت افزار و یا کامپیوتر.

در اوایل سال 1993، مارتی هیرش ( Marty Hirsch ) بین برنامه‌های شطرنج تجاری مانند Chessmaster 3000 یا Battle Chess از یک سو و موتورهای شطرنج مانند ChessGenius یا MCChess Pro که خود سازنده آن بود از سوی دیگر تمایز قائل شد. در مقایسه انجام شده توسط او، برنامه های شطرنج تجاری قیمت پایینی داشتند، دارای گرافیک فانتزی بودند، اما در لیست رتبه بندی SSDF (انجمن رایانه های شطرنج سوئد) جایگاه بالایی نداشتند در حالی که انجین شطرنج گران تر بودند، و رتبه های بالایی داشتند.

در واقع این امر پس از گذشت سال‌ها همچنان مشهود است، همانطور که شاید شما نیز دیده باشید امروزه نرم‌افزار‌های شطرنجی بیشماری چه در کامپیوتر و چه در بازار داغ گوشی‌های هوشمند روانه بازار شده‌اند. اما باید دقت داشت که بسیاری از این نرم‌افزار‌ها صرفا یک بازی شطرنج را شبیه سازی کرده که حتی می‌تواند با شما رقابت کند و دارای درجات سختی مختلفی نیز می‌باشد. اما هیچ‌گاه این نرم‌افزارها از لحاظ فنی و تاکنیکال و استاندارد‌های روز دنیا مورد تایید هیچ ارگان معتبر شطرنجی مانند FIDE نیستند و هیچ رقابتی در سطح جهانی در آن‌ها برگزار نمی‌گردد. پس می‌توان گفت این نرم‌افزار‌های شطرنجی خانواده‌ی کاملا متمایز با نرم‌افزار‌های رابط کاربری ( GUI ) و همچنین انجین های شطرنج دارند.

بیشتر بخوانید : شطرنج ۹۶۰

در سال 1994، شای بوشینسکی ( Shay Bushinsky ) در حال کار بر روی نسخه اولیه برنامه جونیور ( Junior ) خود بود. او می‌خواست به جای گرافیک بیشتر بر روی کیفیت بازی شطرنج تمرکز کند، بنابراین از تممان ( Tim Mann ) پرسید که چگونه می‌تواند جونیور را وادار کند تا با Winboard ( که یک نرم‌افزار رابط کاربری بود ) ارتباط برقرار کند. پاسخ TIM اساس چیزی بود که به عنوان پروتکل ارتباطی موتورهای شطرنج با برنامه‌های رابط کاربری شناخته شد.

یک موتور شطرنج چگونه کار می کند؟

یک موتور استاندارد شطرنج دارای دو عملکرد است – یک تابع جستجو و یک تابع ارزیابی. در حین ارزیابی، یک موتور شطرنج به همه مهره ها نگاه می کند و موقعیتی را که برای هر کدام بهتر است را مشخص می کند. در طول این فرآیند، همه موتورهای شطرنج چیزی به نام eval را نمایش می دهند. این عددی است که ارزش استاندارد هر قطعه را محاسبه می کند. همانطور که ارزیابی ادامه دارد، موتورهای شطرنج به ارزش پوزیشن و مهره‌های هر دو طرف، تهدیدات قابل مشاهده از هر دو طرف، امنیت وضعیت پادشاه و ساختار پیاده نگاه می کنند. اگر چه اکثر موتورهای شطرنج متفاوت عمل می کنند، اما این مبنایی است که همه آنها موقعیت ها را بررسی کرده و وضعیت برنده را مشخص می کنند.

وضعیت پوزیشن تا یک عدد واحد توسط موتور شطرنج محاسبه می شود. این فقط برای موتورهای شطرنج سنتی صادق است، زیرا آنها برای تقلید از شیوه بازی شطرنج انسان طراحی شده اند. موتورهای شبکه عصبی ( Neural net engines ) که اکنون محبوب هستند، پوزیشن را کمی متفاوت تر ارزیابی می کنند. آنها نتایج دقیق تری را همراه با لیستی از حرکات اصلی ارائه می دهند که با استفاده از آن حرکات بازیکن قادر است موقعیت بهتری را برای خود در صفحه ایجاد کرده و بازی قوی‌تری را ارائه دهد.

بهترین موتورهای شطرنج

موتور شطرنج استاک فیش ( Stockfish Chess Engine )

Stockfish یک موتور رایگان و دارای سورس کد باز ( Open source ) است که در نوامبر 2008 توسعه یافته است. این موتور در تاکتیک ها و استراتژی به شدت قوی عملکرده است و به صورت عالی به شطرنج بازان کمک می کند. از زمان رونمایی این موتور شطرنج، Stockfish به بالاترین نقطه‌ی رتبه بندی موتورها صعود کرده است و اولین انتخاب ما به عنوان بهترین موتور شطرنج برای سال 2023 موتور شطرنج Stockfish‌ می باشد.

در مقایسه با بسیاری از موتورهای شطرنج دیگر، Stockfish از الگوریتم‌های خاص خود برای حرکت در موقعیت‌های پایانی به جای پایه‌های جدول پایان بازی استفاده می‌کند. سازندگان Stockfish در طول زمان تغییرات و پیشرفت های مداومی را انجام داده اند تا مطمئن شوند که در دنیای شطرنج به روز می ماند. Stockfish در زمینه‌های مختلفی از جمله توانایی تحلیلی، درک ظرافت‌های موقعیتی، بهره‌برداری از مزایای جزئی و انجام جستجوهای عمیق برتری دارد.

موتور شطرنج کومودو دراگون ۳ ( Komodo Dragon 3 )

گروهی از برنامه نویسان به رهبری استاد بزرگ شطرنج لری کافمن ( Larry Kaufman ) و دانشمند کامپیوتر مارک لفلر ( Mark Lefler ) یک موتور شطرنج قدرتمند به نام کومودو ایجاد کردند. کافمن کشف کرد که رایانه های شطرنج از نظر استراتژی از انسان ها بهتر عمل می کنند.

با این حال، شطرنج بازان برتر در بازی های موقعیتی برتر بودند. تیم کومودو موتور را برای بازی در موقعیت‌های متفاوت طراحی کرد. این درخشش و دستاورد خود را با تئوری شناخته شده شطرنج انسانی ترکیب می کند. موتور کومودو بیشتر بر روی توسعه و گسترش استراتژیک مهره های خود و اعمال فشار تدریجی بر روی تیم رقیب متمرکز است.

موتور فت فریتز ۲ ( Fat Fritz 2 )

در نسخه Fat Fritz 2 که در سال 2021 میلادی منتشر شد، فناوری NNUE و  تکنولوژی Stockfish 12 ترکیب شده است. که یعنی Fat Fritz، بهترین ویژگی‌های دو سبک با شبکه اطلاعاتی دوبرابر شده را با یکدیگر ادغام کرده و از آن استفاده می‌نماید. در مقایسه با نسخه قبلی، این نسخه از CPU به صورت بهینه استفاده کرده و نیازی به کارت‌های گرافیکی گران قیمت ندارد.

در Fat Fritz 2، بهترین ویژگی‌های دو ژانر با شبکه عصبی جدید و بزرگ آموزش دیده توسط Albert Silver ترکیب شده است. Fat Fritz توسط برخی از بهترین بازیکنان جهان مورد آزمایش قرار گرفت، که از ایده‌ها و پیشرفت‌هایی که به وجود آمد ابراز خوشحالی کردند. اکنون این برنامه به صورت عمومی در ChessBase Engine Cloud در دسترس است.

بیشتر بخوانید : انواع شطرنج

موتور شطرنج رونج ۳ ( Revenge 3.0 Chess Engine )

موتور شطرنج انتقام که توسط پدون ( Pedone ) طراحی شده در لینوکس و ویندوز موجود است، این موتور از سال 2013 در دست توسعه بوده است. این موتور شطرنج در مجموع یکی از قوی ترین موتورهای شطرنج و به خصوص در بخش آخر بازی می‌باشد، همه اینها به لطف شبکه عصبی جدید و بزرگتر آن است. همچنین دارای بهینه‌سازی سرعت جستجوی پیشرفته‌تر، ترتیب بهتر حرکات، جستجو تاریخچه عمیق‌تر و دقت بیشتر است. این موتور شطرنج برای عملکرد به یک برنامه رابط کاربری گرافیکی نیاز دارد و از پروتکل UCI پشتیبانی می کند.

موتور شطرنج هودینی ۶ ( Houdini 6.0 Chess Engine )

رابرت هودارت ( Robert Houdart )، برنامه نویس بلژیکی شطرنج کامپیوتر، هودینی را در سال 2010 معرفی کرد. Houdini 6.0 در تاریخ 18/10/2017 منتشر شد. این موتور ریتینگ شطرنج خود را نسبت به نسخه‌ي قبلی در حدود ۶۰ واحد اضافه کرد. این موتور به دلیل مهارت تاکتیکی فوق العاده و مهارت های محاسباتی دقیق خود مشهور است. موتورهای رایانه شخصی Houdini، مبتنی بر ویندوز است و ابزار بسیار پیچیده ای است که عملکرد شگفت انگیز و سرعت رعد و برق سریع را ارائه می دهد.این موتور قبلاً سه بار در مسابقات موتورهای برتر شطرنج قهرمان شده است. Houdini در میان بهترین موتورهای شطرنج قرار می گیرد.

دیدار شطرنج بازان بزرگ و انجین

موتور‌های شطرنج اولین بار توانستند شطرنج بازان قوی را در اواخر دهه 1980 شکست دهند. معروف ترین موفقیت آنها پیروزی دیپ بلو ( DeepBlue ) بر قهرمان وقت شطرنج جهان، گری کاسپاروف ( Garry Kasparov ) در سال 1997 بود، اما در مورد اینکه آیا شرایط مسابقه به نفع کامپیوتر بود یا خیر، اختلاف نظر وجود داشت.

بیشتر بخوانید : شطرنج فدراسیونی چیست

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

در کل می‌توان گفت این ابر‌ قدرت‌های جدید بر شطرنج حکم رانی می‌نمایند هرچند که در بسیاری از بازی‌های غیر رسمی استاد بزرگان قدرتمند مانند هیکاروناکامورا ( Hikaru Nakamura ) و مگنوس کارلسن ( Magnus Carlsen ) موفق شده‌اند در بسیار از بازی‌ها مقابل این موتور‌ها به نتیجه‌ی تساوی دست پیدا نمایند.

انجین قوی تر است یا انسان

در رابطه با این مسئله که آیا یک موتور شطرنج ( Chess Engine ) قدرتمند تر است و یا یک استاد بزرگ باید دقت داشت که بالاترین امتیازی و ریتینگی که بشر تا به حال داشته است، توسط مگنوس کارلسن نروژی برابر با 2882 است. بالاترین رتبه بندی و ریتینگ یک موتور شطرنج برابر با 3392 توسط کومودو 10 است (بعد از  آن Stockfish 8 است که دارای رتبه 3391 است). از این رو یک تفاوت 510 امتیازی وجود دارد که روشن می کند که یک موتور شطرنج رده بالا، به احتمال زیاد می تواند بازیکنی که بالاترین امتیاز را دارد، شکست دهد.

همچنین باید در نظر داشته باشیم که هر چه زمان بیشتری به یک موتور شطرنج بدهید، می تواند عمق بیشتری را تجزیه و تحلیل کند و می تواند بسیار بهتر بازی کند. همچنین یک موتور شطرنج به احتمال زیاد هرگز هیچ حرکت یا تاکتیکی را که انسان می تواند از دست بدهد، از دست نمی دهد. به نظر نمی‌رسد حتی بهترین استاد بزرگ‌ها شانسی برای پیروزی در برابر موتورهای رده بالای شطرنج داشته باشند.

با وجود فناوری در حال تکامل، احتمال بیشتری وجود دارد که موتورهای قوی‌تر ظاهر شوند و از این رو، حتی برای بهترین استادان بزرگ برتری بر بهترین موتورها دشوارتر می‌شود.

نویسنده : حامد جدیر

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

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

دکمه بازگشت به بالا