فرزند۱
والد۲
فرزند۲
شکل(۲-۵): دو والد برای تولید فرزند با یکدیگر ادغام میشوند. (خلیلینیا، ۱۳۹۰)
متداولترین روش ادغام در ادامه شرح داده شده است.
جابجایی دودوئی[۱۲۲]
روشهای معمول جابجایی تک نقطه[۱۲۳]، دو نقطه[۱۲۴] و جابجایی یکنواخت[۱۲۵] میباشد.
یک نقطه ادغام (که در زیستشناسی به آن کینتوکور[۱۲۶] گفته می شود) به صورت تصادفی بین اولین و آخرین بیتهای کروموزومهای والدین انتخاب می شود و سپس بر اساس این نقطه، بخشی از والدین به فرزندان منتقل می شود (شاهحسینی، موسوی و ملاجعفری، ۱۳۹۱).
سادهترین جابجا کردن، جابجایی تک نقطهای است. در جابجایی تک نقطهای، ابتدا جفت کروموزوم والد (رشته دودوئی) در نقطهی مناسبی در طول رشته بریده شده و سپس قسمتهایی از نقطهی برش، با هم عوض میشوند. بدین ترتیب دو کروموزوم جدید بدست میآید که هر نقطه از آن ژنهایی را از کروموزومهای والد به ارث میبرند که در شکل (۲-۶) نشان داده شده است.
نقطه ادغام
والد۱
فرزند۱
والد۲
فرزند۲
شکل(۲-۶): جابجایی تک نقطهای (خلیلینیا، ۱۳۹۰)
برای جابجایی چند نقطهای[۱۲۷]، m موقعیت جابجا شدن را به صورت تصادفی و بدون تکرار انتخاب میکنیم. سپس جهت ایجاد فرزندی جدید، بیتهای بین نقاط مشخص شده در والدین با هم عوض میشوند. این عملیات در شکل (۲-۷) نشان داده شده است (خلیلینیا، ۱۳۹۰، عباسیکیا، ۱۳۸۸).
والد۲
والد۱
فرزند۱
فرزند۲
شکل(۲-۷): جابجایی چند نقطهای (خلیلینیا، ۱۳۹۰)
جهش[۱۲۸]
در طبیعت برخی عوامل مانند تابش اشعه ماوراء بنفش باعث به وجود آمدن تغییرات غیرقابل پیشبینی در کروموزومها میشوند. از آنجایی که الگوریتمهای ژنتیکی از قانون تکامل پیروی میکنند در این الگوریتمها نیز عملگر جهش با احتمال کم اعمال میشود. جهش باعث جستجو در فضاهای دست نخورده مسأله میشود؛ میتوان استنباط کرد که مهمترین وظیفه جهش، اجتناب از همگرایی به بهینه محلی است. در شکل (۲-۸) نحوه جهش و کارکرد آن نمایش داده شده است (خلیلینیا، ۱۳۹۰، عباسیکیا، ۱۳۸۸).
شکل(۲-۸): شبیهسازی جهش به کمک نمودار (خلیلینیا، ۱۳۹۰)
در الگوریتم ژنتیک نیز بعد از اینکه یک عضو در جمعیت جدید به وجود آمد، هر ژنِ آن با «احتمال جهش»[۱۲۹]، جهش مییابد. در جهش ممکن است ژنی از مجموعه ژنهای جمعیت حذف شود یا ژنی که تا به حال در جمعیت وجود نداشته است به آن اضافه شود. جهشِ یک ژن به معنای تغییر آن ژن است و وابسته به نوع کدگذاری، روشهای متفاوت جهش استفاده میشود. در ادامه دو روش جهش بیان شده است (خلیلینیا، ۱۳۹۰، عباسیکیا، ۱۳۸۸).
وارونهسازی بیت[۱۳۰]
از این نوع جهش هنگامی استفاده میشود که کدگذاری، کدگذاریِ باینری باشد. در اینجا بیتی که شرایط جهش را دارد اگر ۰ باشد به ۱ و اگر ۱ باشد به ۰ تغییر می کند. به عنوان نمونه اگر در شکل (۲-۹)، ژن چهارم شرایط جهش را داشته باشد به صورت نشان داده شده، جهش مییابد (خلیلینیا، ۱۳۹۰، عباسیکیا، ۱۳۸۸).
۱ | ۰ | ۱ | ۰ | ۰ | ۱ | → | ۱ | ۰ | ۰ | ۰ | ۰ | ۱ |