چکیده
در این پژوهش، الگوریتمی به نام سیمبایوجنسیس را برای ساخت پایگاه داده تولید رفتار به کار میبریم. این الگوریتم از مجموعه الگوریتمهای تکاملی است که با مجموعهای از اعضا سروکار دارد و هدف بهینه کردن شایستگی اعضای جمعیت است. طی آزمایشهای انجام شده روی این روش، این نتیجه بدست آمده است که سیمبایوجنسیس برای استفاده در مسائلی که توصیف کاملی از صورت مسئله وجود ندارد، کارایی خوبی دارد.
برای آزمایش اینگونه یادگیری، از بازی Pac-Man به عنوان مسئله مورد بررسی استفاده کردیم. سعی داریم در این مسئلهagent ای را آموزش دهیم که بتواند در زمین بازی، بهترین بازی خود را انجام دهد و بیشترین زمان ممکن نیز زنده بماند. برای مقایسه نتایج حاصل از آزمایش، یکی دیگر از معروفترین الگوریتمهای تکاملی، یعنی الگوریتم ژنتیکی را برای این مسئله پیاده سازی کردیم. نتایج حاصل از این پیادهسازی ها را ارایه خواهیم کرد و مقایسهای روی آنها انجام خواهیم داد.
فهرست مطالب
فصل اول – الگوریتم های تکاملی. 10
1-1- مقدمه. 10
1-2-علت استفاده از الگوریتم های تکاملی. 13
1-3-انواع الگوریتم های تکاملی. 13
1-3-1: استراتژی های تکاملی. 14
1-3-2: برنامه ریزی تکاملی. 15
فصل دوم: الگوریتم ژنتیک. 17
2-1: ژنتیک در طبیعت. 17
2-2: الگوریتم ژنتیک استاندارد:. 18
فصل سوم: الگوریتم تکاملی سیمبیوتیک (SEA). 20
3-1: علت معرفی SEA.. 20
3-2: عملگر ترکیب سیمبیوتیک:. 21
3-3: ایده کلی SEA:. 22
فصل چهارم: توصیف فضای مسئله. 26
4-1: agent 28
4-2: تابع محاسبه شایستگی. 34
فصل پنجم: تعریف الگوریتم ها برای مسئله Pac-Man. 36
5-1Pac-Man : با الگوریتم ژنتیکی. 36
5-2Pac-Man : با الگوریتم SEA.. 38
5-3: نتایج حاصل از پیاده سازی. 39
فصل ششم: مستندات کلاسهای پیاده سازی شده. 45
6-1: پیاده سازی الگوریتم ژنتیکی. 45
6-2: پیاده سازی الگوریتم SEA.. 53
فصل هفتم: نتیجه گیری و پیشنهادات. 68
مراجع. 69
پیوست. 71
فهرست اشکال
شکل1-1.طرح کلی الگوریتم تکاملی------------------------------------------------11
شکل1-2: شبه کد استراتژی تکاملی-------------------------------------------------15
شکل1-3: شبه کد برنامه ریزی تکاملی-----------------------------------------------16
شکل2-1: شبه کد الگوریتم ژنتیکی-------------------------------------------------19
شکل3-1: نمونه ای از ترکیب Symbiotic------------------------------------------21
شکل3-2: نمونه ای از الگوریتم جستجو symbiotic-----------------------------------23
شکل3-3: شبه کد الگوریتمSEA--------------------------------------------------24
شکل4-1: نقطه آغاز یک بازی Pac-Man-------------------------------------------26
شکل4-2:نقشه زمین بازی Pac-Man به همراه تمام حالات گردش-----------------------28
شکل4-3:شبه کد استراتژیagent برای بازی Pac-Man------------------------------31
شکل 5-1: مقایسه کارایی در الگوریتم GA وSEA برای بازی pac-man. اندازه جمعیت درGA برابر 150 می باشد--------------------------------------------------------------40
شکل 5-2: مقایسه کارایی در الگوریتم GA وSEA برای بازی pac-man.اندازه جمعیت درGA برابر 200 می باشد--------------------------------------------------------------41
شکل 5-3: مقایسه هزینه در دو الگوریتم GA وSEA برای نمودار 5-1.-------------------41
شکل 5-4: مقایسه هزینه در دو الگوریتم GA وSEA برای نمودار 5-2.-------------------42
فهرست جدولها
جدول4-1: تعیین وضعیت روح با توجه به موقعیت Pac-Man و روح نسبت به هم. ----------30
جدول4-2: شرح پارامترهای استفاده شده برای تعیین حرکت agent----------------------32
جدول5-1: پارامترهای مطرح شده در SEA------------------------------------------38
جدول5-2: بهترین مقادیر برای هر پارامتر SEA--------------------------------------39