حل حرفه‌ای بازی Connect-Four روی کامپیوتر معمولی! 🤖🎲

Fall Back

اگه اهل بازی‌های تخته‌ای هستی یا حتی فقط یه بار سراغ بازی Connect-Four (همون بازی که باید مهره‌ها رو توی یه شبکه ۷ در ۶ بندازی و هر کی اول چهار تا مهره عمودی یا افقی یا مورب بچینه، می‌بره) رفته باشی، احتمالاً واست جالبه بدونی که این بازی از نظر ریاضی کاملاً حل شده‌ست! یعنی دانشمندها و برنامه‌نویس‌ها تونستن کاملاً بفهمن چطوری همیشه بهترین حرکت رو بزنی. اما نکته اینجاست که حل اینجوری الزماً یعنی فقط می‌دونی برنده کیه و همیشه بهترین حرکت چیه. اما اینکه همهٔ این راه‌حل‌ها رو توی یه جدول بزرگ (که بهش Look-up table می‌گن، یعنی همهٔ موقعیت‌ها رو از قبل توش ذخیره کردیم و فقط با یه نگاه جواب می‌گیریم) بریزی داخل یه کامپیوتر معمولی، همیشه فکر می‌کردن تقریباً غیرممکنه یا خیلی سخته.

حالا توی یه مقاله جدید (آدرسش arXiv:2507.05267ه اگه خواستی خود مقاله رو بخونی!)، چند تا محقق اومدن و سراغ یه روش قدیمی ولی باحال به اسم Symbolic search رفتن. Symbolic search یعنی به‌جای اینکه همهٔ موقعیت‌ها رو یکی‌یکی بررسی کنی و هر کدومو جدا ذخیره کنی، میای و با یه سری ساختارهای خاص مثل Binary Decision Diagram (یا همون BDD؛ این یه جور ساختار داده است که تعداد زیادی حالت رو می‌تونه خیلی فشرده و خلاصه ذخیره کنه و سریع بینشون جست‌وجو انجام بده) کلی موقعیت رو یه‌جا مدیریت می‌کنی.

این تیم با خلاقیت تونستن با همین روش، یه جدول خیلی بزرگ بسازن که تقریباً همهٔ حالاتی که ممکنه تو بازی پیش بیاد رو تو خودش جا داده! فکر کن، این جدول ۸۹.۶ گیگابایته و فقط ۴۷ ساعت طول کشید تا روی یه پی‌سی معمولی (یه سی‌پی‌یو تک هسته‌ای و ۱۲۸ گیگ رم!) ساخته بشه. یعنی نیازی به سوپرکامپیوتر یا سرور عجیب نداری؛ با همین سیستمای خانگی جدید قابل انجامه!

تا حالا فقط فهمیده بودیم از هر حالت کی می‌بره یا کی می‌بازه یا مساوی میشه (این همون Win-Draw-Loss هست، به این معنی که از یه آرایش خاص روی برد، نتیجهٔ بازی چیه)، اما اینا یه قابلیت باحال‌تر هم اضافه کردن: یه قسمتی به اسم Alpha-Beta Search هم داخل کد متن‌بازشون گذاشتن. Alpha-Beta Search یه روش باهوشه برای جست‌وجوی بازی‌های دو نفره که سریع‌تر بهترین حرکت رو پیدا می‌کنه، حتی با کمترین باخت یا سریع‌ترین برد. یعنی نه‌تنها می‌گه این حرکت سرآخر می‌بره یا نه، بلکه می‌گه چیا رو بزن که سریع‌تر حریفت رو شکست بدی یا باختت رو تا جای ممکن عقب بندازی!

نتیجه این کار برای کَسایی که علاقه به هوش مصنوعی دارن خیلی جذابه: نشون داد که حتی راه‌حل‌های خیلی قوی و ظاهراً غیرعملی هم با کمی خلاقیت و برنامه‌نویسی (و البته سخت‌افزار معمولی این‌روزها) می‌تونه انجام‌پذیر باشه. تا حالا شاید فکر می‌کردیم قوی‌ترین شیوه حل کامل بازی‌ها فقط برای کامپیوترای خیلی گرون و سنگینه، اماینا ثابت کردن میشه با صبر و روش درست حتی با یه سیستم خونگی هم تهش رو دربیاری!

اگه اهل کدنویسی یا بازی و هوش مصنوعی هستی، کار این پژوهشگرها واقعاً شگفت‌انگیزه و حالا ابزارشون هم Open Source یعنی متن‌بازه و هر کسی خواست می‌تونه ازش استفاده کنه یا حتی واسه پروژه خودش سفارشی‌سازیش کنه. پس دفعه بعدی که خواستی Connect-Four بازی کنی، سریع برید سراغ Look-up Table جدید و بهترین استراتژیا رو تو چند ثانیه از دنیای علم قرض بگیر!

منبع: +