باز کردن منو اصلی

موتور شطرنج (به انگلیسی: Chess engine)[۱] در شطرنج کامپیوتری، برنامه‌ای است که موقعیت‌های شطرنج را ارزیابی کرده و بهترین حرکت را انتخاب می‌کند. موتور شطرنج در مورد اینکه چه حرکتی انجام شود تصمیم می‌گیرد، ولی معمولاً به‌طور مستقیم با کاربر در تعامل نیست. بیشتر موتورهای شطرنج رابط کاربری خود را نداشته و برنامه‌های کنسولی هستند که با استفاده از پروتکل استاندارد با رابط‌های کاربری همچون WinBoard، XBoard یا glChess ارتباط برقرار می‌کنند. این به کاربر امکان می‌دهد که بدون نیاز به یادگیری رابط کاربری جدید برای هر موتور شطرنج، با آن‌ها بازی کرده یا اجازه دهد با همدیگر به رقابت بپردازند[۲].

پروتکل رابطویرایش

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

توانایی فزایندهویرایش

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

سنجشویرایش

مسابقاتویرایش

نتایج مسابقات کامپیوتری چشم‌اندازی از توانایی نسبی موتورهای شطرنج ارائه می‌دهد. هرچند مسابقات تعداد بازی‌های قابل توجهی از نظر آماری ارائه نمی‌دهند تا به‌طور دقیق توانایی موتورها را بسنجیم. در واقع تعداد بازی‌هایی که برای رسیدن به آمار معنادار نیاز داریم هزاران بازی است و در چارچوب کاری یک مسابقه نمی‌گنجد. بیشتر مسابقات امکان استفاده از سخت‌افزارهای گوناگون را می‌دهند، بنابراین ترکیب موتور/سخت‌افزار مقایسه می‌شود. به‌طور تاریخی برنامه‌های تجاری توانمندترین موتورها هستند. این تا اندازه‌ای پیش‌گویی خودانجام است؛ اگر یک موتور آماتور در یک مسابقه برنده شود یا خوب بازی کند (برای مثال Zappa در سال 2005)، سپس به سرعت تجاری می‌شود. عنوان‌هایی که در مسابقات زیر اعتبار زیادی برای برنامه‌های برنده و بنابراین برای استفاده بازاریابی به همراه دارد.

  • مسابقات قهرمانی شطرنج هلند.
  • مسابقات شطرنج کامپیوتری اینترنت (ICT)
  • مسابقات قهرمانی شطرنج کامپیوتری بین‌المللی پادربورن
  • قهرمانی شطرنج کامپیوتری آمریکای شمالی
  • رقابت موتورهای شطرنج تورسن
  • مسابقات شطرنج کامپیوتری جهانی

ریتینگویرایش

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

  • کنترل زمان. زمان‌های بلندمدت همچون 40 حرکت در 120 دقیقه برای تعیین توانایی بازی در مسابقات بهتر است ولی باعث زمان‌بر شدن آزمایش می‌شود.
  • سخت‌افزار مورد استفاده. سخت‌افزار سریعتر با حافظه بیشتر به بازی قوی‌تری منجر می‌شود.
  • سخت‌افزار 64-بیتی (در برابر 32-بیتی) و سیستم‌عامل‌هایی که تمایل به برنامه‌های بیت‌بوردی دارند.
  • سخت‌افزار چندپردازنده‌ای در برابر سخت‌افزار تک‌پردازنده‌ای.
  • تنظیم حالت تفکر (ارزیابی دقیق‌تر در هنگامی که رقیب در حال تفکر است).
  • اندازه جدول جابه‌جاسازی.
  • تنظیم کتاب گشایش بازی.

این تفاوت‌ها روی نتایج تأثیر می‌گذارد و مقایسه لیست‌های ریتینگ را دشوار می‌کند.

مجموعه آزمایشیویرایش

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

جستارهای وابستهویرایش

منابعویرایش

  1. مشارکت‌کنندگان ویکی‌پدیا. «Chess engine». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۹ ژانویهٔ ۲۰۱۵.
  2. https://chessprogramming.wikispaces.com/Protocols