موجودی به اسم “هوش مصنوعی”

موجودی به اسم “هوش مصنوعی”
  • 1391/1/24
  • ميثاق جراحي
  • 0

هوش مصنوعی

پدیده ای در دنیای Gaming

یک بازی رایانه ای شامل بخش های مختلفی می شود و بازی ساز ها برای اینکه بتوانند یک بازی رایانه ای موفق تولید کنند، نیاز به یک تیم قوی در شاخه های مختلفی هم چون : طراحی شخصیت، طراحی محیط، کار با نرم افزار های گرافیکی، تیم برنامه نویسی حرفه ای و از جمله بک الگوریتم مناسب برای طراحی “هوش مصنوعی” که به نظر من از اساسی ترین بخش ها برای ساخت یک اثر رایانه ای است، دارند.

برای اندکی تصور کنید که یک اثر رایانه ای بسیار موفق فاقد هوش مصنوعی باشد. به طور مثال یک بازی دارای یک گرافیک بی نظیر، گیم پلی منحصر به فرد و یک گیم پلی فوق العاده است، اما در این بازی هوش مصنوعی دیده نمی شود و یا به قدری ضعیف است که بازیکن را پس از مدتی از انجام بازی دلسرد می کند. تصور کنید با یک بازی اکشن اول شخص روبرو هستید که دشمنان فقط در جای خود ثابت ایستاده اند و شما با هر درجه از سختی، بازی را بدون کوچکترین زحمتی به پایان برسانید.

دشمنان در جای خود ثابت ایستاده اند و شما فقط هدف را ایستا می بینید و  در ظاهر فقط رو به جلو می روید تا مراحل مختلف یا دیگر قسمت های جدید در این بازی خیالی را مشاهده کنید. اینجاست که هوش مصنوعی به یک نیاز اساسی تبدیل می شود و بس.

در این مقاله سعی دارم، دیده گاه کلی از مبحث هوش مصنوعی را برای شما بیان کنم و نیم نگاهی به این مهم در دنیای بازی های رایانه ای بیندازم. اول از همه می خواهم یک تعریف کلی از “هوش مصنوعی” داشته باشید.

هوش مصنوعی به هوشی که یک ماشین از خود نشان می‌دهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته می‌شود. بیشتر نوشته‌ها و مقاله‌های مربوط به هوش مصنوعی آن را «دانش شناخت و طراحی عامل‌های هوشمند تعریف کرده‌اند. یک عامل هوشمند سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را بالا می‌برد     (ویکی پدیا)

این بود یک تعریف عام از هوش مصنوعی. حال ما می خواهیم این بحث را باز کنیم و آن را به بازی های رایانه ای نسبت دهیم.  بحث هوش مصنوعی در دنیای بازی های رایانه ای برای اولین بار در سال 1941 مطرح شد و در سال 1942 مورد استفاده قرار گرفت. سیستم هوش مصنوعی در یک بازی رایانه ای، به صورت کاملا فیزیکی بود. به این منظور که بازی های آرکید قدیمی که توسط سکه کار می کردند، مجهز به یک برد مخصوصی بودند که می توانست تا حدی حرکت های بازیکن را تخمین بزند و عکس العمل نشان دهد.

در سال 1951 بود که در دانشگاه منچستر  یک سیستمی ایجاد شد و  فردی به نام Dietrich Prinz با یک برنامه یا به عبارتی بهتر یک بازی “شطرنج”، توانست به دستاوردی فوق العاده در زمینه ی هوش مصنوعی بازی های رایانه ای برسد. این الگوریتم  ساده در واقع پایه ی اکثر الگوریتم ها در علم هوش مصنوعی امروز است.

با سپری شدن سال های متوالی و ورود به سال 1970، اولین بازی کامپیوتری بوجود آمد. این بازی شامل یک جنگنده ی فضایی و تعدادی هدف می شد که باید توسط این جنگنده از بین می رفتند. سپس بازی های دیگری در این سبک معرفی شدند که از نمونه های اولیه بهتر و پیشرفته تر بودند. بازی هایی هم چون Star Trek از جمله ی این بازی هاست.

سال 1972، سال طلایی در دنیای بازی های رایانه ای آرکید نام گرفت و شرکت های بازی سازی تازه وارد هم چون Atari و Taito برای ساخت بازی های خود از تجربه های قبل و الگوریتم های هوش مصنوعی ابتدایی استفاده می کردند. بالاخره با آغاز سال 1978 و انتشار بازی محبوب و فوق العاده Space Invaders  بازی های رایانه ای آرکید به اوج محبوبیت خود رسیدند. این بازی شامل مراحل بسیار سختی بود که همه ی آنها از هوش مصنوعی قابل تحسین بازی نشات می گرفت.

