دانلود فایل پایان نامه با فرمت word : نگاهی به پایان نامه های انجام شده درباره طراحی … – منابع مورد نیاز برای مقاله و پایان نامه : دانلود پژوهش های پیشین |
<کارایی،تاکتیک،شرح،حالتبنا>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
فرم در حال بارگذاری ...
[سه شنبه 1401-04-14] [ 02:58:00 ق.ظ ]
|