شبکه عصبی مصنوعی و الگوریتم های پیشرفته در بازی های کامپیوتری
شبکه عصبی مصنوعی و الگوریتم های پیشرفته در بازی های کامپیوتری
همان طور که می دانید سیستم عصبی بدن انسان از دو قسمت مرکزی (CNS) و محیطی (PNS) تشکیل شده است. سیستم عصبی مرکزی شامل مغز و نخاع و سیستم عصبی محیطی شامل رشته های عصبی و گیرنده های آن در اعضای مختلف بدن است. وظیفه سیستم عصبی محیطی، جمع آوری اطلاعاتی است که در نهایت باید توسط مغز و نخاع پردازش شود. اخیرا با معرفی شبکه عصبی مصنوعی در مبحث هوش مصنوعی، درست مانند سیستم عصبی بدن انسان، جزء محیطی نیز برای این سیستم تعریف شده است. در واقع اطلاعاتی که قبلا برای پردازش به هوش مصنوعی سپرده می شد، با معرفی این سیستم به نحو کامل تر و طبقه بندی تری در اختیار آن قرار می گیرد.
بحث شبکه های عصبی مصنوعی و موارد استفاده آن ها در بازی های کامپیوتری، اخیرا به یکی از بحث های داغ در صنعت بازی سازی تبدیل شده است. در بسیاری از مجلات و سایت های بازی به این بحث و توانایی های الگوریتم های امروزی ساخت بازی ها اشاره شده است. مشکلات مربوط به شبکه عصبی مصنوعی نیز بارها در اجلاس سازندگان بازی ها (GDC) که سالانه در شهر لندن برگزار می شود مطرح شده است.
بازی ماشین سواری Collin McRae Rally2 یکی از اولین بازی هایی است که از این سیستم در هوش مصنوعی خود استفاده کرده است و اتفاقا بسیار هم موفق بوده است. در این بازی در حین این که کامپیوتر سعی دارد ماشین های خود را به بهترین نحو در جاده کنترل کند، همزمان توسط کمک راننده ماشین ها، بنا به شیوه مسابقات رالی، توضیحاتی در مورد آینده جاده و نحوه پیچ ها می دهد. در این بازی هم، درست مانند توضیحی که در قسمت هوش مصنوعی بازی های ورزشی گفته شد، هر جاده توسط خطوطی شکسته که طرح خطی ای را برای هوش مصنوعی تشکیل می دهند، شناخته می شود.
اگر بخواهیم شبکه عصبی مصنوعی را برای این بازی توضیح دهیم، باید به اطلاعاتی اشاره کنیم که این سیستم آن ها را برای هوش مصنوعی جمعآوری می کند. در واقع اطلاعات ورودی شبکه عصبی مصنوعی اطلاعاتی است مانند: میزان انحنای هر پیچ، فاصله اتومبیل تا ابتدای پیچ، نوع سطح جاده، سرعت و اجزای سوارشده روی هر اتومبیل از قبیل توربو و فلاپ ها و کیت ها.
سپس این شبکه وظیفه دارد این اطلاعات ورودی را با عبور از لایه های مختلف به هسته اصلی هوش مصنوعی بازی (که با موتور ساخت بازی نیز ارتباط تنگاتنگ دارد) برساند. سپس در آنجا پردازش های نهایی صورت می گیرد و اطلاعات خروجی به دست می آید. وظیفه پیرایش و نمایش این اطلاعات خروجی باز هم به عهده شبکه عصبی مصنوعی است. بدین ترتیب در مثال بالا حرکت و کنترل اتومبیل در جاده، بنا به موقعیت، به درستی و به بهترین شکل ممکن صورت می گیرد و قسمت معرفی جاده توسط کمک راننده نیز در کنار هدایت اتومبیل به طبیعی ترین حالت ممکن، انجام می شود.
در کنترل اتومبیل به این شیوه، کامپیوتر می داند که می تواند از روی موانع کوچک تر عبور کند؛ بدون آن که مشکلی در هدایت داشته باشد یا می داند که در حالات برفی و بارانی که جاده لغزنده است، باید زودتر از حالت طبیعی تصمیم به پیچیدن داشته باشد. این بازی از مدلی چند لایه به نام Perceptron Model استفاده می کند. در علم پزشکی این مدل عصبی-هدایتی که نورون McCulloch-Pitts هم نامیده می شود، عبارت است شبکه ای از نورون ها که ارتباطات سنگین و مهمی بین ورودی عده ای از نورون های با خروجی عده دیگر از نورون ها، برقرار می کنند.
در واقع این ارتباطات مانند سیناپس های پیشرفته ای هستند که بر اساس تجربیات بسیار کوچک، تصمیم های موثر و مهمی را اتخاذ می کنند. تصمیماتی مانند یادگیری های پیشرفته. با توضیحی که در مورد شبکه عصبی مصنوعی در بازی فوق داده شد، می بینیم که شباهت های بسیاری بین این سیستم و سیستم به کاررفته در بازی دیده می شود.
شبکه عصبی مصنوعی، به صورت تئوری، می تواند بسیاری از وظایف کنونی هوش مصنوعی را انجام دهد و زمان و سرعت بیشتری را برای اعمال مهم تر در اختیار آن قرار دهد. ولی عملا مسائلی، فعالیت این شبکه عصبی را محدود می کنند که در ادامه به چند مورد از آن ها اشاره می کنیم:
● مشکلاتی در انتخاب اطلاعات ورودی مناسب برای این شبکه
● عدم حساسیت این شبکه به تغییرات منطقی کنش های بازی و دوباره سازی هر شبکه با
تغییر هر حالت در بازی.
● ساختار مشکل و پیچیده آن و مشکلاتی که در Debug کردن هر موقعیت به وجود
می آورد.
● زمان زیادی که برای طراحی چنین شبکه ای احتیاج است.