دانلود تحقیق-پروژه و پایان نامه | قسمت 6 – پایان نامه های کارشناسی ارشد |
روشهای مختلفی برای انتخاب وجود دارد که از آن جمله میتوان به موارد زیر اشاره کرد:
- انتخاب مرتبهای
در این روش، کروموزومها بر اساس مقدار برازندگی آن ها رتبه بندی شده و به ترتیب بدترین به بهترین رتبه مرتب میگردند. احتمال انتخاب هر کروموزوم بر اساس درصد نسبی رتبه خود میباشد.
- انتخاب تصادفی
در این روش والدین بر اساس یک روش کاملاً تصادفی از جمعیت انتخاب میشوند. این روش با توجه به عدم اهمیت به شانس بیشتر بهترینها برای تولید مثل، از کیفیت پایینی نیز برخوردار است.
- انتخاب رقابتی
در این روش یک زیر مجموعه کوچکی از کروموزومها به صورت تصادفی انتخاب شده و به رقابت میپردازند. سرانجام در این رقابت، بر اساس میزان برازندگی، یکی از آنها به پیروزی رسیده و انتخاب می شود. ایراد این روش این است که در آن هیچگاه کروموزوم دارای کمترین شانس برنده نخواهد شد.
- انتخاب بولتزمن
این روش بیشتر در الگوریتم انجماد تدریجی مورد استفاده قرار میگیرد. در این حالت دما از یک مقدار بالا در ابتدای الگوریتم شروع می کند و معنای آن این است که فشار انتخاب پایین است. دما به مرور کاهش مییابد و به دنبال آن، فشار انتخاب به مرور افزایش مییابد. بنابرین در این حالت، در ابتدای الگوریتم گوناگونی افزایش یافته و در انتها جستجوی محلی قوت مییابد.
- انتخاب چرخ رولت
روشی که غالباً در انتخاب والدین مورد استفاده میگیرد، همان طور که در شکل ۲-۱ می بینید، سطح چرخ رولت به بخش هایی تقسیم می شود که تعداد آنها برابر تعداد اعضای جمعیت و سطح هر بخش متناسب با مقدار برازندگی هر کروموزوم میباشد. سپس چرخ رولت به گردش در می آید تا در نقطهای به تصادف متوقف شود. این نقطه، کروموزوم انتخاب شده را مشخص میسازد. کروموزومهایی انتخاب میشوند که سطح بیش تر(شایستگی بالاتری) را دارا میباشند. این شیوه انتخاب سبب می شود که با گذشت زمان، تعداد کروموزومهای مطلوب در جمعیت افزایش یابد به طوری که میانگین مقدار برازندگی جمعیت در مقایسه با جمعیت مرحله قبل بیشتر شود.
شکل ۲-۱- نمایش انتخاب چرخ رولت در الگوریتم ژنتیک (فتاحی، ۱۳۹۱)
تولید مثل: در قدم دوم، عملگرهای ترکیب مجدد و جهش روی افراد انتخاب شده به کار گرفته شده و کروموزومهای جدید تولید میگردد. در این مرحله، فرزندان جدید تولید میشوند. در این مرحله عملگر ترکیب مجدد (تقاطع)، فرآیندی است که در ۳ مرحله صورت میگیرد:
الف) اپراتور تولید مثل یک زوج والد را از حوضچه تولید مثل انتخاب می نماید.
ب) یک نقطه تقاطع به طور تصادفی در طول رشته انتخاب می شود.
ج) مقادیر رشته ها با توجه به نقطه تقاطع تعویض میگردند.
عملگر تقاطعی با یک احتمال از قبل تعیین شده، بر روی کروموزومهای والد عمل می کند. اگر هیچ تقاطعی صورت نگیرد، فرزندان دقیقأ مشابه والدین خواهند بود.
روشهای مختلفی برای عملگر تقاطع وجود دارد و بخشی از این روشها به شرح زیر هستند:
- تقاطع دو نقطهای
در این عملگر، دو نقطه شکست در طول رشته جواب در نظر گرفته می شود. در این حالت، ابتدا دو مکان تصادفی در طول رشته انتخاب شده و سپس به صورت یک در میان قسمت های والدها به فرزندان منتقل می شود.
- تقاطع چندنقطهای
این عملگر شبیه عملگر دونقطهای است، با این تفاوت که به جای دو نقطه، چند نقطه برای تقاطع انتخاب می شود. تقاطع در بخشهای شکسته شده دو کروموزوم به صورت یک در میان انجام می گیرد. باید توجه داشت افزایش تعداد نقاط شکست، عملکرد الگوریتم ژنتیک را کاهش میدهد ولی باعث می شود فضای مسئله به صورت کاملتری جستجو گردد.
- تقاطع یکنواخت
بر اساس این عملگر، یک ژن از هر دو والد به طور مستقل از سایر ژنها، شانس برابر برای حضور در کروموزوم یک فرزند را دارد. در این حالت، بر اساس یک توزیع تصادفی باینری مشخص می شود که یک ژن از کدام والدین انتخاب شده است. مثلاً اگر توزیع باینری ۱ را نشان داد، آن ژن از والد اول و اگر ۰ بود از والد دوم انتخاب میگردد.
- تقاطع از سه والد
در این روش، ۳ والد به صورت تصادفی انتخاب می شود. هر ژن از والد اول با همان ژن از والد دوم مقایسه می شود. در صورتی که مشابه باشند، همان ژن به فرزند منتقل می شود و در غیر این صورت با والد سوم مقایسه می شود. این روش بر این پایه استوار است که شباهتهای والدین کشف شده و بر اساس آنها فرزندانی تولید میگردد.
- تقاطع مرتب
از این عملگر زمانی استفاده می شود که مسئله مبتنی بر ترتیب باشد. در این روش دو نقطه تقاطع تصادفی انتخاب می شود و آن را به ۳ قسمت چپ، وسط و راست تقسیم می کند. عملگر به این ترتیب عمل می نماید که فرزند اول قسمت چپ و راست را از والد اول و قسمت وسط آن بر اساس ژنهای قسمت وسط والد اول به نحوی که ترتیب آن بر اساس والد دوم باشد، تعیین میگردد.
- تقاطع تک نقطهای
عملگر تقاطعی تک نقطهای معمولترین نوع عملگرهای تقاطع محسوب می شود که در مدل ارائه شده در این تحقیق هم از آن بهره گرفته شده است. در این عملگر دو کروموزوم به صورت تصادفی از یک نقطه شکسته میشوند و بخشهای شکسته شده دو کروموزوم با هم جابهجا میگردند. بدین ترتیب، دو کروموزوم جدید به دست می آید. به کروموزومهای اولیه، کروموزومهای والد و به کروموزومهای حاصل شده از عمل جا به جایی، فرزند میگویند (فتاحی، ۱۳۹۰). یک مثال از عملگر تقاطع تکنقطهای در شکل ۲-۲ نشان داده شده است.
شکل۲-۲- نمایش عملگر تقاطع تکنقطهای در الگوریتم ژنتیک (فتاحی، ۱۳۹۰)
بعد از تقاطع، کروموزومها تحت اپراتور جهش قرار می گیرند. عملگر جهش از افتادن الگوریتم در بهینه محلی جلوگیری مینمایند. جهش موجب می شود که گوناگونی جمعیت حفظ شود و ساختار ژنتیکی جدیدی در جمعیت با تغییرات تصادفی بعضی از ژنها (هر بیت از یک رشته بیتی به نام کروموزوم) به وجود آید. انتخاب ژنها بر اساس احتمال جهش صورت میگیرد.
شکلهای مختلفی برای جهش به شرح زیر موجود است:
-
- معکوس کردن
- تعویض
آنچه در انجام این تحقیق مورد استفاده قرار گرفته استفاده از روش تعویض برای عملگر جهش است. در این نوع جهش، دو موقعیت تصادفی از یک رشته انتخاب و ارزشهای مرتبط آنها با یکدیگر تعویض میگردد. شکل ۲-۳ نوعی از این جهش را نشان میدهد.
شکل۲-۳- نمایش عملگر جهش تک نقطهای در الگوریتم ژنتیک (فتاحی، ۱۳۹۰)
نکتهای که در تفاوت عملگرهای تقاطع و جهش قابل تأمل است این است که عملگر جهش عملیاتی است که تنها روی یک کروموزوم اجرا می شود در حالیکه عملگر تقاطع عملیاتی است که روی دو کروموزوم اجرا می شود.
ارزیابی: در این مرحله، میزان برازندگی فرزندان جدید تولید شده، ارزیابی میگردد.
جا به جایی: در این مرحله، افرادی از جمعیت قبلی کشته شده (حذف میگردند) و با افراد جدیدی که به تازگی تولید شدهاند، جابهجا میگردند. به عبارت دیگر، در این مرحله، جمعیت، یک نسل را پشت سر گذاشته و افرادی از آن حذف و افرادی به آن اضافه میگردند. روشهای مختلفی برای انتخاب جمعیت جدید وجود دارد که به طور مثال میتوان به دو روش زیر اشاره کرد:
فرم در حال بارگذاری ...
[پنجشنبه 1401-09-24] [ 11:56:00 ق.ظ ]
|