آموزش و دانلود الگوریتم ژنتیک
آموزش و دانلود الگوریتم ژنتیک
برای آموختن الگوریتم ژنتیک منابع مختلفی در اینترنت به صورت پراکنده وجود دارد که برای آشنایی مقدماتی با این الگوریتم می تواند برای علاقه مندان مناسب باشد ولی برای تسلط به آن نیاز به منابع با فصل بندی کامل و مناسب می باشد.
مراجعی که در ادامه در اختیار شما قرار داده می شود معروفترین کتابهای مرتبط با الگوریتم ژنتیک هستند که به عنوان منبع همه کتاب های فارسی موجود در بازار مورد استفاده قرار گرفته اند و به شما توصیه می شود که به جای استفاده از ترجمه های موجود در بازار مستقیما از این منابع استفاده کنید:
چهار منبع کاربردی در ادامه برای استفاده شما به صورت رایگان قرار داده شده است:
کتاب اول:
Representations for Genetic and Evolutionary Algorithms
by Franz. Rothlauf
This book breaks with this tradition and provides a comprehensive overview on the influence of problem representations on GEA performance.
کتاب دوم:
Practical Genetic Algorithms
Randy L. Haupt, Sue Ellen Haupt
این کتاب به مبانی الگوریتم ژنتیک و کاربرد آنها در انواع مختلف از مناطق مختلف مهندسی و علوم می پردازد .
This book deals with the fundamentals of genetic algorithms and their applications in a variety of different areas of engineering and science
کتاب سوم:
Network Models and Optimization, Multiobjective Genetic Algorithm Approach
by Mitsuo Gen,Runwei Cheng
مدل های شبکه و بهینه سازی : Multiobjective الگوریتم ژنتیک رویکرد ارائه عمیق ، جامع ، و به روز درمان از هدف های متعدد…
Network Models and Optimization: Multiobjective Genetic Algorithm Approach presents an insightful, comprehensive, and up-to-date treatment of multiple objective …
کتاب چهارم:
Introduction to Genetic Algorithms
By S. N. Sivanandam, S. N. Deepa
این کتاب شامل مفاهیم اولیه ، برنامه های مختلفی از الگوریتم های ژنتیک و حل مشکلات ژنتیکی با استفاده از نرم افزار MATLAB و C / C است. از ویژگی های برجسته…
The book contains basic concepts, several applications of Genetic Algorithms and solved Genetic Problems using MATLAB software and C/C .The salient features of …
تکمیلی:
دانلود فیلم آموزشی الگوریتم ژنتیک به زبان فارسی
آموزش های زیادی از الگوریتم ژنتیک موجود است اما پیشنهاد سایت متلبی استفاده از بسته آموزشی زیر است.
فیلم آموزش الگوریتم ژنتیک را از سایت زیر تهیه نمایید:
https://faradars.org/courses/mvrga9011-genetic-algorithm-video-tutorials-pack
آموزش الگوریتم ژنتیک
ابتدا جمعیت اولیه به صورت رندوم ایجاد می شود.
در ادامه جمعیت ایجاد شده برای حل مسئله موردنظر فرآخوانی می شود و نتایج بدست آمده از حل مسئله برای محاسبه برازندگی ارجاع داده می شوند.
اپراتور انتخاب، فردی را انتخاب می کند که بهترین جواب(کمترین مقدار تابع هدف) را داده باشد سپس برای ایجاد جمعیت بعدی از عملگرهای میوتیشن و کراس اور استفاده می شوند.
اگر مقدار تابع هدف به ازاي فرد حاصل بهتر بود (مقدار کمتري داشت)، اين فرد جايگزين فرد قبل خواهد شد.
اگر در طي تعداد تکرار خاصی پس از اعمال اپراتور انتخاب، نتایج برنامه بهينه تغييري نکند الگوريتم متوقف مي شود.
البته میتوان توقف را در نظر نگرفت و برنامه به تعداد مورد نظر تکرار و محاسبه شود.
در آخر نیز جواب های میتواند به صورت عددی یا نموداری نمایش داده شود.
شکل: فلوچارت الگوریتم ژنتیک
الگوریتم ژنتیک در محاسبه برازندگی تابع هدف را می بیند و تنها به دنبال بهینه سازی و کمینه کردن آن در تکرار های متوالی هست.
اصطلاحات الگوريتم ژنتيک
رشته(كروموزوم): آرايه اي از اعداد صحيح است كه مقادير عناصر اين آرايه با توجه به نوع رشته تعيين مي شوند. مثلاٌ در رشته بيتي، اين عناصر فقط مي توانند صفر و يك باشند. اين رشته ها مشخص كننده مجموعه متغيرهاي بهينه سازي مسئله مورد نظر هستند.
ژن: بخشي از رشته كه خصوصيات ويژه اي را معين مي كند.
نسل: به يك دوره از زاد و ولد اعضاء يك جمعيت، يك نسل مي گويند. به عبارت ديگر هر جايگزيني از جمعيت بوسيله جمعيت جديد، يك نسل ناميده مي شود.
برازندگي: در طبيعت به مقدار سازگاري و تطابق يك جاندار با طبيعت گفته مي شود و در بهينه سازي به مقدار ارزيابي تابع هدف يا مقداري متناظر با آن به ازاي يك رشته خاص، گفته مي شود كه نشان دهنده ميزان مطلوبيت آن رشته مي باشد.
انتخاب: برگزيدن يک کروموزوم برای باقی ماندن (در نسل های آينده)
برش: جابجايي عناصر دو کروموزوم (والدين) با هم و ايجاد دو کروموزوم جديد (فرزندان)
جهش: تغيير تصادفي يک يا چند عنصر از يک کروموزوم
موتور الگوريتم ژنتيک يک جمعيت اوليه تصادفی از پاسخها ايجاد مي کند.
گام بعدي ايجاد دومين نسل از جامعه است که به کمک عملگرهای انتخاب، برش و جهش انجام می شود.
دو الگوي متداول برای انتخاب عبارتند از: چرخ رولت و انتخاب مسابقه اي(Tournament).
معمولاٌ از نخبه گرايی(Elitism) هم در انتخاب استفاده می شود به اين صورت که مناسب ترين فرد در هر نسل مستقيماٌ به نسل بعد انتقال مي يابد.
به اين ترتيب انتخابها به گونه اي پيش می رود که مناسب ترين عناصر انتخاب شوند ولی ضعيف ترين عناصر هم شانس انتخاب دارند. (تا از نزديک شدن به جواب محلي جلوگيري شود.)
سایت Matlabi مرجع فروش شبیه سازی مقالات با متلب
اين فرآيند تکرار مي شود تا اين که به آخرين مرحله برسيم. شرايط خاتمه الگوريتم هاي ژنتيک عبارتند از:
- به تعداد ثابتي از نسل ها برسيم.
- زمان محاسبه تمام شود.
- پاسخی پيدا شود که به خواسته ما نزديک باشد.
- با گذشت تعداد خاصی از نسلها نتايج بهتري حاصل نشود.
- ترکيبی از موارد بالا.
اختلاف های اساسي الگوريتم ژنتيک با روشهاي جستجوي کلاسيک
1-الگوريتم ژنتيک در هر تكرار چند نقطه از فضاي جستجو را در نظر مي گيرد.
2-با رشته هاي بيتي كار مي كند كه هركدام از اين رشته ها كل مجموعه متغيرها را نشان مي دهد. حال آنكه بيشتر روشها به طور مستقل با متغيرهاي مسئله برخورد مي كنند.
3- براي راهنمايي جهت جستجو، انتخاب تصادفي انجام مي دهد لذا به اطلاعات مشتق نياز ندارد.
نقاط قوت الگوريتم ژنتيک
مهمترين نقطه قوت اين الگوريتم ها اين است که الگوريتم هاي ژنتيک ذاتاً موازي اند.
اکثر الگوريتم هاي ديگر موازي نيستند؛ و فضاي مسئله مورد نظر را فقط در يک جهت در يک لحظه مي توانند جستجو کنند.
از آنجايي که GA چندين نقطه شروع دارد در يک لحظه مي تواند فضاي مسئله را از چند جهت مختلف جستجو کند.
لذا احتمال اينكه به يك ماكزيمم محلي همگرا شود كاهش مي يابد.
ممکن است براي يک مسئله 2 يا چند راه حل پيدا شود که هر کدام با در نظر گرفتن يک پارامتر خاص به جواب رسيده اند.
در حقيقت قابليت موازي کار کردن اين خاصيت را به آنها مي بخشد.
اين ويژگيهای GA آن را برای استفاده در حل مسائل چند هدفی مناسب می سازد.
الگوريتم ژنتيک از روشهايی كه براي جستجويشان از انتخاب تصادفي استفاده مي كنند، متفاوت مي باشد.
زيرا اگر چه براي تصميم گيري از تصادف و شانس استفاده مي كند ولي در فضاي جستجو فقط به صورت تصادفي قدم نمي زند، بلکه از تصادف به طور مناسب استفاده مي كند تا به سرعت به پاسخهاي بهينه برسد.
دانلود کدهای الگوریتم ژنتیک
جهت دانلود کد های الگوریتم ژنتیک با متلب به صورت رایگان روی دکمه زیر کلیک نمایید.
جالب بود ! سپاس از اطلاعات تان !