0

بازي‌ها هوشمندتر مي‌شوند

 
samsam
samsam
کاربر طلایی1
تاریخ عضویت : بهمن 1387 
تعداد پست ها : 50672
محل سکونت : یزد

بازي‌ها هوشمندتر مي‌شوند

 

 
در بسياري از بازي‌هاي رايانه اي، نزديك‌تر بودن به واقعيت هم براي سازندگان و هم براي دوستداران بازي جايگاه ويژه‌اي دارد.
 

مسائل زيادي در بازي‌ها وجود دارد كه مربوط به شخصيت‌ها يا عواملي از بازي هستند كه به وسيله رايانه هدايت مي‌شوند؛ مانند رقيب‌ها در يك مسابقه اتومبيلراني. 3 مسأله اصلي وجود دارد كه بيشتر بازي‌ها با آن مواجه هستند و عبارتند از: حركات، تصميم‌گيري و يادگيري اين عامل‌ها. اين سه اصل قابل توجه، وظايفي را موجب مي‌شود كه انجام آنها به عهده هوش مصنوعي است. هدف هوش مصنوعي نزديك كردن رفتار و پاسخ يك سيستم رايانه‌اي به الگوهايي است كه انسان براساس آنها رفتار مي‌كند و پاسخ مي‌دهد.

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

در بازي‌هاي رايانه‌اي دو نوع هوش بيشتر از همه استفاده مي‌شوند كه به صورت خلا‌صه عبارتند از:

‌‌هوش مصنوعي رويدادگرا: اين هوش معمول‌ترين نوع هوش مصنوعي است. رويداد مي‌تواند شامل هر چيزي اعم از اتفاقات بازي تا دستورهايي باشد كه كاربر به شخصيت مجازي خود مي‌دهد. براساس هر رويدادي كه در بازي انجام مي‌شود، يك واكنش هوشمندانه نيز روي مي‌دهد.

هوش مصنوعي هدف‌گرا: اين نوع هوش مصنوعي از هوش مصنوعي رويدادگرا مستقل است. ولي هوش مصنوعي رويدادگرا مي‌تواند در طراحي يك بازي، هدف‌هاي موتور هوش مصنوعي هدف‌گرا را تامين كند. اين نوع هوش مصنوعي، هدف با ارزش بيشتر را برمي‌گزيند و آن را با تقسيم به زيرهدف‌هاي كوچك‌تر، پردازش مي‌كند.

به عنوان مثال بازي Tic- Toc-Toe) X-O) را در نظر بگيريد. حالات ممكن صفحه در حين اجراي بازي محدود و قابل پيش‌بيني هستند و تعداد آنها براي محاسبه 19683 حالت است، براي هر يك از 9 خانه جدول مي‌توان سه حالت خالي، X و O را در نظر گرفت، پس تعداد كل حالات39 خواهد بود. تعداد حالاتي كه X يا O مي‌توانند در يكي از خانه‌هاي گراف در هر مرحله بنشينند، در عمق نهايي گراف بازي برابر با 9! است. مي‌توان برنامه‌اي نوشت كه تمام اين حالات را در نظر مي‌گيرد و در ازاي هر حالت خاص، رفتاري هوشمندانه را انجام مي‌دهد.

شايد عدد 39به نظر بزرگ بيايد. اما حقيقت اين است كه با در نظر گرفتن قوانين بازي و هرس شاخه‌هاي غير ضروري (Alpha Beta pruning) مي‌توان اين حالات را خلاصه‌تر كرد.نكته مهم در اين برنامه، محدود بودن حالات ممكن است. براي همين مي‌توان برنامه‌ اين بازي را به گونه‌اي نوشت كه هيچ‌گاه بازنده نباشد.

يكي از روش‌هايي كه هوش مصنوعي براي پياده‌سازي تصميم گيري استفاده مي‌كند، شبكه‌هاي باور هستند. شبكه‌هاي باور به عامل اين امكان را مي‌دهند تا مانند انسان از استدلال‌هاي پيچيده بهره گيرد كه مبناي اين روش احتمالات است.

