PDA

View Full Version : سوال: دو سوال در مورد الگوریتم ژنتیک(لطفا سریع جواب بدین)



yasimafi
جمعه 04 بهمن 1387, 17:06 عصر
عملگر انتخاب در الگوریتم ژنتیک یک سری اعضا را بیشتر انتخاب می کند این اعضا چگونه حذف می شوند؟

تفاوت جهش و تبادل(ترکیب) در الگوریتم ژنتیک چیه؟

BOB
دوشنبه 07 بهمن 1387, 10:13 صبح
سلام


عملگر انتخاب در الگوریتم ژنتیک یک سری اعضا را بیشتر انتخاب می کند این اعضا چگونه حذف می شوند؟

بله درست است، با توجه به الگوريتم انتخاب شما (مثلا الگوريتم چرخ رولت Roulette Wheel) هميشه كروموزومهايي كه داراي مقدار تابع برازش بهتري باشند، شانس بيشتري براي انتخاب شدن دارند.

اگر منظورتان از حذف شدن، تغيير اين كروموزومها در نسلهاي بعدي باشد، كروموزومها در اثر عملگرهايي مثل تركيب (CrossOver) و جهش (Mutation) در نسلهاي بعد تغيير كرده و به كروموزومهاي بهتر (برازندگي بيشتر) تبديل خواهند شد.



تفاوت جهش و تبادل(ترکیب) در الگوریتم ژنتیک چیه؟

به عملگر تركيب، جمع يا لقاح هم گفته ميشود كه با انتخاب دو كروموزوم والد تصادفي (كروموزومهاي برازنده‌تر شانس بيشتري براي انتخاب شدن به عنوان والد دارند) و با توجه به Pc (احتمال تركيب) با روشهايي مثل تركيب 1 نقطه‌اي، 2 نقطه‌اي، ... با يكديگر تركيب شده و 1 يا 2 فرزند پديد مي‌آورند كه اين فرزندان در نسل جديد قرار گرفته و والدهاي نسل آينده خواهند بود.

عملگر جهش به دليل فرار از نقاط بهينه محلي، و در نظر گرفتن شانس توليد كروموزومهاي پيش بيني نشده، مورد استفاده قرار مي‌گيرد. در صورتي كه در طي فرايند توليد نسلها، كروموزومها در حال همگرا شدن به سمت پاسخي غلط باشند، با استفاده از عملگر جهش و تزريق يك ژن تصادفي (Random) مي‌توان احتمال رسيدن به پاسخ درست را هم تضمين نمود.

موفق باشيد