پاورپوینت الگوریتم ژنتیکی (pptx) 12 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 12 اسلاید
قسمتی از متن PowerPoint (.pptx) :
الگوریتم ژنتیکی
تعریف
الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
موفقیت آنها را با تابع fitness اندازه می گیرد.
تابع fitness میزان نزدیکی به هدف را محاسبه می کند.
در هر تکرار الگوریتم، (مانند سیستم های بیولوژیکی) راه حلهای انتخابی، برای تولید فرزند (که generation نامیده می شوند) ترکیب می شوند.
والدین نسل بعدی، با توجه به fitness والدین و فرزندان نسل قبل، از بین آنها انتخاب می شوند.
خود فرزندان نیز می توانند به عنوان راه حل انتخاب شوند.
عملگرهای ژنتیکی، برای تولید فرزندان
Reproduction: از طریق این عملگر، الگوریتمهای ژنتیکی، نسل جدیدی از راه حلهای بهبودیافته را با انتخاب والدینی که بالاترین fitness را دارند تولید می کنند.
Crossover: با توجه به اینکه الگوریتمهای ژنتیکی از رشته هایی از نمادهای باینری برای کروموزومها استفاده می کنند، crossover به معنی انتخاب موقعیتی تصادفی در رشته و تعویض بخشهای چپ و راست این نقاط با رشته دیگر برای تولید دو فرزند جدید می باشد.
Mutation: تغییر دلخواه در موقعیت است. رویه تغییر یک به صفر و یا صفر به یک می باشد و با احتمال خیلی کم (1000/1) رخ می دهد.
نحوه کار الگوریتم ژنتیک
بازنمایی شرح مساله به نحوی که بتواند از طریق الگوریتم ژنتیکی حل شود: بازنمایی راه حل، بصورت رشته ای از صفر و یک ها.
تولید مجموعه اولیه جوابها و محاسبه fitness آنها.
محاسبه مجموع تابع fitness
محاسبه احتمال اینکه هر راه حل برای تولید فرزندان انتخاب شود: تقسیم تابع fitness آن به مجموع
انتخاب والدین
تولید فرزندان از طریق crossover یا (با احتمال کم) mutation
نسل جدید شامل مجموعه ای از بهترین فرزندان و والدین می باشد.
فرایند آنقدر ادامه می یابد تا اینکه راه حل بهینه حاصل شود و یا اینکه در چندین نسل بهبود نداشته باشیم.
پارامترهایی که باید تنظیم شوند
این پارامترها بستگی به مساله داشته و غالبا از طریق سعی و خطا بدست می آیند:
تعداد جوابهای اولیه که تولید می شوند.
تعداد فرزندان
تعداد فرزندان و والدینی که برای تولید نسل بعد استفاده می شوند.
احتمال mutation
توزیع احتمال رخداد نقطه crossover
بررسی یک مثال: بازی برداری
شرح مساله
این بازی در برابر حریفی انجام می شود که بطور secret رشته ای 6 رقمی می نویسد. (شامل کروموزومها)
هر رقم، صفر یا یک است. (به عنوان مثال: 001010)
باید این عدد را حدس بزنید.
عددی را که حدس زده اید به حریف ارائه می کنید.
او می گوید که چند رقم از آن صحیح است. (تابع fitness)
با تفسیر آن حدس بعدی ارائه می شود.
سعی و خطای تصادفی
وقتیکه 6 رقم داریم، 64 حدس مختلف میتوانیم داشته باشیم.
با انتخاب عدد بطور تصادفی، بطور میانگین بعد از 32 حدس به جواب صحیح می رسیم.
با استفاده از فیدبک و تفسیر آن (الگوریتم ژنتیکی) این کار تسریع می شود.
راه حل
قدم اول: 4 رشته تصادفی به حریف ارائه کنید:
110100، score=1
111101، score=1
011011، score=4
101100، score=3
قدم دوم: A و B را به علت امتیاز پایینشان حذف کنید و c و D را به عنوان والدین انتخاب کنید.
قدم سوم: والدین را پس از شکستن هر یک بین ارقام دوم و سوم، ترکیب کنید.
01:1011
10:1100
011100، score=3
101011، score=4