اين روش در مقابل عمل‌هاي يكسان عكس‌العمل‌هاي يكسان نشان خواهد داد ؛ ولي وقتي قابليت يادگيري به عامل اضافه شود، نتيجه اعمال قبلي خود را به خاطر مي‌سپارد و اگر عمل قبلي او بي‌نتيجه باشد، به دنبال راه‌حل ديگري مي‌رود. در هوش مصنوعي اين كار با الگوريتم ژنتيك انجام مي‌شود.

از ديگر روش‌هاي آگاهانه براي پيدا كردن جواب و مسير بهينه روش Minimax است. روش Minimax در مواقعي كه يك تابع هيورستيك خوب (يك هيورستيك برخلا‌ف الگوريتم، ممكن است به يك پاسخ قطعي نرسد) در دست باشد، مي‌تواند يك حركت خوب را انجام دهد. از آنجا كه minimax روش كندي است، مي‌توان از Partial Minimax استفاده كرد كه در الگوريتم‌هاي تصميم‌گيري به كار مي‌رود؛ هر چند اين روش هنوز چندان پذيرفته نشده است.

تنها زماني از Partial Minimax استفاده مي‌كنيم كه يك گزينه بديهي در دست داشته باشيم. (زماني كه متغير minimax با ارزش بيشتر كاملا‌ بهتر از متغير ديگر باشد). حال آن‌كه در يك بازي بلا‌درنگ براي يكbot معمولا‌ً گزينه بديهي وجود ندارد تا آن را برگزينيد. هر گزينه به يك استراتژي متفاوت وابسته است كه bot مي‌تواند آن را انتخاب كند.

براي دستيابي به بيشترين سرعت، بيشتر از الگوريتم *A استفاده مي‌شود. اين الگوريتم سرعت بالا‌يي دارد. پيچيدگي زماني اين الگوريتم (O(log h(n) است كه (h(n پيچيدگي تابع هيورستيك *A است. موضوع پيداكردن راه بين 2 نقطه A و B در بيشتر بازي‌هاي رايانه‌اي، غير از بازي‌هاي ورزشي و تعداد انگشت‌شماري از بازي‌ها، مشكلي كليدي‌ محسوب مي‌شود. اين الگوريتم امروزه به‌طور چشمگيري پيشرفت كرده‌است، به طوري كه در بازي‌هاي رايانه‌اي كنوني، الگوريتم *A جايگاه ويژه‌اي دارد.

يك الگوريتم جستجـــــوي اول عـــــــمق Depth first search است كه هيورستيك آن را كنترل مي‌كند و مي‌تواند مناسب‌ترين شاخه بعدي گراف را حدس بزند و در هر عمق، تنها شاخه‌اي كه ارزش هيورستيك بهتري دارد، گسترش مي‌يابد.

تنها مشكل اين الگوريتم كامل نبودن به علت نفوذ به عمق بي‌نهايت و بهينه نبودن آن است كه در الگوريتم Depth limited search اين مشكل با معرفي يك حد نهايي براي بازي و تركيب با الگوريتم جستجوي اول سطح و ايجاد الگوريتم Iterative Deeping search حل مي‌شود.

در حقيقت دستورهايي كه رايانه در قالب الگوريتم‌هاي هوش انجام مي‌دهد، چنين معنايي خواهند كرد:

ـ هوشمندانه رفتار كن

ـ استنتاج كن

ـ ياد بگير

ـ خلاقيت داشته‌باش

ـ يك اشتباه را دوبار تكرار نكن

ـ از تجربه‌هايت درس بگير

به‌طور كلي، روند كار، همانندسازي برنامه با مغز انسان است؛ هر چند اين كار به‌ طور كامل ممكن نيست اما نتايج خوبي مثل شبكه‌هاي عصبي از محصولات همين فعاليت‌هاي نه چندان كامل و دقيق است.

محمدحسين اژدست

 
جمعه 27 مرداد 1391  1:14 PM
تشکرات از این پست
دسترسی سریع به انجمن ها