پروژه Doomformer: کامپایل شبکه عصبی و ترنسفورمر روی موتور بازی DOOM — Show HN: I Turned DOOM into a Transformer
خلاصه
پروژه Doomformer نشان میدهد که موتور بازی کلاسیک DOOM قابلیت تورینگ کامل دارد و میتوان شبکههای عصبی صحیح (Integer Neural Networks) و ترنسفورمرها را درون نقشههای آن کامپایل کرد. در این سیستم، عروسکهای وودو (Voodoo Dolls) محاسبات ریاضی را انجام میدهند و وضعیت نور و ارتفاع بخشهای نقشه، دادهها را نگهداری میکنند.
معرفی پروژه Doomformer
اجرای بازیهای مختلف روی سختافزارهای عجیبوغریب همیشه برای مهندسان نرمافزار جذاب بوده است، اما این بار داستان برعکس است. پروژه Doomformer که توسط mottopanikeiku توسعه داده شده، به جای اجرای DOOM روی یک پلتفرم جدید، از خودِ موتور بازی DOOM برای اجرای محاسبات یادگیری ماشین استفاده میکند. این ابزار شبکههای عصبی عدد صحیح را به نقشههای ZDoom تبدیل کرده و آنها را در محیط ViZDoom اجرا میکند.
نحوه کارکرد و معماری فنی
بازی DOOM به لطف مکانیکهای داخلی خود تورینگ کامل (Turing-complete) است. در Doomformer از مکانیسمهای این بازی به شکل زیر برای شبیهسازی محاسبات استفاده میشود:
- عروسکهای وودو (Voodoo Dolls): این نسخههای اضافی از بازیکن در نقشه، در واقع وظیفه انجام عملیات حسابی را بر عهده دارند.
- روشنایی و ارتفاع بخشها (Sector Light Levels and Plane Heights): مقادیر عددی و مجموعها در این مؤلفهها ذخیره میشوند.
- اعتبارسنجی دقیق: پایتون مقادیر خروجی بازی را میخواند و آنها را با یک مرجع عدد صحیح در کتابخانه NumPy مقایسه میکند. طبق مستندات، دقت تطابق روی تلورانس صفر تنظیم شده است؛ یعنی حتی اگر یک مقدار یک واحد اختلاف داشته باشد، اجرا ناموفق خواهد بود.
این سیستم به قدری قدرتمند است که میتواند کارهای شگفتانگیزی انجام دهد:
- دستهبندی ارقام MNIST، حتی زمانی که ارقام مستقیماً روی نقشه کشیده شوند.
- پردازش اولیههای زبانی و کمک به تصمیمگیری برای هدایت کاراکتر بازی.
- امکان ویرایش و جهش (Mutate) وزنهای شبکه عصبی در حال اجرا درون نقشه بازی.
نحوه نصب و استفاده
برای نصب و اجرای این ابزار در لینوکس یا مک (با پایتون ۳.۱۱ به بالا)، میتوانید از دستورات زیر استفاده کنید:
pip install git+https://github.com/mottopanikeiku/doomformer
doomformer hello
doomformer draw --digit 7
دستور doomformer doctor ابزارهای مورد نیاز مثل ViZDoom و کامپایلر C را بررسی کرده و محیط را آماده میکند. همچنین یک نوتبوک Google Colab نیز برای اجرای سریع و بدون نیاز به نصب محلی فراهم شده است.
پختگی پروژه و جایگاه آن در هکرنیوز
این مخزن گیتهاب با داشتن لایسنس MIT و کامیتهای فعال، ابزاری بسیار خلاقانه در حوزه سیستمهای محاسباتی اسوتریک (Esoteric Computing) به شمار میرود. اگرچه این روش حدود ۶۵ هزار بار کندتر از NumPy است و اجرای آن زمان بیشتری میبرد، اما اثبات عملی توانمندیهای نهفته در مکانیک یک بازی قدیمی است.
کاربران هکرنیوز با لحنی طنزآمیز و شگفتزده به این پروژه واکنش نشان داده و مطرح کردهاند که اکنون عملاً «هر چیزی میتواند روی DOOM اجرا شود». این پروژه برای توسعهدهندگانی که به تئوری کامپیوتر، کامپایلرها و مکانیکهای بازی علاقهمندند، یک دستاورد فنی بینظیر و سرگرمکننده محسوب میشود.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل