بخشی از مقاله
چکیده
الگوریتم های کاربردی مختلفی برای هوشمند سازی بازی های رایانه ای وجود دارد. با بررسی این الگوریتمها و عملکرد آنها در بازی دوز، دو الگوریتم مسیریابی حریصانه و پرسپترون بعنوان الگوریتم های اصلی در این مقاله انتخاب شده اند . نتایج نشان می دهد ، ترکیب الگوریتم های هوش مصنوعی باعث ایجاد یک موتور هوشمند برای مکان یابی بهتر برای هر حرکت در بازی دوز نسبت به بقیه الگوریتم های پیاده سازی شده است. زیرا در این تحقیق هنگام استفاده از الگوریتم اولویت مکان یابی خانه ها به حالتهای داده شده که امکان برنده شدن بازیکن سیستم را بیشتر می کنند و با هر حرکت حریف، بازیکن سیستم با توجه به اولویت تعریف شده مکان یابی کرده و مکانی را که بالاترین اولویت را دارد به عنوان مکان مهره بعدی انتخاب می کند. نتایج بدست آمده در این مقاله نشان می دهد که روش بکار رفته یک روش تهاجمی و بهینه برای برنده شدن در بازی دوز می باشد. که پس از آزمایش انجام شده به بازده بهینه %89 رسیده است .
کلمات کلیدی : الگوریتم های هوش مصنوعی، بازیهای کامپیوتری، بازی دوز
.1 مقدمه
بازیهای رایانه ای کامپیوتری وسیله ای برای یادگیری و سرگرمی افراد در سنین مختلف میباشند .[1] هوش مصنوعی رایانه ها را قادر میسازد که مانند انسانها فکر کنند.[2]بازیهای کامپیوتری در افزایش سرعت، توجه و ثبات در یادگیری دانش آموزان موثر بوده اند .[3 ] در بازیهای کامپیوتری نوبتی، بازیکن اول حرکتی را انجام میدهد و پس از آن، بازیکن دوم اجازه حرکت خواهد داشت. در بیشتر این بازیها، امکان بازی کامپیوتر با انسان به عنوان یک حریف هوشمند وجود دارد. هدف هوش مصنوعی نزدیک نمودن رفتار و پاسخ یک سیستم رایانه ای به الگوهایی است که انسان بر اساس آنها رفتار میکند و پاسخ میدهد.[4]هوش مصنوعی یکی از شاخه های مهم علوم رایانه است . دوز یک بازی نوبتی و دو نفره است که نسخه کامپیوتری آن پیاده سازی شده است. دوز با توجه به تعداد مهره ها به شیوه های مختلفی بازی میشود.
در این مقاله، بازی دوز نه تایی مورد نظر میباشد. پژوهشهای مختلفی با تمرکز بر یادگیری ماشین و با استفاده از بازیهایی که بر روی صفحه انجام میشوند، از جمله بازی کامپیوتری دوز صورت گرفته است. برخی موارد نیز بر انجام بازی کامپیوتری دوز توسط یک روبات واقعی تاکید داشته است .در بازی کامپیوتری دوز راههای مختلفی برای بهبود کارایی، دقت و همچنین کاهش پیچیدگی مطرح شده است . در این مقاله، از شبکه مصنوعی به عنوان حریف کامپیوتری هوشمند در مقابل حریف انسانی در بازی دوز استفاده شده است.یکی از قسمتهای پیچیده مورد نیاز در بازیهای رایانه ای هوش مصنوعی است. در بازیهای رایانه ای، از هوش مصنوعی برای تولید و شبیه سازی هوش شخصیتهای رایانه ای رقیب استفاده میشود.
.2 معرفی بازی دوز
بازی دوز از بازی های رقابتی و فکری است که بین دو بازیکن انجام می شود. این بازی از دیرباز رواج داشته و به صورت دستی انجام می شده است. با روی آوردن افراد به بازی های هوشمند و رایانه ای، نیاز به الگوریتم های هوشمند که بتواند حس بازی دو نفره را القا کند، بیشتر احساس می شود. با توجه به اینکه در بازی دوز حریف با تفکر حرکت خود را انتخاب می کند، و همینطور این بازی دارای تعداد حالات زیادی است، پس به الگوریتم قوی برای انتخاب مناسب حرکات خود نیاز دارد. در این مقاله بازی دوز 9 تایی را با استفاده ازالگوریتم مسیریابی هوش مصنوعی پیاده سازی شده است. چون حرکت کاربر با تفکر است، مقادیر وزن های اولیه بر اساس چند قانون تعیین شده اند تا عملکرد شبکه عصبی بهبود یابد. این بازی در دو سطح ساده و با استفاده از هوش مصنوعی انجام شده است. عملکرد بازی در سطح غیرهوشمند%36 ، در سطح هوش مصنوعی%89 رسیده است.
محیط مورد مطالعه و بررسی بازی دوز در این مقاله ، دارای 9 موقعیت قرارگیری است که با یک شمای خاص در یک صفحه قرار می گیرند. نمای بازی دوز 9 تایی مورد بررسی در شکل - 1 - نشان داده شده است.بازی دوز در حالت عادی از 9 خانه - سه ردیف و سه ستون - و دو بازیکن که گاهی یکی از آنها کامپیوتر است، و دو مهره به نامهای X و O برای هر کدام تشکیل میشود. پایان بازی زمانی مشخص میشود که سه ردیف یا سه ستون یا دو قطر اصلی و فرعی از مهرههای هم نام تشکیل شود یا اینکه تمام خانهها پر شده باشند. 8 حالت برد در بازی دوز 9 تایی تعریف شده که در شکل - 2 - نشان داده شده است .
بازی بین کاربر - بازیکن - و سیستم انجام می شود. اولویت شروع بازی با کاربر است. برای این بازی یک ماتریس 3*3 از ورودی ها در نظر گرفته شده است که برابر 9 ویژگی با توجه به شکل - - 3 است . انتخاب میشود. در آخر هم به مسیرهای انتخاب شده براساس برد، باخت یا مساوی امتیازی داده شده و ذخیره میشود.دیاگرام مراحل انجام بازی دوز با ترکیب مسیریابی الگوریتم های شبکه عصبی در شکل - 4 - نمایش داده شده است . الگوریتمی که برای این برنامه در نظر گرفته شده است .در صورت کامل شدن درخت، ما به 880،362 مسیر دست پیدا خواهیم کرد. یعنی اینکه برای یک بازی ساده دوز با 9 خانه 880،362 راه مختلف برای اتمام بازی وجود دارد و حالا باید الگوریتمی برای برنامه بنویسیم که بهترین مسیر را برای اتمام بازی پیدا کند. در ضمن باید بعد از اتمام بازی به مسیرهای انتخاب شده امتیازی داده شود.
در صورت برد امتیاز 1 در صورت باخت امتیاز -1 و در صورت مساوی امتیاز 0 به مسیرهای انتخاب شده تعلق میگیرد. ما حدودا اکثر این حالات را بررسی نموده ایم.برای انتخاب بهترین مسیر، ابتدا باید براساس حرکتهای انجام شده مسیرها استخراج شود. بعد از دریافت دادهها به هر یک از مسیرها براساس الگوریتمی خاص و همچنین امتیازهای کسب شده تا بحال امتیازی داده میشود. بازی به بشکل تهاجمی طراحی شده ، بطوری که مکانهایی که باعث برد عامل هوش بازی می شود،وزن بالاتری را می گیرند، که درصد برد سیستم را افزایش می دهد، مسیری که بالاترین امتیاز را کسب کرده باشد به عنوان حرکت بعدی کامپیوتر - 1- 3 وزن دهی گره ها با قوانین زیرطبق شکل - 5 - تعیین می شود:
✓ مقدار X مهره کاربر و مقدار O مهره سیستم
✓ اگر مهره O دو خانه از ردیف های در شکل را پر کرده است به خانه سوم وزن 20 را بده.
✓ اگر مهره X دو خانه از ردیف های در شکل را پر کرده است به خانه سوم وزن 10 را بده.
✓ در غیر اینصورت به نود های آزاد، به نسبت تعداد حضور در ردیف های مورد بررسی وزن 5 را لحاظ کن که در موتور بازی اولویت به خانه های گوشه داده شده است .