موضوع مقاله: بازی کردن عمومی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # بازی کردن عمومی | مقدمه: بازی کردن عمومی (GGP) طراحی برنامه‌های هوش مصنوعی است تا بتوان بیش از یک بازی را با موفقیت انجام داد. | ## بخش 1: بازی کردن عمومی | برای بسیاری از بازی‌ها مانند شطرنج، کامپیوترها برنامه‌ریزی شده‌اند تا این بازی‌ها را با استفاده از یک الگوریتم طراحی شده خاص انجام دهند، که نمی‌تواند به بازی‌های دیگر این برنامه تعمیم پیدا کند. به عنوان مثال، یک برنامه رایانه ای که شطرنج بازی می‌کند نمی‌تواند بازی چکرز را انجام دهد. بازی ویدیویی کردن عمومی (GVGP) یکی دیگر از کاربردهای GGP است که با توجه به هدف بازی‌های ویدیویی تنظیم می‌شود. در بازی سازی عمومی قوانین بازی باید توسط چند بازیکن تکرار شود مانند TD-Gammon یا به صورت دستی این قوانین در یک زبان خاص و از پیش تعریف شده برای بازیکنان ارسال شود درواقع GGP از سال ۲۰۱۳ به دنبال رویکرد یادگیری تقویت عمیق هست مانند توسعه برنامه ای که بر اساس یادگیری عمیق بتواند بازی آتاری ۲۶۰۰ را یاد بگیرد و توسط این یادگیری بتواند بازی‌های سیستم سرگرمی نینتندو که در نسل‌های بعد ارایه می‌شود را انجام دهد اولین کاربرد تجاری فناوری بازی عمومی، Zillions of Games در سال ۱۹۹۸ بود. بازی عمومی نیز برای نمایندگان تجارت در مدیریت زنجیره تأمین و پس از آن در مذاکره‌ها قیمت در حراج‌های آنلاین از سال ۲۰۰۳ به بعد پیشنهاد شد. این اولین برنامه ای بود که به‌طور خودکار قوانین بازی‌های شطرنج مانند را تولید می‌کند و یکی از اولین برنامه‌هایی است که از تولید بازی‌های خودکار استفاده می‌کند. این بسته در سال ۲۰۰۷ با افزودن پلاگین Axiom، یک موتور متا بازی جایگزین که یک زبان برنامه‌نویسی کاملاً مبتنی بر Forth را در خود دارد، تمدید شد. همچنین امکان تعریف بازیکنان رایانه ای را نیز فراهم می‌کند، که در یک بازی با موضوع‌های انسانی شرکت می‌کنند. این شناخته شده‌ترین تلاش برای استانداردسازی GGP AI است و به‌طور کلی به عنوان استاندارد سیستم‌های GGP دیده می‌شود. این بازی‌ها با مجموعه قوانینی که در زبان توضیح بازی ارائه می‌شوند، تعریف می‌شوند. | ## بخش 2: بازی کردن عمومی | که از نظر قانونی بودن حرکت را کنترل می‌کند و بازیکنان را از تغییرهای وضعیت مطلع می‌کند. این مسابقه با ضبط عملکرد آنها در هر بازی، توانایی‌های AI رقیب را برای انجام انواع بازی‌های مختلف قضاوت می‌کند. در مرحله اول مسابقه، داوطلبان با توجه به توانایی انجام حرکت‌های قانونی، دستیابی به برتری و بازی‌های سریعتر قضاوت می‌شوند. در مرحله بعدی، هوش مصنوعی در بازی‌های پیچیده‌ای که به‌طور فزاینده ای پیچیده‌ هستند، در برابر یکدیگر قرار می‌گیرند. هوش مصنوعی که در این مرحله بیشترین موفقیت را به دست می‌آورد در این مسابقه برنده می‌شود و تا سال ۲۰۱۳ سازنده آن یک جایزه ۱۰ هزار دلاری می‌گرفت. پیاده‌سازی‌های GVGP به‌طور بالقوه می‌توان از GVGP برای ایجاد هوش مصنوعی بازی‌های ویدیویی و همچنین «آزمایش محیط‌های بازی، از جمله مواردی که به‌طور خودکار با استفاده از تولید محتوای مرحله ای ایجاد می‌شوند و یافتن نقاط ضعف احتمالی در بازی که یک بازیکن انسانی می‌تواند سوءاستفاده کند ،» استفاده کرد. از GVGP همچنین برای تولید قوانین بازی و تخمین کیفیت بازی بر اساس پروفایل‌های عملکرد الگوریتم نسبی (RAPP) استفاده شده‌است که تفاوت مهارت را که یک هوش مصنوعی خوب و هوش مصنوعی انجام می‌دهد مقایسه می‌کند. در این مسابقه، به جای بازی‌های رومیزی که در مسابقه GGP استفاده می‌شود، از بازی‌های ویدئویی دو بعدی مشابه (و بعضاً مبتنی بر) دوره‌های بازی و کنسول مربوط به دوران دهه ۸۰ استفاده می‌شود. این یک روش برای محققان و شرکت کنندگان ارائه داده‌است تا بهترین الگوریتم‌های بازی عمومی ویدیویی خود را آزمایش و مقایسه کنند. این مسابقه دارای یک چارچوب نرم‌افزاری مرتبط با تعداد زیادی بازی است که به زبان توضیح‌های بازی ویدیویی (VGDL) نوشته شده‌است، که نباید با GDL اشتباه گرفته شود و یک زبان برنامه‌نویسی با استفاده از معانی و دستورهای ساده است که به راحتی تجزیه می‌شود. | ## بخش 3: بازی کردن عمومی | بازی‌های مورد استفاده در GVGP، در حال حاضر، غالباً بازی‌های دو بعدی هستند، زیرا ساده‌ترین آنها برای تعیین کمیت است. برای ساده‌سازی فرایند هوش مصنوعی که می‌تواند بازی‌های ویدیویی را تفسیر کند، بازی‌ها بصورت دستی در VGDL نوشته می‌شوند. سپس می‌توان از GVGP برای بررسی اعتبار سطوح رویه ای و همچنین دشواری یا کیفیت سطوح بر اساس عملکرد یک عامل استفاده کرد. الگوریتم‌ها از آنجا که GGP AI باید برای انجام چندین بازی طراحی شده باشد، طراحی آن نمی‌تواند به الگوریتم‌های ایجاد شده برای یک بازی خاص تکیه کند. در عوض، هوش مصنوعی باید با استفاده از الگوریتم‌هایی طراحی شود که روش‌های آنها را می‌توان در طیف گسترده‌ای از بازی‌ها به کار برد. هوش مصنوعی همچنین باید یک روند مداوم باشد، که بتواند به جای خروجی حالت‌های قبلی، با وضعیت فعلی خود سازگار شود. برای استفاده بهتر از بازی‌های خاص و همچنین سازگاری آن با بازی‌های ویدئویی، تغییرهای MCTS که اغلب همراه با روش UCT استفاده می‌شود (بهینه‌سازی که برای درختان اعمال می‌شود) ارائه شده‌است.M. فرضیه‌ها به منظور تعامل با بازی‌های مختلف، الگوریتم‌ها باید با این فرض که همه ویژگی‌های مشترک بازی‌ها دارند عمل کنند. در کتاب نیمه واقعی: بازی‌های ویدئویی بین دنیای واقعی و دنیای خیالی، Jesper Juul تعریف زیر را از بازی‌ها ارائه می‌دهد: بازی‌ها براساس قوانین تعریف می‌شوند، دارای نتایج متغیر هستند و سپس نتایج مختلف ارزش‌های مختلف ایجاد می‌کنند و تلاش بازیکن بر نتایج تأثیر می‌گذارد. | ## جمع‌بندی | با استفاده از این فرضیه‌ها، می‌توان هوش مصنوعی بازی را با کمی سازی ورودی بازیکن، نتایج بازی و نحوه اعمال قوانین مختلف و استفاده از الگوریتم‌ها برای محاسبه مطلوب‌ترین مسیر ایجاد کرد.