مقاله عملگرهای الگوریتم ژنتیک، الگوریتم ژنتیک |
بدن همه موجودات زنده از سلول ها تشکیل شده است و در هر سلولی دسته کروموزوم[38] های یکسانی وجود دارد. کروموزوم ها رشته هایی از DNA هستند که در واقع الگویی برای تمام بدن هستند. هر کروموزومی محتوی دسته هایی DNA است که ژن نامیده می شوند و هر ژنی پروتئین خاصی را رمزگذاری می کند. اساسا می توان گفت که هر ژن، ویژگی خاصی (مثلا رنگ چشم) را رمزگذاری می کند. حالت های مختلف یک خصیصه (آبی، قهوه ای) آلل[39] نامیده می شود. هر ژنی موقعیت خاص خود را بر روی کروموزوم دارد که این موقعیت لوکاس[40] نامیده می شود. مجموعه کاملی از مواد ژنتیکی (همه کروموزوم ها) ژنوم نامیده می شود. دسته خاصی از ژن های موجود در ژنوم، ژنوتیپ نامیده می شود. ژنوتیپ به همراه تغییرات پس از تولد، پایه و اساس فنوتیپ موجود زنده (ارگانیسم) ، ویژگی های فیزیکی و ذهنی از قبیل رنگ چشم و هوش و غیره است. در تولید مثل، ابتدا ترکیب[41] یا ادغام اتفاق می افتد. ژن های والدین برای ایجاد کروموزوم های جدید ترکیب می شوند. سپس جنین تشکیل شده دچار تغییر می شود. جهش به این معناست که عناصر DNA کمی تغییر پیدا کند و این تغییرات اغلب نتیجه نسخه برداری غلط از ژن های والدین است. میزان برازندگی[42] موجود زنده (جنین) به واسطه بقای آن اندازه گیری می شود. در الگوریتم ژنتیک، مجموعه ای از متغیرهای طراحی را توسط رشته هایی با طول ثابت[43] یا متغیر[44] کدگذاری می کنند که در سیستم های بیولوژیکی آنها را کروموزوم یا فرد[45] می نامند. هر رشته یک نقطه پاسخ در فضای جستجو را نشان می دهد. به ساختمان رشته ها یعنی مجموعه ای از پارامترها که توسط یک کروموزوم خاص نمایش داده می شود ژنوتیپ[46] و به مقدار رمزگشایی شده آن فنوتیپ[47] می گویند. الگوریتم های وراثتی فرایند های تکراری هستند که هر مرحله تکراری را نسل و مجموعه ای از پاسخ ها در هر نسل را جمعیت می نامند. الگوریتم های ژنتیک، جستجوی اصلی را در فضای پاسخ به اجرا می گذارند. این الگوریتم ها با تولید نسل آغاز می شوند که وظیفه ایجاد مجموعه نقاط جستجوی اولیه به نام جمعیت اولیه[48] را بر عهده دارند و به طور انتخابی یا تصادفی تعیین می شوند. از آنجا که الگوریتم ژنتیک برای هدایت عملیات جستجو به طرف نقطه بهینه از روش های آماری استفاده می کند، در فرایندی که به انتخاب طبیعی وابسته است، جمعیت موجود به تناسب برازندگی[49] افراد آن برای نسل بعد انتخاب می شود. سپس عملگرهای ژنتیکی شامل انتخاب[50]، ترکیب[51]، جهش[52] و دیگر عملگرهای احتمالی اعمال شده و جمعیت جدید بوجود می آید. پس از آن، جمعیت جدیدی جایگزین جمعیت پیشین می شود و این چرخه ادامه می یابد. معمولا جمعیت جدید برازندگی بیشتری دارد. این بدان معناست که از نسلی به نسل دیگر جمعیت بهبود می یابد. هنگامی جستجو نتیجه بخش خواهد بود که به حداکثر نسل ممکن رسیده باشیم یا همگرایی حاصل شده باشد یا معیارهای توقف برآورده شده باشد. 2-11-3- عملگرهای الگوریتم ژنتیک به طور خلاصه الگوریتم ژنتیک از عملگرهای زیر تشکیل شده است : Encoding این مرحله شاید مشکل ترین مرحله حل مسئله به روش الگوریتم ژنتیک باشد. الگوریتم ژنتیک به جای اینکه بر روی پارامترها یا متغیرهای مسئله کار کند با شکل کدشده آنها سر و کار دارد. یکی از روش های کد کردن، کدکردن دودویی می باشد که در آن هدف تبدیل جواب مسئله به رشته ای از اعداد باینری است. Evaluation تابع برازندگی از اعمال تبدیل مناسب بر روی تابع هدف یعنی تابعی که قرار است بهینه شود بدست می آید. ایـن تابع هر رشته را با یک مقدار عددی ارزیابی می کند که کیفیت آن را مشخص می نماید. هر چه کیفیت رشته جواب بالاتر باشد مقدار برازندگی جواب بیشتر است و احتمال مشارکت برای تولید نسل بعدی نیز افزایش خواهد یافت. Crossover مهم ترین عملگر در الگوریتم ژنتیک، عملگر ترکیب است. ترکیب فرایندی است که در آن نسل قدیمی کروموزوم ها با یکدیگر مخلوط و ترکیب می شوند تا نسل های تازه ای از کروموزوم ها به وجود بیاید. جفت هایی که در قسمت انتخاب ، به عنوان والـد در نظر گرفته شدند ، در این قسمت ژن هایشان را با هم مبادله می کنند و اعضایی جدید به وجود می آورند. ترکیب در الگوریتم ژنتیک باعث از بین رفتن پراکندگی یا تنوع ژنتیکی جمعیت می شود زیرا اجازه می دهد ژن های خوب یکدیگر را بیابند. Mutation جهش نیز عملگر دیگری می باشد که جواب های ممکن دیگری را متولد می کند. در الگوریتم ژنتیک بعد از اینکه یک عضو در جمعیت جدید به وجود آمـد ، هر ژن آن با احتمال جهش ، جهش می یابد. در جهش ممکن است ژنی از مجموعه ژن های جمعیت حذف شود یا ژنی که تا به حال در جمعیت وجود نداشته است به آن اضافه شود. جهش یک ژن به معنای تغییر آن ژن است و وابسته به نوع کدگذاری، از روش های متفاوت جهش استفاده می شود. Decoding
فرم در حال بارگذاری ...
[سه شنبه 1398-12-13] [ 07:25:00 ب.ظ ]
|