بخشی از مقاله
چکیده
با توجه به گسترش روز افزون کاربردهای هوش مصنوعی در بازی ها، خصوصا بازی های ساده مبتنی بر فکر و شانس همزمان مانند بازی ورق موجود در برنامه عامل ویندوز و ... و انطباق روششها و الگوهای این بازی ها بر روشهای مختلف هوش مصنوعی و توجه به این نکته که بازی زمانی می تواند با یک نیروی انسانی قوی بازی کند که همانند انسان فکر کند در این مقاله یک بازی مبتنی بر فاصله با منطق فازی که تصمیم گیری های آن بسته به شرایط، ممکن است تغییر کند طراحی و پیاده سازی شده است.
الگوریتم طراحی شده بر اساس الگوی فازی کاربر انسانی هوشمند و خبره در بازی طراحی شده که در مواجهه با حریف یا رقیب ضعیف نیز به هیچ وجه از کارایی آن کم نمی شود. بدین منظور از روش الگوریتمAHP که مبنای آن منطق فازی می باشد برای طراحی بازی استفاده شده که دارای انعطاف بیشتری نسبت به روش های موجود می باشد. در نهایت برای مقایسه، هیچ منطق مشابه با روش پیشنهادی برای این بازی در مقالات مرتبط با آن یافت نشد و در برابر روشهای مشابه برای این بازی روش پیشنهادی همواره برنده بازی بوده است.
-1 مقدمه
تئوری بازی ها برای اولین بار توسط - فون نویمان و مورگنسترن ، - 1944 معرفی شد.[1] تئوری بازی ها را نمی توان به صورت یک حوزه جدا تعریف کرد اما در علوم اجتماعی ، علوم سیاسی، علوم کامپیوتر، اقتصاد، علوم مهندسی، فلسفه و بسیاری دیگر مورد استفاده قرار می گیرد - اومان ، .[2] - 1987 تئوری بازی را برای ارائه یک وضعیت مربوط به تصمیم استراتژیک تعریف کرد که در آن افراد تصمیم درست برای رسیدن به موفقیت می گیرند و برای آن تلاش می کنند.
بازیکنان در تئوری بازی منطقی در نظر گرفته می شوند و دارای توانایی برای -1 ارزیابی نتایج -2محاسبه مسیرها برای نتایج -3 انتخاب اقداماتی که نتایج مورد نظر را به خود واگذار می کند هستند. علاوه بر این، هر بازیکن در بازی یک گزینه از استراتژی های ممکن - دو یا بیشتر - را انتخاب می کند. یک استراتژی یا همان یک برنامه از پیش تعیین شده از بازی توضیح داده شده است که بازیکن می تواند تصمیم درست در پاسخ به هر تاکتیکی که امکان پذیر است و بازیکنان دیگر ممکن است استفاده نمایند، بگیرد.
در برابر تئوری بازی، منطق فازی، منطقی است که تفکر انسانها برای نتیجه گیری از روشهای متنوع را تبدیل به عددی بین صفر و یک می کند . نخستین بار در جهان ، مفهوم فازی توسط پروفسور لطفی زاده دانشمند برجسته ایرانی ، استاد دانشگاه برکلی کالیفرنیا در 1965 عرضه شد و بعنوان یک متدولوژی کنترل هوش مصنوعی ارائه شد ، همچنین روشی برای پردازش داده ها، بر اصول جایگزینی عضویت در گروه های کوچک ، به جای عضویت در گروه های بزرگ ارائه شد ، بعبارت دیگر این منطق بر این مضمون تاکید دارد که مغز انسان نیاز به اطلاعات دقیق ندارد ، زیرا می تواند کنترل تطبیقی را به نحو احسنت انجام دهد و این در مورد ماشین هایی که با این منطق کار می کنند نیز صادق است.
بازی مبتنی بر فاصله در حقیقت نوعی بازی با حاصل جمع صفر است. این در حقیقت نوعی بازی با جمع ثابت است که مقدار آن در طول بازی تغییر نمی کند یعنی افزایش و کاهش پیدا نمی کند، در این نوع بازی سود یک بازیکن منجر به ضرر بازیکن دیگر می شود و در نهایت در این بازی حتما یک بازنده و یک برنده وجود دارد.
پیشینه تحقیق
در این روش - [3] لینا مالوزی و همکاران - - 2011 یک مدل جدید در تئوری بازی های تعاونی پیشنهاد کرده اند که ارزش هر ائتلاف با استفاده از یک تابع از نتیجه واقعی بدست می آید. گسترش حالت بازی های همکاری با ارزش تابع مشخصه و در نظر گرفتن بازی که در آن ارزش هر ائتلافی با استفاده از یک فاصله فازی داده شده است از جمله ویژگیهای این کار می باشد. از جمله ویژگیهای روش پیشنهادی در این کار میتوان به یادگیری بر پایه تفاوت بین ادراک متوالی از نظر زمانی اشاره کرد. نقطه ضعف روش پیشنهادی در [3] این است که در نرخ های یادگیری پایین تر کارایی را بهبود نمی دهد .
در - [4] تساوو و همکارش ، - 1989 کلاس شبکه های پیوند گرا که بازی تخته نرد را در سطوح متوسط به صورت پیشرفته یاد میگیرند، توصیف شده است. در [4] شبکه های عصبی در یک مجموعه بزرگ از موقعیت های نمونه که توسط متخصص مورد بررسی قرار داده شده مورد آموزش قرار میگیرد. اولین گام در طراحی هر سیستم پیوند گرا ، تصمیم گیری ورودی عمل و محاسبه خروجی برای آن است. این روش متشکل از یک پایگاه داده که شامل: یک موقعیت تخته، یک قانون، یک حرکت پیشنهادی و قضاوت یک انسان متخصص از بهینه گی حرکت است.
در [4] بهینه گی به عنوان یک عدد صحیح در محدوده ی +100 } و {-100 در نظر گرفته شده که +100 به عنوان بهترین حرکت ممکن و -100 به عنوان بدترین حرکت ممکن در نظر گرفته شده است. در نهایت شبکه عصبی آموزش داده شده حرکت را در خود به عنوان یادگیری ذخیره می کند که اگر در آینده این موقعیت با همین داده ها رخ داد دوباره از همین روش استفاده کند. از جمله ایرادات این روش اشغال حافظه به میزان زیاد است و اینکه ممکن است یک حرکت ذخیره شده در یادگیری، مدت های زیادی بدون استفاده بماند. علاوه بر آن انسان ها به دلیل داشتن طرز فکر متفاوت ممکن است در شرایط مختلف تصمیم اشتباه بگیرند و این باعث می شود که در بعضی از مراحل بازی اشتباهات فاحشی رخ دهد.
- توماس و همکاران ، [5] - 2002 برای بازی تخته نرد از یک شبکه عصبی استفاده کرده اند که قادر است هنگام بازی نخته نرد خود را آموزش دهد و از نتایج مفید بدست آمده برای یادگیری خود استفاده کند.
در این بازی تخته نرد ، یک شبکه عصبی MLP بر اساس دنباله ای از موقعیت ها، تخته را با شروع از موقعیت آغازین و خاتمه در یک موقعیت پایانی - زمانی که یکی از طرفین تمام مهره های خود را بیرون برده باشد - شروع می کند. موقعیت های تخته به عنوان بردار های ورودی شبکه داده می شوند و یک بردار خروجی نیز وجود دارد. در این برنامه هر اشتباهی که رخ دهد خودش آن را با تخمین ها قبلی تصحیح می کند و ان را به عنوان یک روش جدید در خود ذخیره می کند. در پایان هر بازی یک پاداش نهایی بر اساس خروجی بازی داده می شود و بار دیگر با تغییر وزن ها روش جدید در داخل بازی ذخیره می شود. تحت این شرایط آموزش، خروجی این شبکه تعلیم داده شده را به عنوان تخمینی از خروجی مورد انتظار تفسیر می کنیم.
بدیهی است در [5] هر چه اندازه شبکه و میزان تجربیات آموزشی بیشتر می شود بهبود های اساسی در کارایی قابل مشاهده است. علاوه بر ان این روش توانسته با اضافه نمودن یک سری از ویژگی ها بصورت دستی به بازنمایی ورودی شبکه های عصبی ، کارایی را به سطح متخصصین بازی ارتقا دهد. ایراد ان نیز نیاز به پروسه آموزش طولانی است.
در [6] - علیرضا خان تیموری و همکاران - چند نوع یادگیری های تقویتی و کاربرد آن را در بازی تخته نرد ارائه دادند. در این نوع یادگیری عامل از طریق تعامل با محیط و مشاهده نتایج اقداماتش که به صورت مجازات یا پاداش است یاد میگیرد چگونه رفتار کند تا پاداش دریافتی اش در طول زمان بیشینه شود. الگوریتم یادگیری در هر لحظه از زمان چندین حالت دارد ، حالت ها باید بر اساس شرایط محیطی و داده های ورودی مشخص شوند. این الگوریتم مشکل را در محل خاص خود پیدا می کند سپس اقدامات احتمالی را انجام داده و اطلاعات را در همان لحظه به روزرسانی و ذخیره می کند. در روش پیشنهادی [6] می توان هر موقعیت بازی را با یک حالت مشخص کرد سپس با استفاده از الگوریتم به هر حالت یک ارزش اختصاص داد. در این الگوریتم نمیتوان از جست و جوی عمقی استفاده کرد و به دلیل داشتن تکرار های زیاد در پایگاه داده سرعت زمان اجرای برنامه کاهش می یابد.
در - [7] یینگ فولو ، مینگ هیو ون - 2010- نقش آفرینی در بازی های آنلاین چند نفره را بررسی کردند. سیستم محتوای بازی مورد بحث در این پژوهش شامل 5 جزء بوده است: -1 سیستم شخصیت -2 صحنه های زیست محیطی -3 اثرات نور و صدا طراحی کاربر و کار -5 قوانین بازی
در [7] به منظور تعیین بهترین استراتژی انتخاب ویژگی های بازی آنلاین از روش AHP فازی برای تعیین اهمیت نسبی بازی آنلاین و ویژگی های مختلف آن استفاده شده است که ترکیبی از نظریه مجموعه فازی و AHPاست .رویکرد فازی[7] شامل مراحل زیر است:
اعداد فازی مثلثی برای ساخت ماتریس مقایسه فازی ایجاد می شود. -2 اطلاعات جمع آوری شده از ارزیابی کاربران از هر یک از عناصر تصمیم گیری با استفاده از روش میانگین فازی پیشنهاد شده توسط [10]محاسبه می شود. -3 وزن فازی هر یک از عناصر تصمیم گیری با استفاده از روش تقریب معرفی شده توسط [10] محاسبه می شود. روش دیفازی کننده پیشنهاد شده توسط - تزنگ و تنگ [11] - 1993- به هر یک از عناصر تصمیم گیری اعمال شد. 5 وزن همه ی عناصر تصمیم نرمال می شود. -6 جمع هر سطح از مدل ارائه سلسله مراتبی بازی های آنلاین محاسبه و ارزش نسبی وزن های فازی برای هر عنصر و ویژگی ها و کامپوننت و سیستم سطح برای هر ماتریس مقایسه فازی محاسبه می شود. -7 در نهایت سازگاری و ثبات برای هر ماتریس فازی محاسبه می شود. نتایج [7] نشان داده که اهمیت وزن نسبی محتوای بازی بیشتر از سیستم های ارزش افزوده است و کاربران با توجه به طراحی پیشنهاد داده شده به انتظارات خود دست می یابند.
در [8] - حسن نصرتی و مهدی افتخاری ، - 1391 یک روش انتخاب مبتنی بر منطق فازی ارائه داده اند که در این روش از اصل توسعه استفاده شده و بنابراین تابع عضویت شایستگی نیز بر اساس اصل توسعه تعریف می شود. ابتدا ماتریس همبستگی را ایجاد کرده، سپس بر اساس تجزیه به مقادیر اصلی تعدادی از ویژگی ها را جدا کرده و با استفاده از اصل توسعه این ویژگیها به عنوان یک عدد فازی مثلثی در نظر گرفته شده اند و در آخر با فازی زدایی مقدار شایستگی را بدست آورده است و در نهایت ماتریس همبستگی با توجه به مقدار شایستگی و تابع ضریب همبستگی خطی پیرسون محاسبه می شود. در مرحله بعد با استفاده از الگوریتم ژنتیک تعداد ویژگی های بهینه انتخاب می شوند.
- میکائل و همکارانش،[9] - 2005 با استفاده منطق فازی دست به بهینه سازی الگوریتم های قبلی بازی تخته نرد زدند. که آنها توسط تعریف یکسری از قوانین بازی سعی در بهبود الگوریتم های قبلی داشته اند. بهتر شدن نتیجه حالت های حرکتی بازی نسبت به الگوریتم های قبل، نزدیک شدن بازی به تفکر انسان، داشتن اشتباه در بعضی از حرکت ها از جمله نقاط ضعف و قوت روش پیشنهادی در این کار بوده است.