با سلام
1- چرا درصدی از جمعیت؟ در جهش هیچ تمایزی برای هیچ نسلی قائل نمیشیم (مثال: حتی کودک فقیر باید بتواند به ثروت برسد)
2- چرا چند مرتبه؟
3- اگر هدف جستجوی کمینه باشد بله
بطور کلی:
طی فرآیند جهش این قابلیت را به تمام نسل ها میدهیم تا به شایستگی بیشتر دست یابند (نکته1) همچنین باید توجه داشته باشیم اگر چه ظاهرا جهش خوب است (نکته2) ولی اجازه نداریم مقدار آن را زیاد در نظر بگیریم (معمولا 1% در نظر گرفته می شود)؛ یعنی چی؟ یعنی فرض کنیم در یک مرحله از الگوریتم ژنتیک 20نسل داریم، برای تک تک نسل ها به ازای هز ژن یک عدد تصادفی تولید کنید در بازه 0 تا 100، اگر عدد مذکور 1 یا کمتر بود آنوقت جهش بر روی آن ژن اعمال شود. مسلما توقع داریم اگر 100 ژن داشته باشیم یکی از آنها تغییر کند منتهی توجه کنید توقع داریم! یعنی می تواند هیچ ژنی تغییر نکند و می تواند چند ژن تغییر کنند این ندیگر بستگی به عدد تصادفی دارد.
نکته 1: ممکن است برخی نمونه ها شایسنگی کمتر کسب کنند
نکته 2: اگر مقدار جهش زیاد باشد ممکن است اتفاق های بدی رخ دهد یعنی مثلا فرض کنید طی Crossover های بسیار خوب در حال بالارفتن از یک قله هستیم (تابع هدف) دقیقا زمانیکه نزدیکیهای قله می شویم ناگهان بر اثر یکی از جهش ها (که احتمال رخدادش زیاد شده) به یک قله نه چندان مطلوب دیگر انتقال یابیم در اینصورت است که برنامه دچار کوبیدگی می شود و زمان خاتمه بشدت افزایش می یاید.
من فکر کنم منظور استادتان استفاده از اپراتورهای بشکل ماسک است! اگر ایشان در پردازش تصویر هم دستی داشته باشد معمولا از Crossover, Mutation های بشکل ماسک نیز استفاده می شود.
موفق باشید
__________________
.
.
.
برای تشکر دکمه مخصوص وجود دارد لطفا پست هرز ایجاد نکنید
.
.
اینقدر از دسترسی نداشتن به مقاله شیون نکنید
مقالات انگلیسی: ایران سای (ISI, IEEE, ACM)
مقالات فارسی: سیویلیکا (کنفرانس داخلی)
مقالات فارسی: مگ ایران (ژورنالهای داخلی)
|