<کارایی،تاکتیک،شرح،حالت­بنا>C =
شرح، مجموعه­ایی از ویژگی­های موقعیت جاری (مانند تعداد بناها و واحدهای جنگی بازیکن، تعداد نیروهای کاری و نظامی بازیکن و همچنین تعداد بناها و واحدهای جنگی که حریف تا بحال ساخته و تعداد نیروهای کاری و نظامی وی و … )، تاکتیک، دنباله­ایی از اقدامات برای حالت­بنا و کارایی، مقداری در بازه­ی ]۱,۰ [است که سودمندی انتخاب این تاکتیک برای آن حالت­بنا را منعکس می­نماید. مقادیر با ارزش بیشتر نشان­دهنده کارایی بیشتر می­باشد.

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

همچنین در این سیستم، به منظور محاسبه­ی تشابه میان یک مورد ذخیره شده­­­­­ی C و شرح بازی جاری S از تابع زیر استفاده شده است:
(۴-۱)
در رابطه­ فوق،dist() فاصله­ی اقلیدسی نرمال­شده بدون وزن، میان هشت ویژگی می­باشد.
CAT از یک تابع k-نزدیکترین همسایه به منظور انتخاب تاکتیک­های مورد برای بازیابی استفاده می­نماید، بدین مفهوم که از میان شبیه­ترین k مورد، مورد با بیشترین کارایی را بازیابی می­نماید.
کارایی تاکتیک یک مورد، با بهره گرفتن از امتیاز بازی بازیکن و حریف در ابتدای هر حالت­بنا و در پایان بازی­ایی که این تاکتیک در آن بکار برده شده، بدست می ­آید. درجریان یک بازی، CAT یک شرح را هنگامی که آن شرح، هر حالت­بنا را به همراه امتیاز و تاکتیک انتخاب شده وارد می­ کند، ثبت می­نماید. علاوه برآن، امتیازات هر طرف را نیز به همراه برنده در پایان بازی ثبت می­ کند. برای هر حالت­بنای پیموده شده، CAT بررسی می­ کند که آیا یک مورد با زوج <شرح،تاکتیک> یکسان وجود دارد یا خیر. اگر وجود داشته باشد، کارایی آن مورد را بروز می­ کند و در غیر این صورت، یک مورد جدید را برای آن حالت­بنا، شرح، تاکتیک و کارایی تولید می­نماید.
شیوه­ مبتنی بر مورد فوق به منظور ساخت سیستمی برای یادگیری و پیش ­بینی استراتژی­ های بازیکنان طی تحقیقاتی در سال ۲۰۰۸ نیز بکار برده شده است [۳۴]. در این سیستم، که هدف بلندمدت آن، طراحی یک حریف قابل کنترل با کامپیوتر بود، که بتواند استراتژی­ها و شیوه ­ها­ی بازیکنان را بیاموزد و آنها را در یک بازی در مقابله با بازیکنان انسانی بکار برد، بازی­های ضبط شده بازیکنان انسانی به منطور تحلیل استراتژی­ های آنها مورد استفاده قرار گرفته است.
برخی از شرکت­های بازی، این امکان را برای بازیکنان خود فراهم می­سازند که بتوانند داده ­های حین بازی را جمع­آوری نمایند. به عنوان مثال بازی­های StarCraft و WarCraft می­توانند جهت بازبینی و تحلیل بازیکنان ذخیره شوند. سیستم مطرح شده در مرجع [۳۴] نیز از بازی­های ضبط شده یک بازیکن در بازی StarCraft که یک بازی علمی تخیلی RTS است، استفاده نموده است. در بررسی صورت گرفته در این مرجع، دسته­ایی از این بازی­های ضبط شده برای آموزش و دسته­ایی دیگر، به منظور تست سیستم بکار برده شده ­اند. در مدل پیشنهادی حاصل از این پژوهش، وضعیت بناها به عنوان حالت بازی و اقدام ساخت یک بنا، به عنوان استراتژی بین دو حالت در نظر گرفته شده است (در اینجا تاکتیک­ها و استراتژی­ها، گزینه­ ها و انتخاب­های بازیکنان در ساخت بناها می­باشد). همچنین در این مدل از شش ویژگی شامل “بنا­ها”، “واحدها” و “پژوهش در تکنولوژی” برای دو بازیکن جهت ارزیابی یک حالت بازی استفاده شده است. بدین صورت استراتژی­ های هر یک از دو بازیکن می ­تواند به صورت زیر بیان گردد:
(۴-۲)
بین دو حالت یک ویژگی، یک فاصله­ی اقلیدسی می ­تواند محاسبه گردد و در نتیجه شش فاصله بین دو حالت بدست می ­آید. با بهره گرفتن از یک مکانیزم رتبه ­بندی میان ویژگی­ها، فاصله­ی میان دوحالت، محاسبه و به عنوان معیار تشابه دو مورد بکار برده می­ شود.
کارایی یک استراتژی از طریق پیگیری نتایج تعداد زیادی از بازی­های ضبط شده حاصل می­گردد، بدین صورت که مقدار کارایی یک استراتژی، اگر منجر به یک پیروزی شود، یک واحد افزایش می­یابد و اگر منجر به یک شکست گردد، یک واحد کاهش می­یابد. بنابراین، هر بازی ضبط شده جدیدی که وارد سیستم می­ شود، توانایی بالقوه­ایی جهت تغییر نتایج کارایی استراتژی­ های بکاربرده شده در فضای تصمیم را دارا می­باشد.
در این سیستم الگوریتم روند بررسی و پیش ­بینی، از شش مرحله تشکیل یافته است:
وارد نمودن یک بازی ضبط شده از گروه بررسی و تجزیه­ی آن به حالت­ها و استراتژی­ها.
استفاده از یک حالت وارد شده، جهت بررسی و پرس و جوی سیستم تصمیم ­گیری آموزش داده شده.
یافتن حالات معادل با حالت وارد شده از میان حالات موجود در فضای تصمیم و سپس دریافتن استراتژی­ های متناظر برای هر حالت، به منظور انتقال به حالت بعد. اگر حالت وارد شده، در میان مجموعه­ حالات یافته نشود، آن حالت و استراتژی نظیرش، به مجموعه­ حالات اضافه می­گردد.
محاسبه­ی امتیاز هر استراتژی و انتخاب بهترین استراتژی.
تعیین اینکه بهترین انتخاب برابر با استراتژی متناظر با بازی ضبط شده مورد بررسی می­باشد یا خیر و سپس بازگشت به مرحله­ ۲ و تکرار این روند تا انتهای بازی ضبط شده.
محاسبه­ی درصد استراتژی­هایی که توسط سیستم تصمیم آموزش داده شده، به درستی پیش ­بینی شده ­اند.
فصل پنجم
سیستم پیشنهادی
سیستم پیشنهادی
مقدمه
برنامه­نویسان هوش مصنوعی تکنیک­های متعددی را جهت سعی در شبیه­سازی رفتارهایی در سطح انسان در اختیار دارند. در میان این تکنیک­ها، شیوه ­های مبتنی بر قانون به صورت گسترده­ایی پذیرفته و به گونه­ موفقیت آمیزی توسط تولیدکنندگان بازی بکار برده شده است. در حال حاضر هوش مصنوعی مبتنی بر قوانین، به دلایل زیر، تکنولوژی مورد انتخاب برای ایجاد و توسعه هوش مصنوعی به شمار می ­آید:
اصول این شیوه از الگوهای آشنای برنامه­نویسی گرفته شده است.
طراحی­های مبتنی بر قانون به طورکلی قابل پیش ­بینی هستند و از اینرو تست و اشکال­زدایی آنها بسادگی صورت می­گیرد.
به منظور پیاده­سازی ساده­ی قوانین و واکنش­ها، دسته­ی وسیعی از ایجادکنندگان از نوعی از زبان اسکریپتی سطح بالا استفاده می­ کنند [۵۲]. یک زبان اسکریپتی هر زبان برنامه­نویسی است که به منظور ساده­سازی یک وظیفه­ی پیچیده برای یک برنامه­ی مشخص تولید شده است [۵۳]. اسکریپت­ها به منظور کنترل موتور بازی از بیرون بکار برده می­شوند و دارای چهار مزیت اصلی قابل فهم بودن، سهولت در پیاده­سازی، سادگی در توسعه­پذیری و قابل استفاده برای غیر برنامه­نویسان می­باشند [۵۰]. برخی از بازی­ها از زبان­های اسکریپتی خاصی مانند NWscript Bioware و یا LUA و یا UneralScript برای مدیریت هوش مصنوعی استفاده می­ کنند [۳۶].
سیستم پیشنهادی در این بررسی­، یک سیستم تصمیم­همیار هوشمند مبتنی بر قانون است که در مرحله­ رفع ناسازگاری در طی روند استنتاج خود، با در نظر گرفتن یک سیر استنتاج جداگانه برای هر یک از قوانین ناسازگار، تمامی حالات ممکن برای اولویت­ بندی در اجرای قوانین را تحت پوشش قرار داده و این امکان را برای تصمیم گیرنده فراهم می­سازد که به همه انتخاب­های ممکن خود، آگاه گردد، و تصمیم­گیرنده را در اخذ بهترین تصمیم با توجه به شرایط موجود یاری می­رساند. این سیستم در واقع نقش یک همیار هوشمند را برای تصمیم­گیرنده ایفا می­نماید و هدف از طراحی آن، برخلاف یک سیستم خبره، جایگزینی فرد تصمیم­گیرنده نمی ­باشد.
در این فصل، در ارتباط با مولفه­های اصلی این سیستم و نیز شیوه­­ایی که در این سیستم به منظور رفع ناسازگاری بکار برده شده توضیحاتی ارائه می­گردد.
معرفی سیستم پیشنهادی
در این پژوهش به منظور بررسی و ارزیابی ایده­ رفع ناسازگاری مطرح شده در بخش قبل در یک برنامه­ی کاربردی، یک سیستم تصمیم­همیار هوشمند مبتنی بر قانون طراحی و پیاده­سازی شده است. هدف این سیستم، یاری رساندن به یک بازیکن در بازی استراتژیک بلادرنگ (AOE III) Age of Empires III می­باشد. بازی AOE III توسط Microsoft Corporation’s تولید شده و ، نسخه­ قابل اجرا بر روی سیستم عامل ویندوز آن را در ماه­های پایانی سال ۲۰۰۵ منتشر کرده است. Age of Empires III ، در سال ۲۰۰۵ در مکان هشتم از لیست پرفروش­ترین بازی­های کامپیوتری قرار گرفت و بیش از دو میلیون کپی از آن تا ماه مه سال ۲۰۰۸ فروخته شده بود و در سال ۲۰۰۷ با فروش بیش از سیصد و سیزده هزار کپی در آن سال، مکان هفتم از لیست پرفروش­ترین بازی­های کامپیوتری را بخود اختصاص داد [۴۶].
در طول این بازی که در پنج عصر پیش می­رود، بازیکن در هر لحظه انتخاب­های بسیاری برای انجام فعالیت­های ممکن دارد، به عنوان مثال شناسایی سرزمین­های ناشناخته، شناسایی مکان قرارگیری دشمن، بررسی منابع مورد نیاز برای ساخت بناهایی که هر یک متعلق به دوره­ایی خاص می­باشند و جمع­آوری آن منابع یا تعویض هر یک از منابع با منبع مورد نیاز در آن لحظه، بهبود بنا­های موجود، تولید افراد و سلاح­های جنگی، دفاع از قلمرو در هنگام حمله­ی دشمن، کنترل راه ­ها و …. . در این نوع بازی­ها، بازیکنان علاوه بر کنترل واحدهای خود، با سایر بازیکنان به جنگ می­پردازند.
بطورکلی در بازی­های RTS، بازیکنان و حریفان آنها می­توانند از هر اقدام ممکنی در جهت تشکیل استراتژی خود که یک نقشه برای پیشبرد بازی است، استفاده نمایند. این اقدامات نوعاً شامل انتخاب یک بنا به منظور ساخت، تحقیق در مورد یک تکنولوژی خاص، تعیین یک مقصد برای یک گروه منتخب و انتساب یک وظیفه به یک گروه (مانند وظیفه­ی ساختن یک بنا) می­باشند. بازیکنان در هر لحظه محدود به اجرای یک اقدام جدید واحد هستند، در حالی که اجرای اقدامات موجود به صورت همزمان ادامه می­یابد.
بردن (تخریب تمامی واحدها و بناهای دشمن) نیازمند مدیریت سه منبع کلیدی است: بناها، نیروی کار و نیروی نظامی. صرف زمان بسیار کم برای نیروی نظامی می ­تواند منجر به یک شکست سنگین از جانب یک همسایه­ی قدرتمند گردد، در حالی که صرف زمان بسیار زیاد نیز منجر به تأخیر در انجام بررسی­ها و سایر امور خواهد شد. این امر از ساخت واحدهای نظامی به همان قدرتمندی واحدهای نظامی همسایه­ها جلوگیری می­نماید. ازاینرو باید میان سه منبع مذکور یک تعادل برقرار شود.
مولفه­های اصلی سیستم پیشنهادی
ساختار کلی سیستم پیشنهادی، در شکل ۵-۱ نشان داده شده است.
شکل ۵-۱٫ ساختار کلی سیستم پیشنهادی
هر قانون از مجموعه­ قوانین موجود در پایگاه قانون، شامل گروهی از شرایط و اقدامات مربوطه به هنگام ارضاء این شرایط می­باشد. در این سیستم، (که با بهره گرفتن از زبان برنامه­نویسی C#پیاده­سازی شده) ساختار کلی هر قانون توسط کلاس انتزاعی BasicRule معرفی و هر مجموعه­ مرتبطی از قوانین، در یک کلاس که از این کلاس انتزاعی ارث می­برد، تعریف شده است. کلاس BasicRule دارای دو متد مجازی Match و Execute می­باشد. در متد Match در هر کلاس وارث، شرایطی که جهت ارضای قوانین تعریف شده توسط آن کلاس، مورد نیاز است، بررسی و در صورت تطبیق، مقدار بازگشتی این متد، درست و در غیر این صورت، نادرست خواهد بود. در رویه­ی Execute اقدامات مربوطه پس از برقراری شرایط بررسی شده در تابعMatch و بازگشت مقدار درست توسط این متد، صورت خواهد گرفت. در میان مجموعه­ قوانین موجود در پایگاه قانون در این سیستم، سه دسته­ی کلی از قوانین موجود می­باشد: قوانین مربوط به ساخت هر بنا، قوانین مربوط به بهبود هر بنا و قوانین مربوط به آموزش نیروهای مرتبط با هر بنا. بطور کلی در بازی AOE III، پانزده نوع بنای مختلف موجود است که هر یک متعلق به دوره­ایی خاص می­باشند، بدین معنا که تا پیش از رسیدن آن عصر خاص، اجازه­ی ساخت آن بنا به بازیکن داده نمی­ شود. هشت نوع بنا از عصر اول، چهار نوع بنا از عصر دوم، دو نوع بنا از عصر سوم و یک بنا از عصر پنجم اجازه ساخته شدن دارد. هر یک از این بناها به منابع مختلفی جهت ساخت، بهبود و آموزش نیروهای مرتبط نیاز دارند و برخی از آنها دارای محدودیت در تعداد ساخت می­باشند. تعداد موارد بهبود و نیز نوع نیروهای مرتبط به هر بنا با دیگری متفاوت بوده و هر یک در عصر خاصی امکان­ پذیر می­باشد. به عنوان مثال بنای لنگرگاه[۷۴] که ساخت آن از همان عصر اول ممکن است، دارای ۶ نوع مختلف نیرو است که آموزش یک نوع از آنها از عصر اول، سه نوع دیگر از عصر دوم و دو نوع دیگر، یکی از عصر سوم و دیگری از عصر چهارم میسر می­باشد.
همچنین در پایگاه قانون این سیستم، قوانینی در ارتباط با کاراکتر جستجوگر[۷۵] که وظیفه­ی شناسایی مناطق مختلف در نقشه­ی بازی، ساخت کانون­های بعدی و … را برعهده دارد، نیز موجود می­باشد. علاوه براین، در این پایگاه، قوانینی وجود دارند که به هنگام دریافت اطلاعات خاصی از محیط بازی (مانند پی­بردن به حمله­ی دشمن و یا اتمام ساخت یا بهبود یک بنا و یا اتمام آموزش نیروهای درخواستی) ارضاء شده و برقرای آنها منجر به انجام مجموعه­ایی از اقدامات می­گردد.
در شکل ۵-۲ قسمتی از مدل کلاس سیستم که مربوط به مجموعه­ قوانین است، نشان داده شده است.
شکل ۵-۲٫ بخشی از مدل کلاس سیستم پیشنهادی
در هر کلاس، مجموعه­ قوانین مربوط به بنایی است که در نام آن کلاس ذکر شده است. این کلاس­ها (که بخشی از کلاس­های سیستم را تشکیل می­ دهند)، در بردارنده­ی مجموعه­ قوانین مرتبط با بهبود بناها و آموزش نیروهای متناظر با هر یک از آنها می­باشند. در هر کلاس، بدنه­ی متدهای مجازی Match و Execute، تعریف شده است[۷۶]. در متد Match، حقایق، در قالب شیء­ایی از کلاس Player به صورت یک آرگومان ورودی به متد ارسال می­گردد. این شیء، اطلاعات وضیعت بازی و بازیکن مانند عصری که بازیکن در آن قرار دارد، مقادیر منابع مختلف وی و … را دربردارد.
پس از درج حقایق در حافظه­ کاری و تطبیق آنها با قوانین موجود در پایگاه قانون، در صورت ارضاء قوانین ناسازگار با یکدیگر، از روش ارائه شده در بخش ۵-۴ جهت رفع این ناسازگاری استفاده شده و نتایج حاصله در یک حافظه­ موقتی ذخیره می­گردد. این نتایج، که هر یک نشان­دهنده یک راه­حل می­باشند، از طریق یک فاصل، به تصمیم­گیرنده ارائه می­ شود. پس از اینکه تصمیم­گیرنده، راه­حل مورد نظر خود را از میان تمامی گزینه­ های ممکن انتخاب نمود، نتایج ناشی از این انتخاب از حافظه­ موقتی به حافظه­ کاری منتقل شده و روند استنتاج ادامه می­یابد.
به منظور تولید تمامی ترکیبات ممکن برای اجرای قوانین ناسازگار در این روش استنتاج، در سیستم ارائه شده، یک کلاس بنام CombinationGenerator تعریف شده که به هنگام رویدادن ناسازگاری، فراخوانی متد computeCombination از این کلاس، تمامی حالات ممکن را ارائه خواهد داد.
با روی­دادن هر ناسازگاری، رویه­ی رفع ناسازگاری، با پاک­شدن حافظه­ موقتی و تولید تمامی حالات ممکن برای اجرای قوانین ناسازگار جدید، از سر گرفته می­ شود.
روش رفع ناسازگاری بکار برده شده در سیستم پیشنهادی
برای شرح ایده­ رفع تناقضی که در این سیستم بکار برده شده، فرض کنید در این سیستم، مجموعه­ قوانینی به صورت زیر وجود داشته باشد:
Rule 1: A B
Rule 2: A C
Rule 3: A D
Rule 4: B E
Rule 5: C F

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...