شما با هوش مصنوعی یک دستگاه، سیستم و ماشینی خلق می کنید که قدرت “درک” و “فهم” دارد. در بازی های رایانه ای نیز به همین ترتیبی است که گفته شد. در ایجاد یک هوش مصنوعی بی نقص، باید احتمال ها در نظر گرفته شود و  شخصیت مقابل شما در یک بازی رایانه ای باید بتواند بین 50 تا 70 درصد، همانند شما هم فکر کند و هم تصمیم بگیرند.

در کتاب معروفی از ایلین ریچ که در رابطه با هوش مصنوعی نوشته شده است، اطلاعات جالبی دیده می شود. الگوریتم های خاص و زبان های معروفی که با آنها هوش مصنوعی بازی های امروزی معنایی واقعی پیدا می کنند. به برخی از این الگوریتم ها نگاهی می اندازیم :

یکی از فرمول های ساده در خصوص هوش مصنوعی(در دنیای روبوتیک و هم چنین بازی های رایانه ای) عمل و عکس العمل است. در کتاب ریچ، واکنش ها و اکشن ها به دو قسمت تقسیم بندی شده اند.

Single- Action- Problem

مسائلي كه عامل با انجام دادن يك عمل از بين عملهاي ممكن بتواند به هدف برسد.

Multiple- Action- Problem

مسائلي كه در آن ها عامل براي رسيدن به هدف نياز به انجام چند عمل پي در پي داشته باشد كه اين مسائل سخت تر هستند

مثلاً در عامل راننده تاكسي: قبل از شروع حركت، عامل يك درخت از مسيرها مي سازد و سپس مسيري را

كه مسافر را از مقصد به هدف مي رساند انتخاب مي كند. در این بین عامل حرکت با موانع برخورد می کند و باید بتواند حدس بزند که پس از برخورد به مانع از کدام جهت حرکت کند که در مسیرش مانعی دیده نشود. این یکی از ابتدایی ترین و ساده ترین مثال هاست که می توان از آن نتایج زیادی را گرفت. تصور کنید که در یک روز بارانی قرار است این ماشین مسافری را به مقصد برساند(با در نظر گرفتن موانع).

اگر باران شروع شود، عامل ميتواند دانش خود را در مورد چگونگي كيفيت ترمز به هنگام سازد. اين فرآيند به طور خودكار باعث مي گردد كه تمامي رفتارهاي مربوط براي وفق دادن با شرايط جديد تغيير پيدا كنند.

 براي عامل واكنشي، ما مجبور به دوباره نويسي تعداد زيادي قوانين شرط- عمل خواهيم بود

پس ببینید، چند درصد احتمالش وجود دارد که اتفاق های غیز قابل پیش بینی رخ دهد. شما پس از هر بار آزمایش و تحلیل ها، باید خط های جدیدی را به لیست الگوریتم و برنامه ی خود اضافه کنید.

این مثال کمرنگ ترین نقطه در دنیای هوش مصنوعی  که صرفا جهت یک آشنایی مقدماتی با این قضیه بود. هوش  مصنوعی در یک دیدگاه کلی به سه بخش نرم افزای، سخت افزاری و ترکیبی از این دو، تقسیم بندی شده است. در علم روبوتیک می توان یک دیدگاه کلی از این موضوع را بدست آورد، اما هدف اصلی من در این مقاله نشان دادن اهمیت هوش مصنوعی در بازی های رایانه ای و دنیای برنامه نویسی است.

در سبک های مختلف بازی های رایانه ای هوش مصنوعی درجه ی پیچیدگی مختلفی دارد. بازی هایی در سبک استراتژیک، از سخت ترین الگوریتم در هوش مصنوعی استفاده می کنند و بازی های شبیه سازی شده نیز از یک ماژول آماده. از بهترین نمونه های هوش مصنوعی در بین بازی های رایانه ای می توان به بازی Red Alert اشاره کرد. بازی هایی هم چون Call of Duty Modern Warfare 3 و Bioshock نیز دارای یک هوش مصنوعی قابل تحسین هستند.

هیچ وقت فراموش نمی کنم لحظه هایی را که با یک Big Daddy در بازی Bioshock درگیر می  شدم و به جای ادامه ی بازی، نظاره گر عکس العمل های هوشمندانه ی او در بازی بودم.

.

دیدگاه خود را وارد کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *