Stockfish روی پنتیوم پرو ۱۹۹۶ کاسپاروف رو میبرد
خلاصهٔ کاملتر
سال ۱۹۹۷ کامپیوتر Deep Blue شرکت IBM کاسپاروف رو شکست داد. این دستگاه چند میلیون دلار هزینه داشت، ۳۰ پردازنده و ۴۸۰ چیپ مخصوص شطرنج داشت و ثانیهای بیش از ۲۰۰ میلیون موقعیت رو بررسی میکرد. نیکلاس کارلینی تو این مقاله میپرسه: آیا واقعاً به این سختافزار نیاز بود، یا یه کامپیوتر رومیزی معمولی با یه موتور شطرنج باهوشتر هم کافی بود؟
جوابش اینه که کافی بود. اون یه پنتیوم پرو ۲۰۰ مگاهرتزی با ۶۴ مگابایت رم خریده و یه نسخه از Stockfish رو روش اجرا کرده که حدود ۳۳۰۰ ± ۸۷ Elo بازی میکنه. Elo یعنی امتیازی که قدرت بازیکن شطرنج رو نشون میده؛ کاسپاروف کمی زیر ۲۸۰۰ بود و Deep Blue حدود ۲۷۰۰. این ماشین به اینترنت هم وصله و هر کسی میتونه باهاش بازی کنه. نویسنده میگه کد رو با کمک چند مدل زبانی نوشته، ولی متن مقاله رو خودش نوشته.
سؤال اصلی اینه که چقدر از قدرت موتورهای امروزی به خاطر سختافزار سریعتره و چقدر به خاطر برنامهنویسی بهتر. طبق محاسبه نویسنده، از ۱۳۳۵ امتیازی که به دست اومده، ۷۲۰ امتیازش مال الگوریتم بهتره. برای نشون دادنش، موتور Crafty نسخه ۱۹۹۶ رو با الگوریتمهای جدید بهروز کرده؛ مثل late move reduction (یعنی حرکتهای کماهمیتتر رو کمعمقتر بررسی کن) و NNUE (یعنی یه شبکه عصبی کوچیک که موقعیت صفحه رو ارزیابی میکنه). نتیجه: روی همون پنتیوم پرو از ۱۹۹۹ به ۲۷۱۸ رسید.
آزمایش دوم برعکس بود: Stockfish 17 رو برای سختافزار ۱۹۹۶ پورت کرده. باید محاسبات رو ۳۲ بیتی میکرد، از ۶۴ مگابایت رم بیشتر استفاده نمیکرد و NNUE بزرگ ۷۱ مگابایتی رو با یه نسخه خیلی کوچیکتر عوض میکرد. نسخه اولیه ۲۴۹۶ Elo داشت، ولی بعد از تنظیم پارامترها با SPSA (یه روش تنظیم خودکار از طریق بازی با خودش) و سبکتر کردن ارزیاب، به ۲۸۴۶ در یک ثانیه و ۳۱۸۰ در ۳۰ ثانیه برای هر حرکت رسید.
تو یه مسابقه ۱۰۰ بازیه، موتور مدرن روی پنتیوم پرو در برابر Crafty قدیمی روی سختافزار امروزی (Ryzen 7) ۷۸ برد، ۱۷ مساوی و فقط ۵ باخت داشت. نویسنده قبول میکنه که Elo موتورها (فهرست CCRL) با Elo رسمی انسانها (FIDE) دقیقاً یکی نیست، ولی میگه فاصله ۵۰۰ امتیازی اونقدر زیاده که این اختلاف رو پوشش میده.
نویسنده نتیجه میگیره که آدمها دفعه اول هر کاری رو با زور و بزرگ کردن مقیاس انجام میدن و بعداً میفهمن میشد هوشمندانهتر انجامش داد. سؤالی که مطرح میکنه اینه که امروز با مدلهای زبانی چقدر جا برای پیشرفت نرمافزاری مونده و آیا این پیشرفت از رشد سختافزار جلو میزنه یا نه.
نکات کلیدی:
- پنتیوم پرو ۲۰۰ مگاهرتز با ۶۴ مگابایت رم و Stockfish پورتشده: حدود ۳۳۰۰ Elo در زمان کلاسیک
- Deep Blue حدود ۲۷۰۰ Elo داشت و کاسپاروف کمی زیر ۲۸۰۰
- ۷۲۰ امتیاز از ۱۳۳۵ امتیاز پیشرفت از الگوریتم بهتر اومده، نه سختافزار
- Crafty 11.13 با الگوریتمهای مدرن روی همون ماشین از ۱۹۹۹ به ۲۷۱۸ Elo رسید (یک ثانیه برای هر حرکت)
- مسابقه ۱۰۰ بازیه: ۷۸ برد، ۱۷ مساوی، ۵ باخت برای موتور مدرن روی سختافزار قدیمی




