SlideShare a Scribd company logo
1 of 26
Download to read offline
‫ب‬‫ه‬‫خدا‬ ‫نام‬
‫بناب‬ ‫دانشگاه‬
‫کامپیوتر‬ ‫مهندسی‬ ‫گروه‬
‫ژنتیک‬ ‫الگوریتم‬
‫کنندگان‬ ‫تهیه‬
‫ریاضی‬ ‫لیال‬-‫عزتی‬ ‫سعیده‬
‫استاد‬‫راهنما‬
‫دکتر‬ ‫آقای‬ ‫جناب‬‫دهخوارقانی‬
‫اردیبهشت‬59
‫قدردانی‬ ‫و‬ ‫تشکر‬
:‫مقدس‬ ‫وجود‬ ‫ازسه‬ ‫سپاس‬ ‫با‬
‫برسیم‬ ‫توانایی‬ ‫به‬ ‫ما‬ ‫تا‬ ‫شدند‬ ‫ناتوان‬ ‫که‬ ‫آنان‬…
‫شویم‬ ‫ماروسفید‬ ‫تا‬ ‫شد‬ ‫سپید‬ ‫موهایشان‬…
‫باشند‬ ‫راهمان‬ ‫روشنگر‬ ‫و‬ ‫ما‬ ‫وجود‬ ‫گرمابخش‬ ‫تا‬ ‫سوختند‬ ‫عاشقانه‬ ‫و‬…
‫پدرانمان‬
‫مادرانمان‬
‫استادانمان‬
1 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫چکیده‬
‫ژنتیک‬ ‫الگوریتم‬(Genetic Algorithm - GA)‫راه‬ ‫یافتن‬ ‫برای‬ ‫رایانه‬ ‫علم‬ ‫در‬ ‫جستجویی‬ ‫تکنیک‬‫تقریبی‬ ‫حل‬
‫بهینه‬ ‫برای‬‫تکنیکهای‬ ‫از‬ ‫که‬ ‫است‬ ‫تکامل‬ ‫الگوریتمهای‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫ژنتیک‬ ‫الگوریتم‬ .‫است‬ ‫جستجو‬ ‫مسائل‬ ‫و‬ ‫سازی‬
‫زیست‬‫و‬ ‫وراثت‬ ‫مانند‬ ‫شناسی‬‫می‬ ‫استفاده‬ ‫جهش‬‫کند‬.‫این‬‫الگوریتمها‬‫شبیه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ً‫ال‬‫معمو‬‫که‬ ‫کامپیوتر‬ ‫ساز‬
‫نمونه‬ ‫یک‬ ‫جمعیت‬ ‫آن‬ ‫در‬‫ی‬‫انتزاعی‬(‫کروموزومها‬)‫از‬‫نامزدهای‬‫راه‬‫حل‬‫یک‬‫مسأله‬‫بهینه‬‫سازی‬‫به‬‫راه‬‫حل‬‫بهتری‬
‫منجر‬،‫شود‬‫پیاده‬‫سازی‬‫می‬‫شوند‬.‫به‬‫طور‬‫سنتی‬‫راه‬‫رشته‬ ‫شکل‬ ‫به‬ ‫حلها‬‫از‬ ‫هایی‬۰‫و‬۱‫گونه‬ ‫به‬ ‫امروزه‬ ‫اما‬ ،‫بودند‬‫های‬
‫پیاده‬ ‫هم‬ ‫دیگری‬‫شده‬ ‫سازی‬‫اند‬.
‫بهترین‬ ‫به‬ ‫مسئله‬ ‫حل‬ ‫برای‬ ‫شود‬ ‫می‬ ‫وباعث‬ ‫شده‬ ‫بهتر‬ ‫و‬ ‫بهتر‬ ‫مراحل‬ ‫گذشت‬ ‫با‬ ‫نیز‬ ‫ژنتیک‬ ‫الگوریتم‬ ،‫ژنتیک‬ ‫همانند‬
‫ادامه‬ ‫در‬ ‫که‬ ‫است‬ ‫طبیعت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫بررسی‬ ‫مجموعه‬ ‫این‬ ‫از‬ ‫هدف‬ . ‫کنیم‬ ‫پیدا‬ ‫دست‬ ‫حل‬ ‫راه‬
‫بیش‬‫مراحل‬ ‫و‬ ‫الگوریتم‬ ‫این‬ ‫مورد‬ ‫در‬ ‫تر‬‫خواهیم‬ ‫صحبت‬ ‫آن‬ ‫از‬ ‫استفاده‬.‫کرد‬
2 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫مطالب‬ ‫فهرست‬
‫چک‬‫ی‬‫ده‬..........................................................................................................................................................................1
‫مقدمه‬..........................................................................................................................................................................3
‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬..................................................................................................................................................4
‫مزا‬‫ی‬‫ا‬‫ی‬‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬.................................................................................................................................4
‫معا‬‫ی‬‫ب‬‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬....................................................................................................................................4
‫کاربرد‬‫ها‬‫ی‬GA......................................................................................................................................................5
‫روش‬‫ها‬‫ی‬EA(Evolutionary Algorithms)...............................................................................................................5
‫نحوه‬‫کارکرد‬GA...................................................................................................................................................5
‫پارامتر‬‫ها‬‫ی‬GA...................................................................................................................................................6
‫روند‬‫الگور‬‫ی‬‫تم‬‫ی‬....................................................................................................................................................6
‫اپراتورها‬‫ی‬‫ژنت‬‫ی‬‫ک‬‫ی‬.............................................................................................................................................6
CrossOver.................................................................................................................................................................7
Single-Point CrossOver........................................................................................................................................7
Tow-Point CrossOver...........................................................................................................................................8
Uniform CrossOver..............................................................................................................................................8
Mutation...................................................................................................................................................................9
‫مقا‬‫ی‬‫سه‬Crossover‫و‬Mutation..............................................................................................................................9
‫نحوه‬‫ا‬‫ی‬‫جاد‬‫جمع‬‫ی‬‫ت‬................................................................................................................................................9
‫انتخاب‬‫فرض‬‫ی‬‫ه‬‫ها‬...................................................................................................................................................11
‫تفاوت‬‫جستجو‬‫ی‬GA‫با‬‫روشها‬‫ی‬‫د‬‫ی‬‫گر‬...........................................................................................................11
Crowding....................................................................................................................................................................11
Genetic Programming.................................................................................................................................................11
‫اپراتور‬crossover‫برا‬‫ی‬GP...............................................................................................................................12
‫قض‬‫ی‬‫ه‬Schema...........................................................................................................................................................13
‫دو‬‫نظر‬‫ی‬‫ه‬‫در‬‫علم‬‫ژنت‬‫ی‬‫ک‬..................................................................................................................................15
‫نظر‬‫ی‬‫ه‬lamarck.....................................................................................................................................................15
‫نظر‬‫ی‬‫ه‬Baldwin....................................................................................................................................................15
2‫مثال‬......................................................................................................................................................................15
‫مثال‬1..................................................................................................................................................................16
‫مثال‬2..................................................................................................................................................................21
‫منابع‬........................................................................................................................................................................24
3 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫مقدمه‬
‫پیشرفت‬ ‫همیشه‬ ‫ژنتیک‬ ‫و‬ ‫وراثت‬ ‫دنیای‬ ‫در‬‫آمده‬ ‫وجود‬ ‫به‬ ‫که‬ ‫نسلی‬ ‫هر‬ .‫بود‬ ‫خواهد‬ ‫و‬ ‫بوده‬ ‫هایی‬‫معموال‬‫ژنتیک‬
‫بهتر‬ ‫ژنتیک‬ ‫با‬ ‫جانداران‬ ‫به‬ ‫را‬ ‫خود‬ ‫جای‬ ‫و‬ ‫رفته‬ ‫بین‬ ‫از‬ ‫جانداران‬ ‫طبیعت‬ ‫در‬ .‫دارد‬ ‫تری‬ ‫تکامل‬‫بیشتر‬ ‫سازگاری‬ ‫و‬‫و‬‫ا‬
.‫کنند‬ ‫می‬ ‫گذار‬‫ژنتیک‬ ‫علم‬ ‫در‬ ‫البته‬‫می‬ ‫باعث‬ ‫هم‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫نیز‬ ‫جهش‬‫العاد‬ ‫فوق‬ ‫بسیار‬ ‫ژنتیک‬ ‫شود‬‫ه‬‫ب‬ ‫ای‬‫وجود‬ ‫ه‬
.‫شود‬ ‫قبلی‬ ‫ژنتیک‬ ‫به‬ ‫نسبت‬ ‫ژنتیک‬ ‫افتادگی‬ ‫عقب‬ ‫باعث‬ ‫دارد‬ ‫امکان‬ ‫هم‬ ‫و‬ ‫آید‬
‫بعضی‬‫مسایل‬‫دارای‬‫راه‬‫حلهای‬‫مشخص‬‫می‬‫باشند‬:‫از‬ ‫معموال‬ ،‫خطی‬ ‫محدودیتهای‬ ‫با‬ ‫خطی‬ ‫مسائل‬ ‫حل‬ ‫برای‬
‫روش‬LP‫از‬ ‫خطی‬ ‫غیر‬ ‫محدودیتهای‬ ‫با‬ ‫خطی‬ ‫غیر‬ ‫مسائل‬ ‫حل‬ ‫برای‬ ‫همچنین‬ ‫و‬ )‫خطی‬ ‫ریزی‬ ‫(برنامه‬NLP‫(برنامه‬
.‫شود‬ ‫می‬ ‫غیرخطی)استفاده‬ ‫ریزی‬
‫مقایسه‬ ‫از‬ ‫که‬ ‫منظور‬ ‫این‬ ‫برای‬ . ‫است‬ ‫نوع‬ ‫این‬ ‫بر‬ ‫ما‬ ‫کار‬ ‫اساس‬ ‫نیز‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫در‬‫حل‬ ‫راه‬ ‫چندین‬ ‫ی‬‫ا‬ ‫با‬‫ستفاده‬
‫تناسب‬ ‫تابع‬ ‫از‬‫می‬ ‫انتخاب‬ ‫را‬ ‫ها‬ ‫حل‬ ‫راه‬ ‫بهترین‬ ،‫ک‬‫می‬ ‫طی‬ ‫دوباره‬ ‫مسیر‬ ‫این‬ ‫سپس‬ ‫و‬ ‫نند‬‫بار‬ ‫هر‬ ‫الگوریتم‬ ‫و‬ ‫شود‬
‫پیدا‬ ‫تکامل‬‫و‬ ‫کرده‬‫مطلوب‬ ‫حل‬ ‫راه‬ ‫به‬ ‫ما‬ ‫شود‬ ‫می‬ ‫باعث‬‫تری‬.‫کنیم‬ ‫پیدا‬ ‫دست‬ ‫مسئله‬ ‫حل‬ ‫برای‬
4 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫ژنتیکی‬ ‫الگوریتم‬
‫الگوریتم‬‫ژنتیک‬‫روش‬‫یادگیری‬‫بر‬‫پایه‬‫تکامل‬‫بیولوژیک‬‫است‬.‫این‬‫روش‬‫در‬‫سال‬1970‫توسط‬John
Holland‫معرفی‬‫گردید‬.‫این‬‫روش‬‫ها‬‫با‬‫نام‬Evolutionary Algorithms‫نیز‬‫خوانده‬‫می‬‫شوند‬.‫یک‬GA
‫برای‬‫حل‬‫یک‬‫مسئله‬‫مجموعه‬‫بسیار‬‫بزرگی‬‫از‬‫راه‬‫حل‬‫های‬‫ممکن‬‫را‬‫تولید‬‫می‬‫کند‬.‫هر‬‫یک‬‫از‬‫این‬‫راه‬‫حل‬‫ها‬‫با‬
‫استفاده‬‫از‬‫یک‬“‫تابع‬‫تناسب‬”‫مورد‬‫ارزیابی‬‫می‬ ‫قرار‬‫گیرد‬.‫سپس‬‫تعدادی‬‫از‬‫بهترین‬‫راه‬‫حل‬‫ها‬‫باعث‬‫تولید‬‫راه‬
‫حل‬‫های‬‫جدیدی‬‫می‬‫ش‬‫ا‬ .‫وند‬‫ین‬‫کار‬‫باعث‬‫تکامل‬‫راه‬‫حل‬‫ها‬‫می‬‫گردد‬.‫بدین‬‫ترتیب‬‫فضای‬‫جستجو‬‫در‬‫جهتی‬‫تکامل‬
‫پیدا‬‫می‬‫کند‬‫که‬‫به‬‫راه‬‫حل‬‫مطلوب‬‫برسد‬.‫در‬‫صورت‬‫انتخاب‬‫صحیح‬،‫پارامترها‬‫این‬‫روش‬‫می‬‫تواند‬‫بسیار‬‫موثر‬‫عمل‬
‫نماید‬.‫با‬ ‫ژنتیک‬ ‫الگوریتم‬‫پارامترهاي‬‫كد‬‫شده‬‫كار‬‫مي‬‫كند‬‫نه‬‫با‬‫خود‬‫پارامتر‬.
‫الگوریتم‬‫ژنتیك‬‫از‬‫قوانین‬‫آماري‬‫استفاده‬‫مي‬‫كند‬‫نه‬‫از‬‫قوانین‬‫محاسباتي‬.‫باید‬ ‫روش‬ ‫این‬ ‫با‬ ‫جستجو‬ ‫در‬ ‫البته‬
‫که‬ ‫داشت‬ ‫توجه‬‫جستجو‬‫را‬‫ب‬‫ه‬‫وسیله‬‫جمعیتی‬‫از‬‫نقاط‬‫انجام‬‫می‬،‫دهد‬‫نه‬‫یک‬‫نقطه‬‫یعنی‬‫تعداد‬‫این‬‫نقاط‬‫نیز‬‫مهم‬
،‫است‬‫به‬‫این‬‫صورت‬‫که‬‫تعداد‬‫جمعیت‬‫زیاد‬‫محاسبات‬‫را‬‫زیاد‬‫کرده‬‫و‬‫کندتر‬‫به‬‫جواب‬‫بهینه‬‫نزدیک‬‫می‬‫شود‬‫و‬
‫تعداد‬‫جمعیت‬‫کم‬‫فضای‬‫جستجو‬‫را‬‫به‬‫خوبی‬‫پوشش‬‫نداده‬‫و‬‫ممکن‬‫است‬‫الگوریتم‬‫در‬‫یک‬‫جواب‬‫محلی‬‫گیر‬‫کند‬.
‫از‬ ‫روش‬ ‫این‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫باید‬‫مقدار‬‫تابع‬‫در‬‫نقاط‬‫مختلف‬‫فضاي‬‫جستجو‬‫استفاده‬‫مي‬‫كند‬‫و‬‫نیازي‬‫به‬‫دانستن‬
‫مشتق‬‫تابع‬‫یا‬‫اطالعات‬‫دیگري‬‫از‬‫تابع‬‫ندارد‬.
‫ژنتیکی‬ ‫الگوریتم‬ ‫مزایای‬
‫می‬ ‫پیچیده‬ ‫فرضیه‬ ‫فضای‬ ‫با‬ ‫مسائلی‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫بزرگی‬ ‫جستجوی‬ ‫فضای‬ ‫که‬ ‫مسائلی‬ ‫در‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫از‬
.‫کرد‬ ‫استفاده‬ ‫توان‬‫همچنین‬‫بر‬‫ا‬‫ی‬discrete optimization.‫است‬ ‫استفاده‬ ‫مورد‬ ‫بسیار‬ )‫گسسته‬ ‫سازی‬ ‫(بهینه‬
‫الگوریتم‬‫های‬‫ژنتیک‬‫را‬‫می‬‫توان‬‫ب‬‫ه‬‫راحتی‬‫بصورت‬‫موازی‬‫اجرا‬‫نمود‬‫از‬‫این‬‫رو‬‫می‬‫توان‬‫کامپیوترهای‬‫ارزان‬‫قیمت‬
‫تری‬‫را‬‫بصورت‬‫موازی‬‫مورد‬‫استفاده‬‫قرار‬‫ا‬ ‫و‬ ‫داد‬‫مکان‬‫به‬‫تله‬‫افتادن‬‫این‬‫الگوریتم‬‫در‬‫مینیمم‬‫محلی‬‫کمتر‬‫از‬‫سایر‬
‫روشهاست‬.
‫ژنتیکی‬ ‫الگوریتم‬ ‫معایب‬
‫همانن‬ ‫ژنتیکی‬ ‫الگوریتم‬ ‫اما‬‫های‬ ‫الگوریتم‬ ‫د‬‫مشکالت‬ ‫این‬ ‫جمله‬ ‫از‬ ‫که‬ ‫است‬ ‫مشکالتی‬ ‫دارای‬ ‫دیگر‬‫ب‬ ‫توان‬ ‫می‬‫ر‬
.‫کرد‬ ‫اشاره‬ ‫محاسباتی‬ ‫لحاظ‬ ‫از‬ ‫بودن‬ ‫پرهزینه‬‫به‬ ‫ما‬ ‫برای‬ ‫الگوریتم‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫که‬ ‫دیگری‬ ‫مشکل‬‫وجود‬‫می‬‫آید‬
‫راه‬ ‫یا‬ ‫جواب‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫تضمینی‬ ‫هیچ‬ ‫که‬ ‫است‬ ‫این‬‫ندارد‬ ‫وجود‬ ‫بهینه‬ ‫حل‬.‫نقص‬ ‫این‬ ‫وجود‬ ‫با‬ ‫اما‬‫ها‬‫از‬ ‫استفاده‬
‫مس‬ ‫اکثر‬ ‫حل‬ ‫در‬ ‫ژنتیکی‬ ‫الگوریتم‬‫امید‬ ‫نا‬ ‫الگوریتم‬ ‫این‬ ‫از‬ ‫نباید‬ ‫کالم‬ ‫یک‬ ‫در‬ ‫و‬ ‫نمود‬ ‫خواهد‬ ‫شایانی‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫ائل‬
.‫شد‬
5 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫های‬ ‫کاربرد‬GA
:‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬ ‫توان‬ ‫می‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫مهم‬ ‫های‬ ‫کاربرد‬ ‫از‬
Optimization
automatic programming
machine learning
economics
operations research
ecology
studies of evolution and learning
social systems
‫های‬ ‫روش‬EA(Evolutionary Algorithms)
‫مرتبط‬ ‫هم‬ ‫به‬ ‫چه‬ ‫اگر‬ .‫شوند‬ ‫می‬ ‫تقسیم‬ ‫نوع‬ ‫دو‬ ‫به‬ ‫ها‬ ‫روش‬ ‫این‬.‫هستند‬ ‫مجزا‬ ‫هم‬ ‫از‬ ‫اما‬ ‫اند‬
۱-Genetic Algorithms (GAs)
‫در‬‫این‬‫روش‬‫راه‬‫حل‬‫یک‬‫مسئله‬‫بصورت‬‫یک‬bit string‫نشان‬‫داده‬‫میشود‬.
2.Genetic Programming (GP)
‫این‬‫روش‬‫به‬‫تولید‬expression trees‫که‬‫در‬‫زبان‬‫های‬‫برنامه‬‫نویسی‬‫مثل‬lisp‫مورد‬‫استفاده‬‫هستند‬
‫می‬‫پردازد‬‫بدین‬‫ترتیب‬‫می‬‫توان‬‫برنامه‬‫هائی‬‫ساخت‬‫که‬‫قابل‬‫اجرا‬‫باشند‬.‫این‬ ‫در‬ ‫مجموعه‬ ‫این‬ ‫بعدی‬ ‫صفحات‬ ‫در‬
.‫شد‬ ‫خواهد‬ ‫بحث‬ ‫باره‬
‫کارکرد‬ ‫نحوه‬GA
‫کار‬ ‫طرز‬‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫به‬ ‫ژنتیک‬ ‫الگوریتم‬‫مجموعه‬‫ای‬‫از‬‫فرضیه‬‫ها‬‫که‬population‫نامیده‬‫می‬‫شود‬‫تولید‬
‫و‬‫بطور‬‫متناوب‬‫با‬‫فرضیه‬‫های‬‫جدیدی‬‫جایگزین‬‫می‬‫گردد‬.‫سپس‬‫در‬‫هر‬‫بار‬‫تکرارتمامی‬‫فرضیه‬‫ها‬‫با‬‫استفاده‬‫از‬
‫یک‬‫تابع‬‫تناسب‬( Fitness)‫مورد‬‫ارزیابی‬‫قرار‬‫داده‬‫می‬‫شوند‬.‫آنگاه‬‫تعدادی‬‫از‬‫بهترین‬‫فرضیه‬‫ها‬‫با‬‫استفاده‬‫از‬
‫یک‬‫تابع‬‫احتمال‬‫انتخاب‬‫شده‬‫و‬‫جمعیت‬‫جدید‬‫را‬‫تشکیل‬‫می‬‫دهند‬.
6 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫تعدادی‬‫از‬‫این‬‫فرضیه‬‫های‬‫انتخاب‬‫شده‬‫به‬‫همان‬‫صورت‬‫مورد‬‫استفاده‬‫واقع‬‫شده‬‫و‬‫مابقی‬‫با‬‫استفاده‬‫از‬‫اپراتورهای‬
‫ژنتیکی‬‫نظیر‬Crossover‫و‬Mutation‫برای‬‫تولید‬‫فرزندان‬‫بکار‬‫می‬‫روند‬.‫ادامه‬ ‫در‬،‫ژنتیکی‬ ‫اپراتورهای‬ ‫بحث‬ ‫به‬
.‫پرداخت‬ ‫خواهیم‬
‫های‬ ‫پارامتر‬GA
‫یک‬‫الگوریتم‬GA‫دارای‬‫پارامترهای‬‫زیر‬‫است‬:
GA(Fitness,Fitness_threshold,p,r,m)
: Fitness‫تابعی‬‫برای‬‫ارزیابی‬‫یک‬‫فرضیه‬‫که‬‫مقداری‬‫عددی‬‫به‬‫هر‬‫فرضیه‬‫نسبت‬‫می‬‫دهد‬.)‫تناسب‬ ‫(تابع‬
: Fitness_threshold‫مقدار‬‫آستانه‬‫که‬‫شرط‬‫پایان‬‫را‬‫معین‬‫می‬‫کند‬.
: p‫تعداد‬‫فرضیه‬‫هائی‬‫که‬‫باید‬‫در‬‫جمعیت‬‫در‬‫نظر‬‫گرفته‬‫شوند‬
:r‫در‬‫صدی‬‫از‬‫جمعیت‬‫که‬‫در‬‫هر‬‫مرحله‬‫توسط‬‫الگوریتم‬crossover‫جایگزین‬‫می‬‫شوند‬
:m‫نرخ‬mutation
‫الگوریتمی‬ ‫روند‬
۰-‫شروع‬
۱-‫جمعیت‬‫را‬‫با‬‫تعداد‬p‫فرضیه‬‫بطور‬‫تصادفی‬‫مقدار‬‫دهی‬‫اولیه‬‫کنید‬.(Initializ)
2-‫برای‬‫هر‬‫فرضیه‬h‫در‬p‫مقدار‬‫تابع‬Fitness(h)‫را‬‫محاسبه‬‫نمائید‬.(Evaluate)
3-‫تا‬‫زمانیکه‬Fitness(h)] < Fitness_thresholdh[max‫یک‬‫جمعیت‬‫جدید‬‫ایجاد‬‫کنید‬.
4-‫فرضیه‬‫ای‬‫که‬‫دارای‬‫بیشترین‬‫مقدار‬Fitness‫است‬‫را‬‫برگردانید‬.
5-‫پایان‬
‫ژنتیکی‬ ‫اپراتورهای‬
‫دارد‬ ‫وجود‬ ‫ژنتیکی‬ ‫اپراتور‬ ‫نوع‬ ‫دو‬
۱-Crossover
2-Mutation
‫شود‬ ‫استفاده‬ ‫دو‬ ‫هر‬ ‫از‬ ‫است‬ ‫بهتر‬ ‫کلی‬ ‫حالت‬ ‫در‬ ‫دارد‬ ‫مسئله‬ ‫صورت‬ ‫به‬ ‫بستگی‬ ‫ها‬ ‫اپراتور‬ ‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫از‬ ‫استفاده‬
‫زیرا‬.‫دارند‬ ‫مخصوصی‬ ‫نقش‬ ‫کدام‬ ‫هر‬
‫از‬ ‫فقط‬ ‫توان‬ ‫می‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫نکته‬ ‫این‬ ‫به‬ ‫باید‬Mutation‫از‬ ‫استفاده‬ ‫ولی‬ ‫کرد‬ ‫استفاده‬Crossover‫به‬
.‫داد‬ ‫نخواهد‬ ‫ای‬ ‫نتیجه‬ ‫تنهایی‬
7 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
.‫پردازیم‬ ‫می‬ ‫ها‬ ‫اپراتور‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫شرح‬ ‫به‬ ‫زیر‬ ‫در‬
CrossOver
‫از‬ ‫روش‬ ‫این‬2‫می‬ ‫استفاده‬ ‫والد‬ ‫رشته‬‫که‬ ‫کند‬‫به‬ ‫والد‬ ‫رشته‬ ‫دو‬ ‫این‬ ‫از‬ ‫فرزند‬ ‫رشته‬‫می‬ ‫وجود‬‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ .‫آید‬
‫قسمتی‬‫از‬‫بیت‬‫های‬‫والدین‬‫در‬‫بیت‬‫های‬‫فرزندان‬‫کپی‬‫می‬‫شو‬.‫د‬‫برای‬‫تعیین‬‫محل‬‫بیت‬‫های‬‫کپی‬‫شونده‬‫از‬‫یک‬‫رشته‬
‫به‬‫نام‬Crossover Mask‫استفاده‬‫می‬‫شود‬.
‫انتخاب‬‫بیت‬‫هائی‬‫که‬‫باید‬‫از‬‫هر‬‫یک‬‫از‬‫والدین‬‫کپی‬‫شوند‬:‫دارند‬ ‫متفاوتی‬ ‫های‬ ‫روش‬ ‫خود‬
۱-single-point crossover
2-Two-point crossover
3-Uniform crossover
Single-Point CrossOver
‫یک‬‫نقطه‬‫تصادفی‬‫در‬‫طول‬‫رشته‬‫انتخاب‬‫می‬‫شو‬‫می‬ ‫تقسیم‬ ‫قسمت‬ ‫دو‬ ‫به‬ ‫نقطه‬ ‫این‬ ‫در‬ ‫والدین‬ ‫سپس‬ ‫د‬‫هر‬ ‫و‬ ‫شوند‬
‫تکه‬ ‫و‬ ‫والدین‬ ‫از‬ ‫یکی‬ ‫از‬ ‫اول‬ ‫تکه‬ ‫انتخاب‬ ‫با‬ ‫فرزند‬‫به‬ ‫دیگر‬ ‫والد‬ ‫از‬ ‫دوم‬‫می‬ ‫وجود‬.‫آید‬
Crossover Mask: 11111000000
0001001000000010010111
10101010000 10101010111
parents
children
8 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
Tow-Point CrossOver
‫به‬ ‫ها‬ ‫والد‬ ‫و‬ ‫شده‬ ‫انتخاب‬ ‫تصادفی‬ ‫نقطه‬ ‫دو‬3‫با‬ ‫فرزند‬ ‫هر‬ ‫و‬ ‫شوند‬ ‫می‬ ‫تقسیم‬ ‫بخش‬‫والد‬ ‫یک‬ ‫از‬ ‫قسمت‬ ‫دو‬ ‫انتخاب‬
‫می‬ ‫تشکیل‬ ،‫درمیان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫البته‬ ‫دیگری‬ ‫والد‬ ‫از‬ ‫قسمت‬ ‫یک‬ ‫و‬‫بیش‬ ‫فهم‬ ‫برای‬ .‫شود‬‫تو‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫تر‬‫جه‬
.‫کنید‬
Crossover Mask: 00111110000
Uniform CrossOver
‫می‬ ‫شرح‬ ‫زیر‬ ‫شکل‬ ‫با‬ ‫را‬ ‫قسمت‬ ‫این‬.‫دهیم‬
Crossover Mask: 10011010011
0001۱0100۱۱00010010۱۱۱
۱0۱۰۱010۰۰۰ 10100010100
0010001000۱00010010۱۱۱
۱0۱۰۱010۰۰۰ 10011010۱۱0
parents children
parents children
9 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
Mutation
‫می‬ ‫استفاده‬ ‫رشته‬ ‫یک‬ ‫از‬ ‫فرزند‬ ‫آمدن‬ ‫پدید‬ ‫برای‬ ‫اپراتور‬ ‫این‬ ‫در‬‫اولیه‬ ‫رشته‬ ‫در‬ ‫کوچکی‬ ‫تغییرات‬ ‫منظور‬ ‫این‬ ‫به‬ .‫شود‬
‫می‬ ‫وجود‬ ‫به‬ ‫جدید‬ ‫فرزند‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫اعمال‬.‫آید‬‫با‬‫استفاده‬‫از‬‫یک‬‫توزیع‬‫یکنواخت‬‫یک‬‫بیت‬‫بصورت‬‫تصادفی‬
‫اتنخاب‬‫و‬‫مقدار‬‫آن‬‫تغییر‬‫پیدا‬‫میکند‬‫از‬ ‫بعد‬ ‫معموال‬ ‫که‬crossover.‫شود‬ ‫می‬ ‫اعمال‬‫می‬ ‫البته‬‫برای‬ ‫گفت‬ ‫توان‬
‫در‬ ‫بهینه‬ ‫جواب‬ ‫به‬ ‫رسیدن‬Mutation.‫است‬ ‫الزم‬ ‫شانسی‬ ‫خوش‬ ‫یک‬
‫مقایسه‬Crossover‫و‬Mutation
‫می‬ ‫اپراتور‬ ‫دو‬ ‫این‬ ‫مقایسه‬ ‫در‬‫که‬ ‫کرد‬ ‫اشاره‬ ‫موارد‬ ‫این‬ ‫به‬ ‫توان‬Crossover‫خاصیت‬‫جستجوگرانه‬‫و‬‫یا‬
explorative‫دارد‬.‫می‬‫تواند‬‫با‬‫انجام‬‫پرش‬‫های‬‫بزرگ‬‫به‬‫محل‬‫هائی‬‫دربین‬‫والدین‬‫رفته‬‫و‬‫نواحی‬‫جدیدی‬‫را‬
‫کشف‬‫نماید‬‫که‬ ‫حالی‬ ‫در‬Mutation‫خاصیت‬‫گسترشی‬‫و‬‫یا‬exploitive‫دارد‬.‫می‬‫تواند‬‫با‬‫انجام‬‫تغییرات‬
‫کوچک‬‫تصادفی‬‫به‬‫نواحی‬‫کشف‬‫شده‬‫وسعت‬‫ببخشد‬.‫همچنین‬Crossove‫اطالعات‬‫والدین‬‫را‬‫ترکیب‬‫می‬‫کند‬
‫درحالیکه‬mutation‫می‬‫تواند‬‫اطالعات‬‫جدیدی‬‫اضافه‬‫نماید‬.
‫جمعیت‬ ‫ایجاد‬ ‫نحوه‬
‫مراحل‬‫ایجاد‬‫یک‬‫جمعیت‬‫جدید‬‫بصورت‬‫زیر‬‫است‬:
۱.: select‫تعداد‬r)p-(1‫فرضیه‬‫از‬‫میان‬P‫انتخاب‬‫و‬‫به‬sP‫اضافه‬‫کنید‬.‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬ih
‫از‬‫میان‬P‫عبارت‬‫است‬‫از‬:
P(hi) = Fitness (hi) / Σj Fitness (hj)
‫هر‬‫چه‬‫تناسب‬‫فرضیه‬‫ای‬‫بیشتر‬‫باشد‬‫احتمال‬‫انتخاب‬‫آن‬‫بیشتر‬‫است‬.‫این‬‫احتمال‬‫همچنین‬‫با‬‫مقدار‬‫تناسب‬
‫فرضیه‬‫های‬‫دیگر‬‫نسبت‬.‫دارد‬ ‫عکس‬
2.: Crossover‫با‬‫استفاده‬‫از‬‫احتمال‬‫بدست‬‫آمده‬‫توسط‬‫رابطه‬،‫فوق‬‫تعداد‬(rp)/2‫زوج‬‫فرضیه‬‫از‬‫میان‬P
‫ا‬‫نتخاب‬‫و‬‫با‬‫استفاده‬‫از‬‫اپراتور‬Crossover‫دو‬‫فرزند‬‫از‬‫آنان‬‫ایجاد‬‫کنید‬.‫فرزندان‬‫را‬‫به‬sP‫اضافه‬‫کنید‬.
3.: Mutate‫تعداد‬m‫درصد‬‫از‬‫اعضا‬sP‫را‬‫با‬‫احتمال‬‫یکنواخت‬‫انتخاب‬‫و‬‫یک‬‫بیت‬‫از‬‫هر‬‫یک‬‫آنها‬‫را‬‫بصورت‬
‫تصادفی‬‫معکوس‬‫کنید‬.
4.:UpdatesPP
9.‫برای‬‫هر‬‫فرضیه‬h‫در‬P‫مقدار‬‫تابع‬Fitness‫را‬‫محاسبه‬‫کنید‬.
11 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫انتخاب‬‫فرضیه‬‫ها‬
۱-Roulette Wheel selection
2-Tournament selection
3-rank selection
‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬Roulette Wheel selection.‫پردازیم‬ ‫می‬
‫در‬‫روش‬‫معرفی‬‫شده‬‫در‬‫الگوریتم‬‫ساده‬GA‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬‫برای‬‫استفاده‬‫در‬‫جمعیت‬‫بعدی‬‫بستگی‬
‫به‬‫نسبت‬fitness‫آن‬‫به‬fitness‫بقیه‬‫اعضا‬‫دارد‬.‫این‬‫روش‬Roulette Wheel selection‫نامیده‬‫میشود‬.
P(hi) = Fitness (hi) / Σj Fitness (hj)
:‫داریم‬ ‫مثال‬ ‫برای‬
‫جستجوی‬ ‫تفاوت‬GA‫روش‬ ‫با‬‫دیگر‬ ‫های‬
‫روش‬‫جستجوی‬GA‫با‬‫روشهای‬‫دیگر‬‫مثل‬‫شبکه‬‫های‬‫عصبی‬‫تفاوت‬‫دارد‬.‫در‬‫شبکه‬‫عصبی‬‫روش‬Gradient
descent‫بصورت‬‫هموار‬‫از‬‫فرضیه‬‫ای‬‫به‬‫فرضیه‬‫مشابه‬‫دیگری‬‫حرکت‬‫می‬‫کند‬‫در‬‫حالی‬‫که‬GA‫ممکن‬‫است‬
‫بصورت‬‫ناگهانی‬‫فرضیه‬‫والد‬‫را‬‫با‬‫فرزندی‬‫جایگزین‬‫نماید‬‫که‬‫تفاوت‬‫اساسی‬‫با‬‫والد‬‫آن‬‫داشته‬‫باشد‬.‫از‬‫این‬‫رو‬‫احتمال‬
‫گیر‬‫افتادن‬GA‫در‬‫مینیمم‬‫محلی‬‫کاهش‬‫می‬‫یابد‬.‫با‬‫این‬‫وجود‬GA‫با‬‫مشکل‬‫دیگری‬‫روبروست‬‫که‬crowding
‫نامیده‬‫می‬‫شود‬.
A
C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
11 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
Crowding
Crowding‫پدیده‬‫سازگ‬ ‫که‬ ‫عضوی‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫ای‬‫اری‬‫به‬ ‫دارد‬ ‫جمعیت‬ ‫افراد‬ ‫بقیه‬ ‫از‬ ‫بیشتری‬ ‫بسیار‬‫م‬ ‫طور‬‫رتب‬
‫تولی‬ ‫با‬ ‫و‬ ‫کرده‬ ‫نسل‬ ‫تولید‬‫عمده‬ ‫درصد‬ ‫مشابه‬ ‫اعضای‬ ‫د‬‫می‬ ‫اشغال‬ ‫را‬ ‫جمعیت‬ ‫از‬ ‫ای‬.‫کند‬‫این‬‫کار‬‫باعث‬‫کاهش‬
‫پراکندگی‬‫جمعیت‬‫شده‬‫و‬‫سرعت‬GA‫را‬‫کم‬‫می‬‫کند‬.
‫با‬ ‫خوشبختانه‬ ‫اما‬‫استفاده‬‫از‬ranking‫برای‬‫انتخاب‬‫نمونه‬‫ها‬،‫با‬‫اختصاص‬‫رتبه‬‫به‬‫فرضیه‬‫ای‬‫که‬‫بسیار‬‫بهتر‬‫از‬
‫بقیه‬‫عمل‬‫می‬‫کند‬‫مقدار‬‫این‬‫برتری‬،‫نشان‬‫داده‬‫نخواهد‬‫شد‬‫کمک‬ ‫به‬ ‫سپس‬ .Fitness sharing‫مقدار‬Fitness
‫می‬ ‫کاهش‬ ‫باشند‬ ‫داشته‬ ‫وجود‬ ‫جمعیت‬ ‫در‬ ‫مشابهی‬ ‫اعضا‬ ‫صورتیکه‬ ‫در‬ ‫عضو‬ ‫یک‬.‫یابد‬
Genetic Programming
‫تکنیکی‬‫است‬‫که‬‫کامپیوترها‬‫را‬‫قادر‬‫می‬‫سازد‬‫تا‬‫به‬‫حل‬‫مسائل‬‫بپردازند‬‫بدون‬‫آنکه‬‫بطور‬‫صریح‬‫برای‬‫آن‬‫برنامه‬
‫ریزی‬‫شده‬‫باشند‬.GP‫روشی‬‫از‬‫الگوریتمهای‬‫تکاملی‬‫است‬‫که‬‫در‬‫آن‬‫هرعضو‬‫جمعیت‬‫یک‬‫برنامه‬‫کامپیوتری‬‫است‬.
‫برنامه‬‫ها‬‫اغلب‬‫ب‬‫ه‬‫توسط‬‫یک‬‫درخت‬‫نمایش‬‫داده‬‫شده‬‫و‬‫اجرای‬‫برنامه‬‫برابر‬‫است‬‫با‬pars‫کردن‬‫درخت‬.
F = sin(x) + sqrt( x^2 + y) +
‫برای‬‫استفاده‬‫از‬GP‫در‬‫یک‬‫زمینه‬،‫خاص‬‫می‬‫بایست‬‫توابع‬‫پایه‬‫ای‬‫که‬‫در‬‫آن‬‫زمینه‬‫مورد‬‫نیاز‬‫هستند‬‫نظیر‬
sin, cos, sqrt, +, -, etc‫توسط‬‫کاربر‬‫تعریف‬‫شوند‬.‫همچنین‬‫ترمینال‬‫ها‬‫نظیر‬‫متغیرها‬‫و‬‫ثوابت‬‫نیز‬‫باید‬
‫مشخص‬‫شوند‬.‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫در‬‫الگوریتم‬GP‫در‬‫فضای‬‫بسیار‬‫بزرگ‬‫برنامه‬‫هائی‬‫که‬‫توسط‬‫این‬‫مقادیر‬
‫اولیه‬‫قابل‬‫بیان‬‫هستند‬‫یک‬‫عمل‬‫جستجوی‬‫تکاملی‬‫را‬‫انجام‬‫خو‬‫ا‬‫هد‬‫داد‬.
sin
x
sqrt
+
y^
x 2
12 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫اپراتور‬crossover‫برای‬GP
‫کرد‬ ‫کار‬‫اپراتو‬crossover‫در‬GP‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫به‬‫شاخه‬‫هائی‬‫از‬‫یک‬‫درخت‬‫والد‬‫با‬‫شاخه‬‫هائی‬‫از‬
‫درخت‬‫والد‬‫دیگر‬‫بطور‬‫تصادفی‬‫عوض‬‫می‬‫شوند‬.
‫اعمال‬ ‫از‬ ‫بعد‬crossover
parents
+
sin
x
^
2 +
x y
+
sin
x
sqrt
+
y^
x 2
children
+
sin
x
^
2 ^
x y
+
sin
x
sqrt
+
y+
x
2
13 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫قضیه‬Schema
‫قضیه‬Schema‫بیان‬‫می‬‫کند‬‫که‬‫چگونه‬‫یک‬Schema‫در‬‫طول‬‫زمان‬‫در‬‫جمعیت‬‫تکامل‬‫پیدا‬‫خواهد‬‫کرد‬.
‫فرض‬‫کنید‬‫که‬‫در‬‫لحظه‬t‫تعداد‬‫نمونه‬‫هائی‬‫که‬‫نماینده‬‫یک‬Schema‫مثل‬s‫هستند‬‫برابر‬‫با‬m(s,t)‫باشد‬.
‫این‬‫قضیه‬‫مقدار‬‫مورد‬‫انتظار‬m(s,t+1)‫را‬‫مشخص‬‫می‬‫کند‬.‫قبال‬‫دیدیم‬‫که‬‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬‫برابر‬‫بود‬
‫با‬:
)jFitness (hj) / Σi) = Fitness (hiP(h
‫این‬‫مقدار‬‫احتمال‬‫را‬‫می‬‫توان‬‫بصورت‬‫زیر‬‫نیز‬‫نشان‬‫داد‬:
)i) / n f’ (ti) = f (hiP(h
‫اگر‬‫عضوی‬‫از‬‫این‬‫جمعیت‬‫انتخاب‬‫شود‬‫احتمال‬‫اینکه‬‫این‬‫عضو‬‫نماینده‬S‫باشد‬‫برابر‬‫است‬‫با‬:
‫که‬‫در‬‫آن‬‫مقدار‬u(s,t)‫برابر‬‫است‬‫با‬‫مقدار‬‫میانگین‬fitness‫اعضای‬s:
‫از‬‫این‬‫رو‬‫مقدار‬‫مورد‬‫انتظار‬‫برای‬‫نمونه‬‫هائی‬‫از‬s‫که‬‫از‬n‫مرحله‬‫انتخاب‬‫مستقل‬‫حاصل‬‫خواهند‬‫شد‬‫برابر‬‫است‬
‫با‬:
‫رابطه‬‫فوق‬‫به‬‫این‬‫معناست‬‫که‬‫تعداد‬Schema‫های‬‫مورد‬‫انتظار‬‫در‬‫لحظه‬t+1‫متناسب‬‫با‬‫مقدار‬‫میانگین‬u(s,t)
‫بوده‬‫و‬‫با‬‫مقدار‬fitness‫سایر‬‫اعضا‬‫نسبت‬‫عکس‬‫دارد‬.
‫برای‬‫بدست‬‫آوردن‬‫رابطه‬‫فوق‬‫فقط‬‫اثر‬‫مرحله‬‫انتخاب‬‫نمونه‬‫ها‬‫در‬‫نظر‬‫گرفته‬‫شده‬‫است‬.‫با‬‫در‬‫نظر‬‫گرفتن‬‫اثر‬
crossover‫و‬Mutation‫به‬‫رابطه‬‫زیر‬‫خواهیم‬‫رسید‬:
   
   
),(
),(
tsm
p tfn
tsu
tfn
hf
shp
s
sh




),(
)(
),(
tsm
p
hf
tsu s
sh



 
),(
),(
)]1,([ tsm
tf
tsu
tsmE 

14 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
m(s, t)number of instances of schema s in population at time t
cpprobability of single point crossover operator
mpprobability of mutation operator
llength of individual bit strings
o(s)number of defined (non “*”) bits in s
d(s)distance between rightmost, leftmost defined bits in s
 
  )(
1
1
)(
1),(
),(
)]1,([
so
mc
pp l
sd
tsm
tf
tsu
tsmE 






 
15 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫یک‬Schema‫اطالعات‬‫مفید‬‫و‬‫امید‬‫بخش‬‫موجود‬‫در‬‫جمعیت‬‫را‬‫کد‬‫می‬‫کند‬.
‫از‬‫آن‬‫جا‬‫یی‬‫که‬‫همواره‬‫رشته‬‫هائی‬‫که‬‫سازگارترند‬‫شانس‬‫بیشتری‬‫برای‬‫انتخاب‬‫شدن‬،‫دارند‬‫بتدریج‬‫مثال‬‫های‬
‫بیشتری‬‫به‬‫بهترین‬Schema‫ها‬‫اختصاص‬‫یابند‬ ‫می‬.
‫عمل‬crossover‫باعث‬‫قطع‬‫رشته‬‫ها‬‫در‬‫نقاط‬‫تصادفی‬‫می‬‫شو‬.‫د‬‫با‬‫این‬‫وجود‬‫در‬‫صورتی‬‫که‬‫این‬‫کار‬‫باعث‬‫قطع‬
Schema‫نشده‬‫باشد‬‫آنرا‬‫تغییر‬‫نخواهد‬‫داد‬.‫در‬‫حالت‬‫کلی‬Schema‫های‬‫با‬‫طول‬‫کوتاه‬‫کمتر‬‫تغییر‬‫می‬‫کنند‬.
‫که‬ ‫داشت‬ ‫خاطر‬ ‫در‬ ‫باید‬‫عمل‬mutaion‫در‬‫حالت‬‫کلی‬‫باعث‬‫تغییرات‬‫موثر‬‫در‬Schema‫نمی‬‫گردد‬.
‫دو‬‫ژنتیک‬ ‫علم‬ ‫در‬ ‫نظریه‬
‫نظریه‬lamarck
lamarck‫دانشمند‬‫قرن‬‫نوزدهم‬‫فرضیه‬‫ای‬‫ارائه‬‫کرده‬‫که‬‫طبق‬‫آن‬‫تجربیات‬‫یک‬‫موجود‬‫زنده‬‫در‬‫ترکیب‬‫ژنتیکی‬
‫فرزندان‬‫آن‬‫تاثیر‬‫می‬‫گذارد‬.‫برای‬‫مثال‬‫موجودی‬‫که‬‫یاد‬‫گرفته‬‫از‬‫غذای‬‫سمی‬‫پرهیز‬‫کند‬‫این‬‫ویژگی‬‫را‬‫بصورت‬
‫ژنتیکی‬‫به‬‫فرزندان‬‫خود‬‫منتقل‬‫می‬‫نماید‬‫تا‬‫آنها‬‫دیگر‬‫مجبور‬‫به‬‫یادگیری‬‫این‬‫پدیده‬‫نباشند‬.
‫اما‬‫شواهد‬‫تجربی‬‫این‬‫نظر‬‫را‬‫تائید‬‫نمی‬‫کنند‬‫یعنی‬‫تجربیات‬‫فردی‬‫هیچ‬‫تاثیری‬‫در‬‫ترکیب‬‫ژنتیکی‬‫فرزندان‬‫ندارد‬.
‫نظریه‬Baldwin
‫اگر‬‫موجودی‬‫از‬‫طرف‬‫محیط‬‫متغیری‬‫تحت‬‫فشار‬‫قرار‬‫گرفته‬،‫باشد‬‫افرادی‬‫که‬‫توانائی‬‫یادگیری‬‫نحوه‬‫برخورد‬‫با‬
‫شرایط‬‫را‬‫داشته‬‫باشند‬‫شانس‬‫بیشتری‬‫برای‬‫بقا‬‫دارند‬.
‫موجوداتی‬‫که‬‫تحت‬‫شرایط‬‫جدید‬‫باقی‬‫می‬‫مانند‬‫جمعیتی‬‫با‬‫توانائی‬‫یادگیری‬‫را‬‫تشکیل‬‫می‬‫دهند‬‫که‬‫فرایندهای‬
‫تکاملی‬‫در‬‫آنها‬‫سریعتر‬‫رخ‬‫می‬‫دهد‬‫و‬‫باعث‬‫می‬‫شود‬‫تا‬‫نسلی‬‫بوجود‬‫بیاید‬‫که‬‫نیازی‬‫به‬‫یادگیری‬‫مواجهه‬‫با‬‫شرایط‬
‫جدید‬‫را‬‫نداشته‬‫باشند‬.
2‫مثال‬
‫می‬ ‫نتیک‬ ‫الگوریتم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مسئله‬ ‫چند‬ ‫حل‬ ‫به‬ ‫ادامه‬ ‫در‬.‫پردازیم‬
16 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
.‫کرد‬ ‫اشاره‬ ‫کروموزوم‬ ‫و‬ ‫ژن‬ ‫مفهموم‬ ‫به‬ ‫باید‬ ‫زیر‬ ‫مثال‬ ‫دو‬ ‫درک‬ ‫برای‬
‫سازنده‬ ‫واحد‬ ‫کوچکترین‬ ‫ژن‬GA‫می‬.‫باشد‬‫در‬‫حقیقت‬‫ژنها‬‫برای‬‫شکل‬ ‫نمایش‬‫کد‬‫شده‬‫پارامترها‬‫می‬‫باشد‬.‫به‬
‫رشته‬‫ای‬‫از‬،‫ژنها‬‫کروموزوم‬‫می‬‫گویند‬.‫برای‬‫مثال‬‫وقتی‬‫متغیر‬x‫را‬‫به‬‫صورت‬‫باینری‬‫کد‬‫می‬،‫کنیم‬‫هر‬" 0"‫یا‬
" 1"‫یک‬‫ژن‬‫محسوب‬‫می‬‫شود‬‫و‬‫به‬‫رشته‬‫ای‬‫از‬‫این‬" 0”‫و‬"۱"‫متغییر‬ ‫که‬ ‫ها‬x‫حقیقت‬ ‫در‬ ‫و‬ ‫سازند‬ ‫می‬ ‫را‬
.‫گوییم‬ ‫می‬ ‫کروموزوم‬ ،‫متغییرند‬ ‫شده‬ ‫کد‬ ‫شکل‬
‫مثال‬1
: ‫مساله‬
‫مربع‬ ‫یک‬ ‫ما‬3×3‫می‬ ‫که‬ ‫داریم‬‫بین‬ ‫اعدادی‬ ‫خواهیم‬۱‫تا‬۱9‫جمع‬ ‫که‬ ‫طوری‬ ‫به‬ ‫دهیم‬ ‫قرار‬ ‫مربع‬ ‫این‬ ‫در‬ ‫را‬
‫سطر‬ ‫هر‬ ‫در‬ ‫اعداد‬‫برابر‬ ‫ستون‬ ‫و‬24.‫شود‬
‫گاه‬ ‫هیچ‬ ‫ولی‬ ‫کند‬ ‫حل‬ ‫مشخص‬ ‫زمانی‬ ‫مدت‬ ‫در‬ ‫را‬ ‫آن‬ ‫بتواند‬ ‫انسان‬ ‫یک‬ ‫است‬ ‫ممکن‬ .‫است‬ ‫پیچیده‬ ‫حدودی‬ ‫تا‬ ‫مسئله‬ ‫این‬
‫الگوریتم‬ ‫ولی‬ .‫کند‬ ‫حل‬ ‫تصادفی‬ ‫اعداد‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫کوتاهی‬ ‫زمان‬ ‫مدت‬ ‫در‬ ‫را‬ ‫آن‬ ‫توانست‬ ‫نخواهد‬ ‫کامپیوتر‬ ‫یک‬
‫ژنتیک‬‫می‬‫تواند‬‫این‬‫مشکل‬‫را‬‫حل‬‫کند‬.
‫اول‬ ‫نسل‬
‫ایج‬ ‫گام‬ ‫اولین‬‫صورت‬ ‫به‬ ‫ها‬ ‫ژنوم‬ ‫این‬ .‫است‬ ‫تصادفی‬ ‫ژنوم‬ ‫تعدادی‬ ‫شامل‬ ‫که‬ ‫است‬ ‫کار‬ ‫شروع‬ ‫برای‬ ‫ابتدایی‬ ‫نسل‬ ‫یک‬ ‫کردن‬ ‫اد‬
‫باینری‬(۰‫و‬۱‫می‬ ‫داده‬ ‫نشان‬ ).‫شوند‬
‫یک‬ ‫اول‬‫می‬ ‫تولید‬ ‫تصادفی‬ ‫صورت‬ ‫به‬ ‫عدد‬ ‫سری‬‫کروموزوم‬ ‫یا‬ ‫ژنوم‬ ‫هر‬ .‫شوند‬‫شامل‬‫اطالعاتی‬‫برای‬‫هر‬5‫جای‬‫خالی‬‫است‬.
‫چون‬‫ا‬‫اع‬ ‫ین‬‫بین‬ ‫مقادیر‬ ‫داد‬۰‫تا‬۱9‫می‬ ‫دارند‬‫با‬ ‫را‬ ‫آنها‬ ‫توان‬4‫شامل‬ ‫ژنوم‬ ‫هر‬ ‫پس‬ .‫داد‬ ‫نمایش‬ ‫داده‬ ‫ژن‬ ‫یا‬ ‫بیت‬33
.‫است‬ ‫بیت‬
:‫باشد‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫تواند‬ ‫می‬ ‫ژنوم‬ ‫نمونه‬ ‫یک‬
Bits (Genes) 0110 1100 1111 1011 0100۱۰۱۰۰۱۱۱۰۱۰۱۱۱۱۰
Values(Traits) 6 12 15 114۱۰79۱4
17 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫تناسب‬ ‫عدد‬ ‫یک‬ ‫مجموعه‬ ‫در‬ ‫ژنوم‬ ‫هر‬ ‫به‬ ‫باید‬ ‫حاال‬(Fitness‫روش‬ ‫و‬ ‫فرآیند‬ .‫داد‬ ‫نسبت‬ ‫مسئله‬ ‫حل‬ ‫در‬ ‫آن‬ ‫تاثیر‬ ‫بنابر‬ )
‫محاس‬‫می‬ ‫فرق‬ ‫مسئله‬ ‫هر‬ ‫برای‬ ‫عدد‬ ‫این‬ ‫به‬‫مشکل‬ ‫مسئله‬ ‫برای‬ ‫مناسب‬ ‫الگوی‬ ‫انتخاب‬ .‫کند‬‫حساس‬ ‫و‬ ‫ترین‬‫بخش‬ ‫ترین‬
‫ژنتیک‬ ‫مسئله‬ ‫حل‬ ‫در‬‫اعدا‬ ‫ما‬ ‫مثال‬ ‫دراین‬ .‫است‬‫می‬ ‫جایگذاری‬ ‫هایشان‬ ‫مکان‬ ‫در‬ ‫را‬ ‫د‬‫می‬ ‫بررسی‬ ‫و‬ ‫کنیم‬‫که‬ ‫کنیم‬
.‫دارند‬ ‫فاصله‬ ‫اصلی‬ ‫جواب‬ ‫با‬ ‫چقدر‬
33=
25=
26=
=33
=25
=26
۱9
۱23
۱۰4۱۱
۱497
= = =
24 21 39
18 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫از‬ ‫عبارتند‬ ‫معادل‬ ‫مقادیر‬33‫و‬29‫و‬23‫و‬24‫و‬2۱‫و‬35.‫اس‬ ‫واضح‬‫نمی‬ ‫حل‬ ‫را‬ ‫مسئله‬ ‫مقادیر‬ ‫این‬ ‫که‬ ‫ت‬‫مقادیر‬ ‫باید‬ ‫پس‬ .‫کنند‬
‫از‬ ‫را‬ ‫هرمجموع‬ ‫فاصله‬ ‫ابتدا‬ ‫کار‬ ‫این‬ ‫برای‬ .‫کرد‬ ‫محاسبه‬ ‫ژنوم‬ ‫این‬ ‫برای‬ ‫را‬ ‫تناسب‬24‫معکوس‬ ‫سپس‬ ،‫کرده‬ ‫محاسبه‬
‫تفاصل‬ ‫مجموع‬‫می‬ ‫محاسبه‬ ‫را‬ ‫آنها‬. ‫کنیم‬
‫تن‬ ‫درجه‬ ‫بنابراین‬‫برابر‬ ً‫ا‬‫تقریب‬ ‫ژنوم‬ ‫این‬ ‫برای‬ ‫اسب‬۰3۰33‫تناسب‬ ‫عدد‬ ‫باشند‬ ‫نزدیکتر‬ ‫جواب‬ ‫به‬ ‫ما‬ ‫اعداد‬ ‫که‬ ‫هرچقدر‬ .‫است‬
‫برابر‬ ‫ما‬ ‫مخرج‬ ‫اگر‬ ‫اما‬ .‫شد‬ ‫خواهد‬ ‫بزرگتر‬۰‫برابر‬ ‫ما‬ ‫اعداد‬ ‫همه‬ ‫صورت‬ ‫دراین‬ ‫افتد؟‬ ‫می‬ ‫اتفاقی‬ ‫چه‬ ‫شود‬24‫اند‬ ‫شده‬
.‫ایم‬ ‫رسیده‬ ‫جواب‬ ‫به‬ ‫ما‬ ‫و‬
‫بعدی‬ ‫نسل‬
‫تصادف‬ ‫طور‬ ‫به‬ ‫ژنوم‬ ‫دو‬‫ی‬‫می‬ ‫انتخاب‬ ‫بعدی‬ ‫نسل‬ ‫تولید‬ ‫برای‬‫از‬ ‫که‬ ‫است‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫بخش‬ ‫ترین‬ ‫اصلی‬ ‫این‬ .‫شوند‬3
:‫شده‬ ‫تشکیل‬ ‫مرحله‬
‫انتخاب‬
‫صفات‬ ‫بعضی‬ ‫و‬ ‫هستند‬ ‫بزرگتری‬ ‫تناسب‬ ‫اعداد‬ ‫دارای‬ ‫ها‬ ‫ژنوم‬ ‫این‬ .‫شوند‬ ‫می‬ ‫انتخاب‬ ‫قبل‬ ‫نسل‬ ‫از‬ ‫تصادفی‬ ‫طور‬ ‫به‬ ‫ژنوم‬ ‫دو‬
‫آنها‬‫م‬ ‫منتقل‬ ‫بعدی‬ ‫نسل‬ ‫به‬‫ی‬‫معنی‬ ‫بدین‬ ‫این‬ .‫شوند‬.‫بود‬ ‫خواهد‬ ‫افزایش‬ ‫حال‬ ‫در‬ ‫تناسب‬ ‫عدد‬ ‫که‬ ‫است‬
(‫انتخاب‬ ‫تابع‬ ‫برای‬ ‫روش‬ ‫بهترین‬Fitness(‫رولت‬ ‫نام‬ ‫به‬ ‫روشی‬ ‫مسئله‬ ‫این‬ ‫در‬ )Roulette‫تصادفی‬ ‫عدد‬ ‫یک‬ ‫اول‬ .‫است‬ )
‫بین‬۰:‫بود‬ ‫خواهد‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫انتخاب‬ ‫تابع‬ .‫شود‬ ‫می‬ ‫انتخاب‬ ‫قبلی‬ ‫نسل‬ ‫تناسب‬ ‫عدد‬ ‫و‬
RouletteSelection()
{
);float ball = rand_float_between(0.0, total_fitness
;float slice = 0.0
for each genome in population
19 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
{
;slice += genome. fitness
if ball<slice
;return genome
}
}
(‫بعدی‬ ‫نسل‬ ‫به‬ ‫نسل‬ ‫یک‬ ‫از‬ ‫تغییر‬Cross over)
‫دو‬ ‫حاال‬‫ژن‬ ‫از‬ ‫بخشی‬ ‫ژنوم‬‫هایشان‬‫می‬ ‫اهدا‬ ‫بعدی‬ ‫نسل‬ ‫ایجاد‬ ‫برای‬ ‫را‬‫به‬ ‫تغییر‬ ‫بی‬ ‫همانطور‬ ‫نکنند‬ ‫پیدا‬ ‫تغییر‬ ‫آنها‬ ‫اگر‬ .‫کنند‬
‫درجه‬ .‫شد‬ ‫خواهند‬ ‫منتقل‬ ‫بعدی‬ ‫نسل‬Crossover‫یک‬ ‫وقت‬ ‫چند‬ ‫هر‬ ‫که‬ ‫است‬ ‫این‬ ‫دهنده‬ ‫نشان‬‫تغییر‬ ‫ها‬ ‫ژنوم‬ ‫بار‬
‫حدود‬ ‫در‬ ‫باید‬ ‫عدد‬ ‫این‬ ‫و‬ ‫کرد‬ ‫خواهند‬ ‫پیدا‬39-59%.‫باشد‬
‫تص‬ ‫مکان‬ ‫یک‬ ‫انتخاب‬ ‫با‬ ‫ما‬ ‫مثال‬ ‫باینری‬ ‫های‬ ‫ژنوم‬ ‫در‬ ‫تغییر‬ ‫عملگر‬‫می‬ ‫آغاز‬ ‫تغییر‬ ‫برای‬ ‫ژنوم‬ ‫در‬ ‫ادفی‬‫ژن‬ ‫اول‬ ‫بخش‬ .‫شود‬
‫ژن‬ ‫دوم‬ ‫بخش‬ ‫و‬ ‫پدر‬ ‫های‬‫می‬ ‫ترکیب‬ ‫هم‬ ‫با‬ ‫مادر‬ ‫های‬‫تا‬ )‫بالعکس‬ ‫شوند(و‬2‫تغییر‬ ‫عمل‬ ‫زیریک‬ ‫در‬ .‫شوند‬ ‫تولید‬ ‫فرزند‬
‫را‬‫می‬‫بینیم‬.
Before Crossing
Father 011110010011 001011011000111011010000
Mother 010100111110 010101111101000100010010
After Crossing
Child1 011110010011 010101111101000100010010
Child2 010100111110 001011011000111011010000
(‫جهش‬Mutation)
21 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫احتمال‬ ،‫بگیرند‬ ‫قرار‬ ‫بعدی‬ ‫نسل‬ ‫در‬ ‫ها‬ ‫ژنوم‬ ‫که‬ ‫این‬ ‫از‬ ‫قبل‬‫دچا‬ ‫دارد‬‫شوند‬ ‫ناگهانی‬ ‫تغییر‬ ‫یا‬ ‫جهش‬ ‫ر‬‫تغییر‬ ‫یک‬ ‫جهش‬ .
‫از‬ ‫بیت‬ ‫یک‬ ‫تغییر‬ ‫معنای‬ ‫به‬ ‫تغییر‬ ‫این‬ ‫باینری‬ ‫ژنهای‬ ‫در‬ .‫است‬ ‫ژن‬ ‫در‬ ‫ناگهانی‬۰‫به‬۱‫از‬ ‫یا‬۱‫به‬۰‫جهش‬ ‫درجه‬ .‫است‬
‫بین‬ ً‫ا‬‫تغریب‬ ‫و‬ ‫است‬ ‫ژن‬ ‫یک‬ ‫در‬ ‫جهش‬ ‫بروز‬ ‫احتمال‬ ‫دهنده‬ ‫نشان‬۱-9%‫و‬ ‫باینری‬ ‫ژنهای‬ ‫برای‬9-2۰%‫ژنهای‬ ‫برای‬
‫اس‬ ‫عددی‬.‫ت‬
‫مثال‬2
‫معروف‬ ‫مسئله‬ ‫کنیم‬ ‫بررسی‬ ‫الگوریتم‬ ‫این‬ ‫با‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫دومی‬ ‫مسئله‬5.‫باشد‬ ‫می‬ ‫وزیر‬
‫از‬ ‫چیدمانی‬ ‫کردن‬ ‫مشخص‬ ‫هدف‬5‫صفحه‬ ‫در‬ ‫وزیر‬‫ی‬‫هیچ‬ ‫که‬ ‫نحوی‬ ‫به‬ ‫است‬ ‫شطرنج‬.‫نکند‬ ‫تهدید‬ ‫را‬ ‫همدیگر‬ ‫یک‬
.‫کنیم‬ ‫تولید‬ ‫را‬ ‫اولیه‬ ‫نسل‬ ‫باید‬ ‫ابتدا‬‫شطرنج‬ ‫صفحه‬5‫در‬5‫اعداد‬ ‫با‬ ‫را‬ ‫ستونها‬ .‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬۰‫تا‬7‫را‬ ‫سطرها‬ ‫و‬
‫از‬ ‫هم‬۰‫تا‬7‫می‬ ‫مشخص‬‫و‬ ‫تصادفی‬ ‫بصورت‬ ‫اولیه‬ )‫(کروموزومها‬ ‫حاالت‬ ‫تولید‬ ‫برای‬ .‫کنیم‬‫ستونهای‬ ‫در‬ ‫را‬ ‫زیرها‬
‫می‬ ‫قرار‬ ‫مختلف‬‫افزایش‬ ‫را‬ ‫جواب‬ ‫به‬ ‫رسیدن‬ ‫سرعت‬ ‫بهتر‬ ‫شرایط‬ ‫با‬ ‫اولیه‬ ‫نسل‬ ‫وجود‬ ‫که‬ ‫داشت‬ ‫نظر‬ ‫در‬ ‫باید‬ .‫دهیم‬
‫می‬‫وزیر‬ ‫خاطر‬ ‫همین‬ ‫به‬ )‫نژاد‬ ‫(اصالت‬ ‫دهد‬i‫خانه‬ ‫در‬ ‫را‬ ‫ام‬‫ی‬‫ستون‬ ‫در‬ ‫تصادفی‬i‫می‬ ‫قرار‬ ‫ام‬‫اینکه‬ ‫جای‬ ‫(به‬ ‫دهیم‬
‫مهره‬ ‫هر‬‫ق‬ ‫خالی‬ ‫خانه‬ ‫هر‬ ‫در‬ ‫بتواند‬ ‫ای‬‫می‬ ‫جلوگیری‬ ‫وزیرها‬ ‫ستونی‬ ‫برخورد‬ ‫از‬ ‫حداقل‬ ‫اینکار‬ ‫با‬ .)‫بگیرد‬ ‫رار‬‫ت‬ .‫شود‬‫وضیح‬
‫در‬ ‫تصادفی‬ ‫بطور‬ ‫را‬ ‫اول‬ ‫وزیر‬ ً‫ال‬‫مث‬ ‫اینکه‬ ‫بیشتر‬‫خانه‬‫های‬‫با‬ ‫که‬ ‫اول‬ ‫ستون‬۰‫می‬ ‫قرار‬ ‫شده‬ ‫مشخص‬.‫اخر‬ ‫به‬ ‫تا‬ ‫دهیم‬
I=0,1,…7‫حالت‬ ‫هر‬ ‫دادیم‬ ‫قرار‬ ‫وزیر‬ ‫یک‬ ‫ستون‬ ‫هر‬ ‫در‬ ‫چون‬ .‫کرد‬ ‫مدل‬ ‫کمی‬ ‫نحوی‬ ‫به‬ ‫را‬ ‫حالت‬ ‫این‬ ‫باید‬ ‫حال‬
‫بوسیله‬ ‫را‬‫ی‬‫عدد‬ ‫که‬ ‫اعدادی‬ ‫رشته‬k‫شماره‬ ‫رشته‬ ‫این‬ ‫در‬ ‫ام‬‫ی‬‫ستون‬ ‫در‬ ‫موجود‬ ‫وزیر‬ ‫سطر‬i‫می‬ ‫نشان‬ ‫را‬ ‫ام‬.‫دهد‬
‫می‬ ‫کردیم‬ ‫انتخاب‬ ‫که‬ ‫حالت‬ ‫یک‬ ‫یعنی‬:‫باشد‬ ‫زیر‬ ‫بصورت‬ ‫تواند‬372۰3422‫که‬3‫شماره‬‫ی‬‫سطر‬3‫وزیر‬ ‫که‬ ‫است‬
‫شماره‬ ‫که‬ ‫اول‬‫ی‬‫ستونش‬۰‫می‬ ‫است‬‫کنید‬ ‫فرض‬ .‫اخر‬ ‫تا‬ ‫باشد‬4‫شده‬ ‫تولید‬ ‫تصادف‬ ‫به‬ ‫زیر‬ ‫حالت‬‫حالت‬ ‫چهار‬ ‫این‬ .‫اند‬
‫می‬ ‫بکار‬ ‫اولیه‬ ‫کروموزومهای‬ ‫بعنوان‬ ‫را‬‫گیریم‬.
۱.)372۰3422
2.)7۰۰33394
3.)۱7922۰33
4.)433۰247۱
‫تناسب‬ ‫تابع‬ ‫به‬ ‫نوبت‬ ‫حال‬fitness function‫می‬‫می‬ ‫نظر‬ ‫در‬ ‫که‬ ‫را‬ ‫تابعی‬ .‫رسد‬‫هر‬ ‫برای‬ ‫که‬ ‫است‬ ‫تابعی‬ ‫گیریم‬
‫می‬ ‫نظر‬ ‫در‬ ‫را‬ )‫(تهدیدها‬ ‫برخوردها‬ ‫تعداد‬ ‫حالت‬‫احتمال‬ ‫پس‬ .‫است‬ ‫تابع‬ ‫این‬ ‫کردن‬ ‫حداقل‬ ‫یا‬ ‫کردن‬ ‫صفر‬ ‫هدف‬ .‫گیرد‬
‫کروموزو‬ ‫انتخاب‬‫تابع‬ ‫توسط‬ ‫شده‬ ‫محاسبه‬ ‫مقدار‬ ‫که‬ ‫است‬ ‫بیشتر‬ ‫نسل‬ ‫تولید‬ ‫برای‬ ‫می‬‫تناسب‬‫کمت‬ ‫آن‬ ‫برای‬‫ر‬
‫مقدار‬ )‫دارد‬ ‫وجود‬ ‫انتخاب‬ ‫برای‬ ‫نیز‬ ‫دیگری‬ ‫باشد.(روشهای‬‫تناسب‬‫می‬ ‫زیر‬ ‫بصورت‬ ‫اولیه‬ ‫حاالت‬ ‫برای‬‫(مقدا‬ :‫باشد‬‫ر‬
‫عدد‬‫تناسب‬‫(با‬ ‫کروموزوم‬ ‫هر‬ ‫جلوی‬ ‫در‬‫قرمز‬ ‫رنگ‬‫می‬ ‫وزیران‬ ‫برخوردهای‬ ‫تعداد‬ ‫)همان‬)‫باشد‬
21 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
۱.)372۰342۰←3
2.)7۰۰33394←5
3.)۱7922۰33←2
4.)433۰247۱←4
:‫است‬ ‫زیر‬ ‫بصورت‬ ‫احتمالها‬ ‫پس‬
P(3)>p(4)>p(1)>p(2)
‫کرو‬ ‫اینجا‬ ‫در‬‫می‬ ‫انتخاب‬ ‫را‬ ‫موزومهایی‬‫که‬ ‫کنیم‬‫تناسب‬ ‫مقدار‬‫کروموزوم‬ ‫پس‬ .‫دارند‬ ‫کمتری‬3‫برای‬crossover
‫کروموزومهای‬ ‫با‬4‫و‬۱‫می‬ ‫انتخاب‬‫نقطه‬ .‫شود‬‫ی‬‫ارقام‬ ‫بین‬ ‫را‬ ‫ترکیب‬3‫و‬7‫می‬ ‫نظر‬ ‫در‬.‫گیریم‬
4‫و‬3:
۱.)۱7922۰7۱
2.)433۰2433
۱‫و‬3:
۱.)۱7922۰2۰
2.)372۰3433
‫می‬ ‫جهش‬ ‫به‬ ‫نوبت‬ ‫حال‬‫کند‬ ‫تغییر‬ ‫ژنها‬ ‫از‬ ‫یکی‬ ‫باید‬ ‫جهش‬ ‫در‬ .‫رسد‬
‫فرض‬ .‫کروموزومهای‬ ‫بین‬ ‫از‬ ‫کنید‬9‫تا‬5‫شماره‬ ‫کروموزوم‬‫ی‬7‫از‬ ‫چهارم‬ ‫ژن‬ ‫بین‬ ‫از‬ ‫و‬2‫به‬3‫نسل‬ ‫پس‬ .‫یابد‬ ‫جهش‬
‫می‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫امتیازات‬ ‫با‬ ‫زیر‬ ‫کروموزومهای‬ ‫شامل‬ ‫ما‬‫می‬ ‫برخوردها‬ ‫تعداد‬ ‫(امتیازات‬ :‫باشد‬)‫باشد‬
۱.)372۰342۰←3
2.)7۰۰33394←5
3.)۱7922۰33←2
4.)433۰247۱←4
9.)۱7922۰7۱←3
3.)433۰2433←4
7.)۱7932۰2۰←4
22 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
5.)372۰3433←9
‫کروموزوم‬3‫با‬ ‫ترکیب‬ ‫برای‬ ‫خوبی‬ ‫کاندیدای‬3‫و‬7‫می‬‫نقطه‬ ‫و‬ ‫نگیرد‬ ‫صورت‬ ‫جهشی‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫(فرض‬ .‫باشد‬‫ی‬
‫ژنهای‬ ‫بین‬ ‫اتصال‬۱‫و‬2)‫باشد‬
۱.)372۰342۰←3
2.)7۰۰33394←5
3.)۱7922۰33←2
4.)433۰247۱←4
9.)۱7922۰7۱←3
3.)433۰2433←4
7.)۱7932۰3۰←4
5.)372۰3433←9
5.)۱33۰2433←2
۱۰.)47922۰33←2
۱۱.)۱7922۰2۰←4
۱2.)۱7922۰33←2
‫از‬ ‫کروموزومهای‬5‫تا‬۱2‫می‬ ‫جدید‬ ‫نسل‬ ‫را‬‫کروموزوم‬ ‫مشخص‬ ‫بطور‬ .‫گوییم‬‫جواب‬ ‫به‬ ‫جدید‬ ‫نسل‬ ‫در‬ ‫شده‬ ‫تولید‬ ‫های‬
‫شده‬ ‫نزدیکتر‬ ‫مسئله‬‫ادامه‬ ‫با‬ .‫اند‬‫ی‬‫ن‬ ‫مورد‬ ‫جواب‬ ‫به‬ ‫مرحله‬ ‫چند‬ ‫از‬ ‫پس‬ ‫روند‬ ‫همین‬.‫رسید‬ ‫خواهیم‬ ‫ظر‬
23 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫باال‬ ‫شکل‬‫می‬ ‫نشان‬ ‫شما‬ ‫به‬ ‫را‬ ‫الگوریتم‬ ‫این‬ ‫عملکرد‬ ٔ‫ه‬‫نحو‬ ‫از‬ ‫کلی‬ ‫شمای‬.‫دهد‬
: ‫باید‬ ‫نهایت‬ ‫در‬
‫کاری‬ ‫چه‬ ‫باید‬ ‫گردد‬ ‫معنی‬ ‫بی‬ ‫های‬ ‫فرضیه‬ ‫به‬ ‫منجر‬ ‫ها‬ ‫بیت‬ ‫از‬ ‫بعضی‬ ‫ترکیب‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫مشکل‬ ‫این‬ ‫حل‬ ‫برای‬
‫داد؟‬ ‫انجام‬
‫می‬‫توان‬‫از‬‫روش‬‫انکدینگ‬‫دیگری‬‫استفاده‬‫نمود‬.‫ا‬ ‫یا‬‫پراتورهای‬‫ژنتیکی‬‫را‬‫طوری‬‫تعیین‬‫نمود‬‫که‬‫چنین‬‫حالتهائی‬
‫را‬‫حذف‬‫نمایند‬‫می‬ ‫همچنین‬ ‫و‬‫توان‬‫به‬‫این‬‫فرضیه‬‫ها‬‫مقدار‬fitness‫خیلی‬‫کمی‬‫نسبت‬‫داد‬.
24 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬
‫منابع‬
۱.https://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D9%88%D8%
B1%DB%8C%D8%AA%D9%85_%DA%98%D9%86%D8%AA%DB%8C
%DA%A9
2.http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&
cd=4&ved=0ahUKEwjTkvKF3fLJAhVB44MKHccpAYkQFgg6MAM&url
=http%3A%2F%2Fceit.aut.ac.ir%2F~shiry%2Flecture%2FDSS%2FGA.ppt
&usg=AFQjCNGJEmoV68oTejxF9KCAFernYdWaJQ&bvm=bv.11015184
a4,d.eWE&cad=rj
3.algorithms.html-http://www.beytoote.com/scientific/midanid/genetic
4.

More Related Content

Viewers also liked (17)

BROCHURE INGLES 5 FUEGOS
BROCHURE INGLES 5 FUEGOSBROCHURE INGLES 5 FUEGOS
BROCHURE INGLES 5 FUEGOS
 
Zohiogchiin erh
Zohiogchiin erhZohiogchiin erh
Zohiogchiin erh
 
Resume Mackey
Resume MackeyResume Mackey
Resume Mackey
 
China KMR Bearing Manufacturer
China KMR Bearing ManufacturerChina KMR Bearing Manufacturer
China KMR Bearing Manufacturer
 
aplicación de la ciencia y la tecnologia
aplicación de la ciencia y la tecnologiaaplicación de la ciencia y la tecnologia
aplicación de la ciencia y la tecnologia
 
Práctica pedagogía tablas
Práctica pedagogía tablasPráctica pedagogía tablas
Práctica pedagogía tablas
 
Presentacion resultados
Presentacion resultadosPresentacion resultados
Presentacion resultados
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Actividad de "el solitario"
Actividad de "el solitario" Actividad de "el solitario"
Actividad de "el solitario"
 
Diplo piura ods
Diplo piura odsDiplo piura ods
Diplo piura ods
 
Ali Agha
Ali AghaAli Agha
Ali Agha
 
Inzo Profile Small
Inzo Profile SmallInzo Profile Small
Inzo Profile Small
 
Resume
ResumeResume
Resume
 
Plan de negocios
Plan de negociosPlan de negocios
Plan de negocios
 
Pablo escobar-paula
Pablo escobar-paulaPablo escobar-paula
Pablo escobar-paula
 
Genetic Algoritm
Genetic AlgoritmGenetic Algoritm
Genetic Algoritm
 
Mantenimiento de una computadora copia
Mantenimiento de una computadora   copiaMantenimiento de una computadora   copia
Mantenimiento de una computadora copia
 

Similar to الگوریتم ژنتیک

An introduction to genetic algorithms
An introduction to genetic algorithmsAn introduction to genetic algorithms
An introduction to genetic algorithmsHamideh Iraj
 
مقاله هندسه محاسباتی
مقاله هندسه محاسباتی مقاله هندسه محاسباتی
مقاله هندسه محاسباتی faezeh akbari
 
یادگیری درخت تصمیم
یادگیری درخت تصمیمیادگیری درخت تصمیم
یادگیری درخت تصمیمavissco
 
93 8-27 critical apprasial
93 8-27 critical apprasial93 8-27 critical apprasial
93 8-27 critical apprasialReza Assadi
 
پردازش زبان طبیعی
پردازش زبان طبیعیپردازش زبان طبیعی
پردازش زبان طبیعیShiraz LUG
 
آشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوترآشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوترArash Pourdamghani
 
هوش مصنوعی - شبکه عصبی
هوش مصنوعی - شبکه عصبیهوش مصنوعی - شبکه عصبی
هوش مصنوعی - شبکه عصبیAli Ghaeni
 

Similar to الگوریتم ژنتیک (12)

Genetic algorithm
Genetic algorithm Genetic algorithm
Genetic algorithm
 
Genetic algorithm
Genetic algorithm Genetic algorithm
Genetic algorithm
 
An introduction to genetic algorithms
An introduction to genetic algorithmsAn introduction to genetic algorithms
An introduction to genetic algorithms
 
Genetic
GeneticGenetic
Genetic
 
نمایش دانش
نمایش دانشنمایش دانش
نمایش دانش
 
92km
92km92km
92km
 
مقاله هندسه محاسباتی
مقاله هندسه محاسباتی مقاله هندسه محاسباتی
مقاله هندسه محاسباتی
 
یادگیری درخت تصمیم
یادگیری درخت تصمیمیادگیری درخت تصمیم
یادگیری درخت تصمیم
 
93 8-27 critical apprasial
93 8-27 critical apprasial93 8-27 critical apprasial
93 8-27 critical apprasial
 
پردازش زبان طبیعی
پردازش زبان طبیعیپردازش زبان طبیعی
پردازش زبان طبیعی
 
آشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوترآشنایی با المپیاد کامپیوتر
آشنایی با المپیاد کامپیوتر
 
هوش مصنوعی - شبکه عصبی
هوش مصنوعی - شبکه عصبیهوش مصنوعی - شبکه عصبی
هوش مصنوعی - شبکه عصبی
 

الگوریتم ژنتیک

  • 1. ‫ب‬‫ه‬‫خدا‬ ‫نام‬ ‫بناب‬ ‫دانشگاه‬ ‫کامپیوتر‬ ‫مهندسی‬ ‫گروه‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫کنندگان‬ ‫تهیه‬ ‫ریاضی‬ ‫لیال‬-‫عزتی‬ ‫سعیده‬ ‫استاد‬‫راهنما‬ ‫دکتر‬ ‫آقای‬ ‫جناب‬‫دهخوارقانی‬ ‫اردیبهشت‬59
  • 2. ‫قدردانی‬ ‫و‬ ‫تشکر‬ :‫مقدس‬ ‫وجود‬ ‫ازسه‬ ‫سپاس‬ ‫با‬ ‫برسیم‬ ‫توانایی‬ ‫به‬ ‫ما‬ ‫تا‬ ‫شدند‬ ‫ناتوان‬ ‫که‬ ‫آنان‬… ‫شویم‬ ‫ماروسفید‬ ‫تا‬ ‫شد‬ ‫سپید‬ ‫موهایشان‬… ‫باشند‬ ‫راهمان‬ ‫روشنگر‬ ‫و‬ ‫ما‬ ‫وجود‬ ‫گرمابخش‬ ‫تا‬ ‫سوختند‬ ‫عاشقانه‬ ‫و‬… ‫پدرانمان‬ ‫مادرانمان‬ ‫استادانمان‬
  • 3. 1 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫چکیده‬ ‫ژنتیک‬ ‫الگوریتم‬(Genetic Algorithm - GA)‫راه‬ ‫یافتن‬ ‫برای‬ ‫رایانه‬ ‫علم‬ ‫در‬ ‫جستجویی‬ ‫تکنیک‬‫تقریبی‬ ‫حل‬ ‫بهینه‬ ‫برای‬‫تکنیکهای‬ ‫از‬ ‫که‬ ‫است‬ ‫تکامل‬ ‫الگوریتمهای‬ ‫از‬ ‫خاصی‬ ‫نوع‬ ‫ژنتیک‬ ‫الگوریتم‬ .‫است‬ ‫جستجو‬ ‫مسائل‬ ‫و‬ ‫سازی‬ ‫زیست‬‫و‬ ‫وراثت‬ ‫مانند‬ ‫شناسی‬‫می‬ ‫استفاده‬ ‫جهش‬‫کند‬.‫این‬‫الگوریتمها‬‫شبیه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ً‫ال‬‫معمو‬‫که‬ ‫کامپیوتر‬ ‫ساز‬ ‫نمونه‬ ‫یک‬ ‫جمعیت‬ ‫آن‬ ‫در‬‫ی‬‫انتزاعی‬(‫کروموزومها‬)‫از‬‫نامزدهای‬‫راه‬‫حل‬‫یک‬‫مسأله‬‫بهینه‬‫سازی‬‫به‬‫راه‬‫حل‬‫بهتری‬ ‫منجر‬،‫شود‬‫پیاده‬‫سازی‬‫می‬‫شوند‬.‫به‬‫طور‬‫سنتی‬‫راه‬‫رشته‬ ‫شکل‬ ‫به‬ ‫حلها‬‫از‬ ‫هایی‬۰‫و‬۱‫گونه‬ ‫به‬ ‫امروزه‬ ‫اما‬ ،‫بودند‬‫های‬ ‫پیاده‬ ‫هم‬ ‫دیگری‬‫شده‬ ‫سازی‬‫اند‬. ‫بهترین‬ ‫به‬ ‫مسئله‬ ‫حل‬ ‫برای‬ ‫شود‬ ‫می‬ ‫وباعث‬ ‫شده‬ ‫بهتر‬ ‫و‬ ‫بهتر‬ ‫مراحل‬ ‫گذشت‬ ‫با‬ ‫نیز‬ ‫ژنتیک‬ ‫الگوریتم‬ ،‫ژنتیک‬ ‫همانند‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫است‬ ‫طبیعت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫بررسی‬ ‫مجموعه‬ ‫این‬ ‫از‬ ‫هدف‬ . ‫کنیم‬ ‫پیدا‬ ‫دست‬ ‫حل‬ ‫راه‬ ‫بیش‬‫مراحل‬ ‫و‬ ‫الگوریتم‬ ‫این‬ ‫مورد‬ ‫در‬ ‫تر‬‫خواهیم‬ ‫صحبت‬ ‫آن‬ ‫از‬ ‫استفاده‬.‫کرد‬
  • 4. 2 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫مطالب‬ ‫فهرست‬ ‫چک‬‫ی‬‫ده‬..........................................................................................................................................................................1 ‫مقدمه‬..........................................................................................................................................................................3 ‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬..................................................................................................................................................4 ‫مزا‬‫ی‬‫ا‬‫ی‬‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬.................................................................................................................................4 ‫معا‬‫ی‬‫ب‬‫الگور‬‫ی‬‫تم‬‫ژنت‬‫ی‬‫ک‬‫ی‬....................................................................................................................................4 ‫کاربرد‬‫ها‬‫ی‬GA......................................................................................................................................................5 ‫روش‬‫ها‬‫ی‬EA(Evolutionary Algorithms)...............................................................................................................5 ‫نحوه‬‫کارکرد‬GA...................................................................................................................................................5 ‫پارامتر‬‫ها‬‫ی‬GA...................................................................................................................................................6 ‫روند‬‫الگور‬‫ی‬‫تم‬‫ی‬....................................................................................................................................................6 ‫اپراتورها‬‫ی‬‫ژنت‬‫ی‬‫ک‬‫ی‬.............................................................................................................................................6 CrossOver.................................................................................................................................................................7 Single-Point CrossOver........................................................................................................................................7 Tow-Point CrossOver...........................................................................................................................................8 Uniform CrossOver..............................................................................................................................................8 Mutation...................................................................................................................................................................9 ‫مقا‬‫ی‬‫سه‬Crossover‫و‬Mutation..............................................................................................................................9 ‫نحوه‬‫ا‬‫ی‬‫جاد‬‫جمع‬‫ی‬‫ت‬................................................................................................................................................9 ‫انتخاب‬‫فرض‬‫ی‬‫ه‬‫ها‬...................................................................................................................................................11 ‫تفاوت‬‫جستجو‬‫ی‬GA‫با‬‫روشها‬‫ی‬‫د‬‫ی‬‫گر‬...........................................................................................................11 Crowding....................................................................................................................................................................11 Genetic Programming.................................................................................................................................................11 ‫اپراتور‬crossover‫برا‬‫ی‬GP...............................................................................................................................12 ‫قض‬‫ی‬‫ه‬Schema...........................................................................................................................................................13 ‫دو‬‫نظر‬‫ی‬‫ه‬‫در‬‫علم‬‫ژنت‬‫ی‬‫ک‬..................................................................................................................................15 ‫نظر‬‫ی‬‫ه‬lamarck.....................................................................................................................................................15 ‫نظر‬‫ی‬‫ه‬Baldwin....................................................................................................................................................15 2‫مثال‬......................................................................................................................................................................15 ‫مثال‬1..................................................................................................................................................................16 ‫مثال‬2..................................................................................................................................................................21 ‫منابع‬........................................................................................................................................................................24
  • 5. 3 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫مقدمه‬ ‫پیشرفت‬ ‫همیشه‬ ‫ژنتیک‬ ‫و‬ ‫وراثت‬ ‫دنیای‬ ‫در‬‫آمده‬ ‫وجود‬ ‫به‬ ‫که‬ ‫نسلی‬ ‫هر‬ .‫بود‬ ‫خواهد‬ ‫و‬ ‫بوده‬ ‫هایی‬‫معموال‬‫ژنتیک‬ ‫بهتر‬ ‫ژنتیک‬ ‫با‬ ‫جانداران‬ ‫به‬ ‫را‬ ‫خود‬ ‫جای‬ ‫و‬ ‫رفته‬ ‫بین‬ ‫از‬ ‫جانداران‬ ‫طبیعت‬ ‫در‬ .‫دارد‬ ‫تری‬ ‫تکامل‬‫بیشتر‬ ‫سازگاری‬ ‫و‬‫و‬‫ا‬ .‫کنند‬ ‫می‬ ‫گذار‬‫ژنتیک‬ ‫علم‬ ‫در‬ ‫البته‬‫می‬ ‫باعث‬ ‫هم‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫نیز‬ ‫جهش‬‫العاد‬ ‫فوق‬ ‫بسیار‬ ‫ژنتیک‬ ‫شود‬‫ه‬‫ب‬ ‫ای‬‫وجود‬ ‫ه‬ .‫شود‬ ‫قبلی‬ ‫ژنتیک‬ ‫به‬ ‫نسبت‬ ‫ژنتیک‬ ‫افتادگی‬ ‫عقب‬ ‫باعث‬ ‫دارد‬ ‫امکان‬ ‫هم‬ ‫و‬ ‫آید‬ ‫بعضی‬‫مسایل‬‫دارای‬‫راه‬‫حلهای‬‫مشخص‬‫می‬‫باشند‬:‫از‬ ‫معموال‬ ،‫خطی‬ ‫محدودیتهای‬ ‫با‬ ‫خطی‬ ‫مسائل‬ ‫حل‬ ‫برای‬ ‫روش‬LP‫از‬ ‫خطی‬ ‫غیر‬ ‫محدودیتهای‬ ‫با‬ ‫خطی‬ ‫غیر‬ ‫مسائل‬ ‫حل‬ ‫برای‬ ‫همچنین‬ ‫و‬ )‫خطی‬ ‫ریزی‬ ‫(برنامه‬NLP‫(برنامه‬ .‫شود‬ ‫می‬ ‫غیرخطی)استفاده‬ ‫ریزی‬ ‫مقایسه‬ ‫از‬ ‫که‬ ‫منظور‬ ‫این‬ ‫برای‬ . ‫است‬ ‫نوع‬ ‫این‬ ‫بر‬ ‫ما‬ ‫کار‬ ‫اساس‬ ‫نیز‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫در‬‫حل‬ ‫راه‬ ‫چندین‬ ‫ی‬‫ا‬ ‫با‬‫ستفاده‬ ‫تناسب‬ ‫تابع‬ ‫از‬‫می‬ ‫انتخاب‬ ‫را‬ ‫ها‬ ‫حل‬ ‫راه‬ ‫بهترین‬ ،‫ک‬‫می‬ ‫طی‬ ‫دوباره‬ ‫مسیر‬ ‫این‬ ‫سپس‬ ‫و‬ ‫نند‬‫بار‬ ‫هر‬ ‫الگوریتم‬ ‫و‬ ‫شود‬ ‫پیدا‬ ‫تکامل‬‫و‬ ‫کرده‬‫مطلوب‬ ‫حل‬ ‫راه‬ ‫به‬ ‫ما‬ ‫شود‬ ‫می‬ ‫باعث‬‫تری‬.‫کنیم‬ ‫پیدا‬ ‫دست‬ ‫مسئله‬ ‫حل‬ ‫برای‬
  • 6. 4 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫ژنتیکی‬ ‫الگوریتم‬ ‫الگوریتم‬‫ژنتیک‬‫روش‬‫یادگیری‬‫بر‬‫پایه‬‫تکامل‬‫بیولوژیک‬‫است‬.‫این‬‫روش‬‫در‬‫سال‬1970‫توسط‬John Holland‫معرفی‬‫گردید‬.‫این‬‫روش‬‫ها‬‫با‬‫نام‬Evolutionary Algorithms‫نیز‬‫خوانده‬‫می‬‫شوند‬.‫یک‬GA ‫برای‬‫حل‬‫یک‬‫مسئله‬‫مجموعه‬‫بسیار‬‫بزرگی‬‫از‬‫راه‬‫حل‬‫های‬‫ممکن‬‫را‬‫تولید‬‫می‬‫کند‬.‫هر‬‫یک‬‫از‬‫این‬‫راه‬‫حل‬‫ها‬‫با‬ ‫استفاده‬‫از‬‫یک‬“‫تابع‬‫تناسب‬”‫مورد‬‫ارزیابی‬‫می‬ ‫قرار‬‫گیرد‬.‫سپس‬‫تعدادی‬‫از‬‫بهترین‬‫راه‬‫حل‬‫ها‬‫باعث‬‫تولید‬‫راه‬ ‫حل‬‫های‬‫جدیدی‬‫می‬‫ش‬‫ا‬ .‫وند‬‫ین‬‫کار‬‫باعث‬‫تکامل‬‫راه‬‫حل‬‫ها‬‫می‬‫گردد‬.‫بدین‬‫ترتیب‬‫فضای‬‫جستجو‬‫در‬‫جهتی‬‫تکامل‬ ‫پیدا‬‫می‬‫کند‬‫که‬‫به‬‫راه‬‫حل‬‫مطلوب‬‫برسد‬.‫در‬‫صورت‬‫انتخاب‬‫صحیح‬،‫پارامترها‬‫این‬‫روش‬‫می‬‫تواند‬‫بسیار‬‫موثر‬‫عمل‬ ‫نماید‬.‫با‬ ‫ژنتیک‬ ‫الگوریتم‬‫پارامترهاي‬‫كد‬‫شده‬‫كار‬‫مي‬‫كند‬‫نه‬‫با‬‫خود‬‫پارامتر‬. ‫الگوریتم‬‫ژنتیك‬‫از‬‫قوانین‬‫آماري‬‫استفاده‬‫مي‬‫كند‬‫نه‬‫از‬‫قوانین‬‫محاسباتي‬.‫باید‬ ‫روش‬ ‫این‬ ‫با‬ ‫جستجو‬ ‫در‬ ‫البته‬ ‫که‬ ‫داشت‬ ‫توجه‬‫جستجو‬‫را‬‫ب‬‫ه‬‫وسیله‬‫جمعیتی‬‫از‬‫نقاط‬‫انجام‬‫می‬،‫دهد‬‫نه‬‫یک‬‫نقطه‬‫یعنی‬‫تعداد‬‫این‬‫نقاط‬‫نیز‬‫مهم‬ ،‫است‬‫به‬‫این‬‫صورت‬‫که‬‫تعداد‬‫جمعیت‬‫زیاد‬‫محاسبات‬‫را‬‫زیاد‬‫کرده‬‫و‬‫کندتر‬‫به‬‫جواب‬‫بهینه‬‫نزدیک‬‫می‬‫شود‬‫و‬ ‫تعداد‬‫جمعیت‬‫کم‬‫فضای‬‫جستجو‬‫را‬‫به‬‫خوبی‬‫پوشش‬‫نداده‬‫و‬‫ممکن‬‫است‬‫الگوریتم‬‫در‬‫یک‬‫جواب‬‫محلی‬‫گیر‬‫کند‬. ‫از‬ ‫روش‬ ‫این‬ ‫که‬ ‫کرد‬ ‫اشاره‬ ‫باید‬‫مقدار‬‫تابع‬‫در‬‫نقاط‬‫مختلف‬‫فضاي‬‫جستجو‬‫استفاده‬‫مي‬‫كند‬‫و‬‫نیازي‬‫به‬‫دانستن‬ ‫مشتق‬‫تابع‬‫یا‬‫اطالعات‬‫دیگري‬‫از‬‫تابع‬‫ندارد‬. ‫ژنتیکی‬ ‫الگوریتم‬ ‫مزایای‬ ‫می‬ ‫پیچیده‬ ‫فرضیه‬ ‫فضای‬ ‫با‬ ‫مسائلی‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫بزرگی‬ ‫جستجوی‬ ‫فضای‬ ‫که‬ ‫مسائلی‬ ‫در‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫از‬ .‫کرد‬ ‫استفاده‬ ‫توان‬‫همچنین‬‫بر‬‫ا‬‫ی‬discrete optimization.‫است‬ ‫استفاده‬ ‫مورد‬ ‫بسیار‬ )‫گسسته‬ ‫سازی‬ ‫(بهینه‬ ‫الگوریتم‬‫های‬‫ژنتیک‬‫را‬‫می‬‫توان‬‫ب‬‫ه‬‫راحتی‬‫بصورت‬‫موازی‬‫اجرا‬‫نمود‬‫از‬‫این‬‫رو‬‫می‬‫توان‬‫کامپیوترهای‬‫ارزان‬‫قیمت‬ ‫تری‬‫را‬‫بصورت‬‫موازی‬‫مورد‬‫استفاده‬‫قرار‬‫ا‬ ‫و‬ ‫داد‬‫مکان‬‫به‬‫تله‬‫افتادن‬‫این‬‫الگوریتم‬‫در‬‫مینیمم‬‫محلی‬‫کمتر‬‫از‬‫سایر‬ ‫روشهاست‬. ‫ژنتیکی‬ ‫الگوریتم‬ ‫معایب‬ ‫همانن‬ ‫ژنتیکی‬ ‫الگوریتم‬ ‫اما‬‫های‬ ‫الگوریتم‬ ‫د‬‫مشکالت‬ ‫این‬ ‫جمله‬ ‫از‬ ‫که‬ ‫است‬ ‫مشکالتی‬ ‫دارای‬ ‫دیگر‬‫ب‬ ‫توان‬ ‫می‬‫ر‬ .‫کرد‬ ‫اشاره‬ ‫محاسباتی‬ ‫لحاظ‬ ‫از‬ ‫بودن‬ ‫پرهزینه‬‫به‬ ‫ما‬ ‫برای‬ ‫الگوریتم‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫که‬ ‫دیگری‬ ‫مشکل‬‫وجود‬‫می‬‫آید‬ ‫راه‬ ‫یا‬ ‫جواب‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫تضمینی‬ ‫هیچ‬ ‫که‬ ‫است‬ ‫این‬‫ندارد‬ ‫وجود‬ ‫بهینه‬ ‫حل‬.‫نقص‬ ‫این‬ ‫وجود‬ ‫با‬ ‫اما‬‫ها‬‫از‬ ‫استفاده‬ ‫مس‬ ‫اکثر‬ ‫حل‬ ‫در‬ ‫ژنتیکی‬ ‫الگوریتم‬‫امید‬ ‫نا‬ ‫الگوریتم‬ ‫این‬ ‫از‬ ‫نباید‬ ‫کالم‬ ‫یک‬ ‫در‬ ‫و‬ ‫نمود‬ ‫خواهد‬ ‫شایانی‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫ائل‬ .‫شد‬
  • 7. 5 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫های‬ ‫کاربرد‬GA :‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬ ‫توان‬ ‫می‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫مهم‬ ‫های‬ ‫کاربرد‬ ‫از‬ Optimization automatic programming machine learning economics operations research ecology studies of evolution and learning social systems ‫های‬ ‫روش‬EA(Evolutionary Algorithms) ‫مرتبط‬ ‫هم‬ ‫به‬ ‫چه‬ ‫اگر‬ .‫شوند‬ ‫می‬ ‫تقسیم‬ ‫نوع‬ ‫دو‬ ‫به‬ ‫ها‬ ‫روش‬ ‫این‬.‫هستند‬ ‫مجزا‬ ‫هم‬ ‫از‬ ‫اما‬ ‫اند‬ ۱-Genetic Algorithms (GAs) ‫در‬‫این‬‫روش‬‫راه‬‫حل‬‫یک‬‫مسئله‬‫بصورت‬‫یک‬bit string‫نشان‬‫داده‬‫میشود‬. 2.Genetic Programming (GP) ‫این‬‫روش‬‫به‬‫تولید‬expression trees‫که‬‫در‬‫زبان‬‫های‬‫برنامه‬‫نویسی‬‫مثل‬lisp‫مورد‬‫استفاده‬‫هستند‬ ‫می‬‫پردازد‬‫بدین‬‫ترتیب‬‫می‬‫توان‬‫برنامه‬‫هائی‬‫ساخت‬‫که‬‫قابل‬‫اجرا‬‫باشند‬.‫این‬ ‫در‬ ‫مجموعه‬ ‫این‬ ‫بعدی‬ ‫صفحات‬ ‫در‬ .‫شد‬ ‫خواهد‬ ‫بحث‬ ‫باره‬ ‫کارکرد‬ ‫نحوه‬GA ‫کار‬ ‫طرز‬‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫به‬ ‫ژنتیک‬ ‫الگوریتم‬‫مجموعه‬‫ای‬‫از‬‫فرضیه‬‫ها‬‫که‬population‫نامیده‬‫می‬‫شود‬‫تولید‬ ‫و‬‫بطور‬‫متناوب‬‫با‬‫فرضیه‬‫های‬‫جدیدی‬‫جایگزین‬‫می‬‫گردد‬.‫سپس‬‫در‬‫هر‬‫بار‬‫تکرارتمامی‬‫فرضیه‬‫ها‬‫با‬‫استفاده‬‫از‬ ‫یک‬‫تابع‬‫تناسب‬( Fitness)‫مورد‬‫ارزیابی‬‫قرار‬‫داده‬‫می‬‫شوند‬.‫آنگاه‬‫تعدادی‬‫از‬‫بهترین‬‫فرضیه‬‫ها‬‫با‬‫استفاده‬‫از‬ ‫یک‬‫تابع‬‫احتمال‬‫انتخاب‬‫شده‬‫و‬‫جمعیت‬‫جدید‬‫را‬‫تشکیل‬‫می‬‫دهند‬.
  • 8. 6 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫تعدادی‬‫از‬‫این‬‫فرضیه‬‫های‬‫انتخاب‬‫شده‬‫به‬‫همان‬‫صورت‬‫مورد‬‫استفاده‬‫واقع‬‫شده‬‫و‬‫مابقی‬‫با‬‫استفاده‬‫از‬‫اپراتورهای‬ ‫ژنتیکی‬‫نظیر‬Crossover‫و‬Mutation‫برای‬‫تولید‬‫فرزندان‬‫بکار‬‫می‬‫روند‬.‫ادامه‬ ‫در‬،‫ژنتیکی‬ ‫اپراتورهای‬ ‫بحث‬ ‫به‬ .‫پرداخت‬ ‫خواهیم‬ ‫های‬ ‫پارامتر‬GA ‫یک‬‫الگوریتم‬GA‫دارای‬‫پارامترهای‬‫زیر‬‫است‬: GA(Fitness,Fitness_threshold,p,r,m) : Fitness‫تابعی‬‫برای‬‫ارزیابی‬‫یک‬‫فرضیه‬‫که‬‫مقداری‬‫عددی‬‫به‬‫هر‬‫فرضیه‬‫نسبت‬‫می‬‫دهد‬.)‫تناسب‬ ‫(تابع‬ : Fitness_threshold‫مقدار‬‫آستانه‬‫که‬‫شرط‬‫پایان‬‫را‬‫معین‬‫می‬‫کند‬. : p‫تعداد‬‫فرضیه‬‫هائی‬‫که‬‫باید‬‫در‬‫جمعیت‬‫در‬‫نظر‬‫گرفته‬‫شوند‬ :r‫در‬‫صدی‬‫از‬‫جمعیت‬‫که‬‫در‬‫هر‬‫مرحله‬‫توسط‬‫الگوریتم‬crossover‫جایگزین‬‫می‬‫شوند‬ :m‫نرخ‬mutation ‫الگوریتمی‬ ‫روند‬ ۰-‫شروع‬ ۱-‫جمعیت‬‫را‬‫با‬‫تعداد‬p‫فرضیه‬‫بطور‬‫تصادفی‬‫مقدار‬‫دهی‬‫اولیه‬‫کنید‬.(Initializ) 2-‫برای‬‫هر‬‫فرضیه‬h‫در‬p‫مقدار‬‫تابع‬Fitness(h)‫را‬‫محاسبه‬‫نمائید‬.(Evaluate) 3-‫تا‬‫زمانیکه‬Fitness(h)] < Fitness_thresholdh[max‫یک‬‫جمعیت‬‫جدید‬‫ایجاد‬‫کنید‬. 4-‫فرضیه‬‫ای‬‫که‬‫دارای‬‫بیشترین‬‫مقدار‬Fitness‫است‬‫را‬‫برگردانید‬. 5-‫پایان‬ ‫ژنتیکی‬ ‫اپراتورهای‬ ‫دارد‬ ‫وجود‬ ‫ژنتیکی‬ ‫اپراتور‬ ‫نوع‬ ‫دو‬ ۱-Crossover 2-Mutation ‫شود‬ ‫استفاده‬ ‫دو‬ ‫هر‬ ‫از‬ ‫است‬ ‫بهتر‬ ‫کلی‬ ‫حالت‬ ‫در‬ ‫دارد‬ ‫مسئله‬ ‫صورت‬ ‫به‬ ‫بستگی‬ ‫ها‬ ‫اپراتور‬ ‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫از‬ ‫استفاده‬ ‫زیرا‬.‫دارند‬ ‫مخصوصی‬ ‫نقش‬ ‫کدام‬ ‫هر‬ ‫از‬ ‫فقط‬ ‫توان‬ ‫می‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫نکته‬ ‫این‬ ‫به‬ ‫باید‬Mutation‫از‬ ‫استفاده‬ ‫ولی‬ ‫کرد‬ ‫استفاده‬Crossover‫به‬ .‫داد‬ ‫نخواهد‬ ‫ای‬ ‫نتیجه‬ ‫تنهایی‬
  • 9. 7 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ .‫پردازیم‬ ‫می‬ ‫ها‬ ‫اپراتور‬ ‫این‬ ‫از‬ ‫کدام‬ ‫هر‬ ‫شرح‬ ‫به‬ ‫زیر‬ ‫در‬ CrossOver ‫از‬ ‫روش‬ ‫این‬2‫می‬ ‫استفاده‬ ‫والد‬ ‫رشته‬‫که‬ ‫کند‬‫به‬ ‫والد‬ ‫رشته‬ ‫دو‬ ‫این‬ ‫از‬ ‫فرزند‬ ‫رشته‬‫می‬ ‫وجود‬‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ .‫آید‬ ‫قسمتی‬‫از‬‫بیت‬‫های‬‫والدین‬‫در‬‫بیت‬‫های‬‫فرزندان‬‫کپی‬‫می‬‫شو‬.‫د‬‫برای‬‫تعیین‬‫محل‬‫بیت‬‫های‬‫کپی‬‫شونده‬‫از‬‫یک‬‫رشته‬ ‫به‬‫نام‬Crossover Mask‫استفاده‬‫می‬‫شود‬. ‫انتخاب‬‫بیت‬‫هائی‬‫که‬‫باید‬‫از‬‫هر‬‫یک‬‫از‬‫والدین‬‫کپی‬‫شوند‬:‫دارند‬ ‫متفاوتی‬ ‫های‬ ‫روش‬ ‫خود‬ ۱-single-point crossover 2-Two-point crossover 3-Uniform crossover Single-Point CrossOver ‫یک‬‫نقطه‬‫تصادفی‬‫در‬‫طول‬‫رشته‬‫انتخاب‬‫می‬‫شو‬‫می‬ ‫تقسیم‬ ‫قسمت‬ ‫دو‬ ‫به‬ ‫نقطه‬ ‫این‬ ‫در‬ ‫والدین‬ ‫سپس‬ ‫د‬‫هر‬ ‫و‬ ‫شوند‬ ‫تکه‬ ‫و‬ ‫والدین‬ ‫از‬ ‫یکی‬ ‫از‬ ‫اول‬ ‫تکه‬ ‫انتخاب‬ ‫با‬ ‫فرزند‬‫به‬ ‫دیگر‬ ‫والد‬ ‫از‬ ‫دوم‬‫می‬ ‫وجود‬.‫آید‬ Crossover Mask: 11111000000 0001001000000010010111 10101010000 10101010111 parents children
  • 10. 8 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ Tow-Point CrossOver ‫به‬ ‫ها‬ ‫والد‬ ‫و‬ ‫شده‬ ‫انتخاب‬ ‫تصادفی‬ ‫نقطه‬ ‫دو‬3‫با‬ ‫فرزند‬ ‫هر‬ ‫و‬ ‫شوند‬ ‫می‬ ‫تقسیم‬ ‫بخش‬‫والد‬ ‫یک‬ ‫از‬ ‫قسمت‬ ‫دو‬ ‫انتخاب‬ ‫می‬ ‫تشکیل‬ ،‫درمیان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫البته‬ ‫دیگری‬ ‫والد‬ ‫از‬ ‫قسمت‬ ‫یک‬ ‫و‬‫بیش‬ ‫فهم‬ ‫برای‬ .‫شود‬‫تو‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫تر‬‫جه‬ .‫کنید‬ Crossover Mask: 00111110000 Uniform CrossOver ‫می‬ ‫شرح‬ ‫زیر‬ ‫شکل‬ ‫با‬ ‫را‬ ‫قسمت‬ ‫این‬.‫دهیم‬ Crossover Mask: 10011010011 0001۱0100۱۱00010010۱۱۱ ۱0۱۰۱010۰۰۰ 10100010100 0010001000۱00010010۱۱۱ ۱0۱۰۱010۰۰۰ 10011010۱۱0 parents children parents children
  • 11. 9 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ Mutation ‫می‬ ‫استفاده‬ ‫رشته‬ ‫یک‬ ‫از‬ ‫فرزند‬ ‫آمدن‬ ‫پدید‬ ‫برای‬ ‫اپراتور‬ ‫این‬ ‫در‬‫اولیه‬ ‫رشته‬ ‫در‬ ‫کوچکی‬ ‫تغییرات‬ ‫منظور‬ ‫این‬ ‫به‬ .‫شود‬ ‫می‬ ‫وجود‬ ‫به‬ ‫جدید‬ ‫فرزند‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫اعمال‬.‫آید‬‫با‬‫استفاده‬‫از‬‫یک‬‫توزیع‬‫یکنواخت‬‫یک‬‫بیت‬‫بصورت‬‫تصادفی‬ ‫اتنخاب‬‫و‬‫مقدار‬‫آن‬‫تغییر‬‫پیدا‬‫میکند‬‫از‬ ‫بعد‬ ‫معموال‬ ‫که‬crossover.‫شود‬ ‫می‬ ‫اعمال‬‫می‬ ‫البته‬‫برای‬ ‫گفت‬ ‫توان‬ ‫در‬ ‫بهینه‬ ‫جواب‬ ‫به‬ ‫رسیدن‬Mutation.‫است‬ ‫الزم‬ ‫شانسی‬ ‫خوش‬ ‫یک‬ ‫مقایسه‬Crossover‫و‬Mutation ‫می‬ ‫اپراتور‬ ‫دو‬ ‫این‬ ‫مقایسه‬ ‫در‬‫که‬ ‫کرد‬ ‫اشاره‬ ‫موارد‬ ‫این‬ ‫به‬ ‫توان‬Crossover‫خاصیت‬‫جستجوگرانه‬‫و‬‫یا‬ explorative‫دارد‬.‫می‬‫تواند‬‫با‬‫انجام‬‫پرش‬‫های‬‫بزرگ‬‫به‬‫محل‬‫هائی‬‫دربین‬‫والدین‬‫رفته‬‫و‬‫نواحی‬‫جدیدی‬‫را‬ ‫کشف‬‫نماید‬‫که‬ ‫حالی‬ ‫در‬Mutation‫خاصیت‬‫گسترشی‬‫و‬‫یا‬exploitive‫دارد‬.‫می‬‫تواند‬‫با‬‫انجام‬‫تغییرات‬ ‫کوچک‬‫تصادفی‬‫به‬‫نواحی‬‫کشف‬‫شده‬‫وسعت‬‫ببخشد‬.‫همچنین‬Crossove‫اطالعات‬‫والدین‬‫را‬‫ترکیب‬‫می‬‫کند‬ ‫درحالیکه‬mutation‫می‬‫تواند‬‫اطالعات‬‫جدیدی‬‫اضافه‬‫نماید‬. ‫جمعیت‬ ‫ایجاد‬ ‫نحوه‬ ‫مراحل‬‫ایجاد‬‫یک‬‫جمعیت‬‫جدید‬‫بصورت‬‫زیر‬‫است‬: ۱.: select‫تعداد‬r)p-(1‫فرضیه‬‫از‬‫میان‬P‫انتخاب‬‫و‬‫به‬sP‫اضافه‬‫کنید‬.‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬ih ‫از‬‫میان‬P‫عبارت‬‫است‬‫از‬: P(hi) = Fitness (hi) / Σj Fitness (hj) ‫هر‬‫چه‬‫تناسب‬‫فرضیه‬‫ای‬‫بیشتر‬‫باشد‬‫احتمال‬‫انتخاب‬‫آن‬‫بیشتر‬‫است‬.‫این‬‫احتمال‬‫همچنین‬‫با‬‫مقدار‬‫تناسب‬ ‫فرضیه‬‫های‬‫دیگر‬‫نسبت‬.‫دارد‬ ‫عکس‬ 2.: Crossover‫با‬‫استفاده‬‫از‬‫احتمال‬‫بدست‬‫آمده‬‫توسط‬‫رابطه‬،‫فوق‬‫تعداد‬(rp)/2‫زوج‬‫فرضیه‬‫از‬‫میان‬P ‫ا‬‫نتخاب‬‫و‬‫با‬‫استفاده‬‫از‬‫اپراتور‬Crossover‫دو‬‫فرزند‬‫از‬‫آنان‬‫ایجاد‬‫کنید‬.‫فرزندان‬‫را‬‫به‬sP‫اضافه‬‫کنید‬. 3.: Mutate‫تعداد‬m‫درصد‬‫از‬‫اعضا‬sP‫را‬‫با‬‫احتمال‬‫یکنواخت‬‫انتخاب‬‫و‬‫یک‬‫بیت‬‫از‬‫هر‬‫یک‬‫آنها‬‫را‬‫بصورت‬ ‫تصادفی‬‫معکوس‬‫کنید‬. 4.:UpdatesPP 9.‫برای‬‫هر‬‫فرضیه‬h‫در‬P‫مقدار‬‫تابع‬Fitness‫را‬‫محاسبه‬‫کنید‬.
  • 12. 11 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫انتخاب‬‫فرضیه‬‫ها‬ ۱-Roulette Wheel selection 2-Tournament selection 3-rank selection ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫که‬Roulette Wheel selection.‫پردازیم‬ ‫می‬ ‫در‬‫روش‬‫معرفی‬‫شده‬‫در‬‫الگوریتم‬‫ساده‬GA‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬‫برای‬‫استفاده‬‫در‬‫جمعیت‬‫بعدی‬‫بستگی‬ ‫به‬‫نسبت‬fitness‫آن‬‫به‬fitness‫بقیه‬‫اعضا‬‫دارد‬.‫این‬‫روش‬Roulette Wheel selection‫نامیده‬‫میشود‬. P(hi) = Fitness (hi) / Σj Fitness (hj) :‫داریم‬ ‫مثال‬ ‫برای‬ ‫جستجوی‬ ‫تفاوت‬GA‫روش‬ ‫با‬‫دیگر‬ ‫های‬ ‫روش‬‫جستجوی‬GA‫با‬‫روشهای‬‫دیگر‬‫مثل‬‫شبکه‬‫های‬‫عصبی‬‫تفاوت‬‫دارد‬.‫در‬‫شبکه‬‫عصبی‬‫روش‬Gradient descent‫بصورت‬‫هموار‬‫از‬‫فرضیه‬‫ای‬‫به‬‫فرضیه‬‫مشابه‬‫دیگری‬‫حرکت‬‫می‬‫کند‬‫در‬‫حالی‬‫که‬GA‫ممکن‬‫است‬ ‫بصورت‬‫ناگهانی‬‫فرضیه‬‫والد‬‫را‬‫با‬‫فرزندی‬‫جایگزین‬‫نماید‬‫که‬‫تفاوت‬‫اساسی‬‫با‬‫والد‬‫آن‬‫داشته‬‫باشد‬.‫از‬‫این‬‫رو‬‫احتمال‬ ‫گیر‬‫افتادن‬GA‫در‬‫مینیمم‬‫محلی‬‫کاهش‬‫می‬‫یابد‬.‫با‬‫این‬‫وجود‬GA‫با‬‫مشکل‬‫دیگری‬‫روبروست‬‫که‬crowding ‫نامیده‬‫می‬‫شود‬. A C 1/6 = 17% 3/6 = 50% B 2/6 = 33% fitness(A) = 3 fitness(B) = 1 fitness(C) = 2
  • 13. 11 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ Crowding Crowding‫پدیده‬‫سازگ‬ ‫که‬ ‫عضوی‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫ای‬‫اری‬‫به‬ ‫دارد‬ ‫جمعیت‬ ‫افراد‬ ‫بقیه‬ ‫از‬ ‫بیشتری‬ ‫بسیار‬‫م‬ ‫طور‬‫رتب‬ ‫تولی‬ ‫با‬ ‫و‬ ‫کرده‬ ‫نسل‬ ‫تولید‬‫عمده‬ ‫درصد‬ ‫مشابه‬ ‫اعضای‬ ‫د‬‫می‬ ‫اشغال‬ ‫را‬ ‫جمعیت‬ ‫از‬ ‫ای‬.‫کند‬‫این‬‫کار‬‫باعث‬‫کاهش‬ ‫پراکندگی‬‫جمعیت‬‫شده‬‫و‬‫سرعت‬GA‫را‬‫کم‬‫می‬‫کند‬. ‫با‬ ‫خوشبختانه‬ ‫اما‬‫استفاده‬‫از‬ranking‫برای‬‫انتخاب‬‫نمونه‬‫ها‬،‫با‬‫اختصاص‬‫رتبه‬‫به‬‫فرضیه‬‫ای‬‫که‬‫بسیار‬‫بهتر‬‫از‬ ‫بقیه‬‫عمل‬‫می‬‫کند‬‫مقدار‬‫این‬‫برتری‬،‫نشان‬‫داده‬‫نخواهد‬‫شد‬‫کمک‬ ‫به‬ ‫سپس‬ .Fitness sharing‫مقدار‬Fitness ‫می‬ ‫کاهش‬ ‫باشند‬ ‫داشته‬ ‫وجود‬ ‫جمعیت‬ ‫در‬ ‫مشابهی‬ ‫اعضا‬ ‫صورتیکه‬ ‫در‬ ‫عضو‬ ‫یک‬.‫یابد‬ Genetic Programming ‫تکنیکی‬‫است‬‫که‬‫کامپیوترها‬‫را‬‫قادر‬‫می‬‫سازد‬‫تا‬‫به‬‫حل‬‫مسائل‬‫بپردازند‬‫بدون‬‫آنکه‬‫بطور‬‫صریح‬‫برای‬‫آن‬‫برنامه‬ ‫ریزی‬‫شده‬‫باشند‬.GP‫روشی‬‫از‬‫الگوریتمهای‬‫تکاملی‬‫است‬‫که‬‫در‬‫آن‬‫هرعضو‬‫جمعیت‬‫یک‬‫برنامه‬‫کامپیوتری‬‫است‬. ‫برنامه‬‫ها‬‫اغلب‬‫ب‬‫ه‬‫توسط‬‫یک‬‫درخت‬‫نمایش‬‫داده‬‫شده‬‫و‬‫اجرای‬‫برنامه‬‫برابر‬‫است‬‫با‬pars‫کردن‬‫درخت‬. F = sin(x) + sqrt( x^2 + y) + ‫برای‬‫استفاده‬‫از‬GP‫در‬‫یک‬‫زمینه‬،‫خاص‬‫می‬‫بایست‬‫توابع‬‫پایه‬‫ای‬‫که‬‫در‬‫آن‬‫زمینه‬‫مورد‬‫نیاز‬‫هستند‬‫نظیر‬ sin, cos, sqrt, +, -, etc‫توسط‬‫کاربر‬‫تعریف‬‫شوند‬.‫همچنین‬‫ترمینال‬‫ها‬‫نظیر‬‫متغیرها‬‫و‬‫ثوابت‬‫نیز‬‫باید‬ ‫مشخص‬‫شوند‬.‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫در‬‫الگوریتم‬GP‫در‬‫فضای‬‫بسیار‬‫بزرگ‬‫برنامه‬‫هائی‬‫که‬‫توسط‬‫این‬‫مقادیر‬ ‫اولیه‬‫قابل‬‫بیان‬‫هستند‬‫یک‬‫عمل‬‫جستجوی‬‫تکاملی‬‫را‬‫انجام‬‫خو‬‫ا‬‫هد‬‫داد‬. sin x sqrt + y^ x 2
  • 14. 12 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫اپراتور‬crossover‫برای‬GP ‫کرد‬ ‫کار‬‫اپراتو‬crossover‫در‬GP‫که‬ ‫است‬ ‫صورت‬ ‫این‬ ‫به‬‫شاخه‬‫هائی‬‫از‬‫یک‬‫درخت‬‫والد‬‫با‬‫شاخه‬‫هائی‬‫از‬ ‫درخت‬‫والد‬‫دیگر‬‫بطور‬‫تصادفی‬‫عوض‬‫می‬‫شوند‬. ‫اعمال‬ ‫از‬ ‫بعد‬crossover parents + sin x ^ 2 + x y + sin x sqrt + y^ x 2 children + sin x ^ 2 ^ x y + sin x sqrt + y+ x 2
  • 15. 13 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫قضیه‬Schema ‫قضیه‬Schema‫بیان‬‫می‬‫کند‬‫که‬‫چگونه‬‫یک‬Schema‫در‬‫طول‬‫زمان‬‫در‬‫جمعیت‬‫تکامل‬‫پیدا‬‫خواهد‬‫کرد‬. ‫فرض‬‫کنید‬‫که‬‫در‬‫لحظه‬t‫تعداد‬‫نمونه‬‫هائی‬‫که‬‫نماینده‬‫یک‬Schema‫مثل‬s‫هستند‬‫برابر‬‫با‬m(s,t)‫باشد‬. ‫این‬‫قضیه‬‫مقدار‬‫مورد‬‫انتظار‬m(s,t+1)‫را‬‫مشخص‬‫می‬‫کند‬.‫قبال‬‫دیدیم‬‫که‬‫احتمال‬‫انتخاب‬‫یک‬‫فرضیه‬‫برابر‬‫بود‬ ‫با‬: )jFitness (hj) / Σi) = Fitness (hiP(h ‫این‬‫مقدار‬‫احتمال‬‫را‬‫می‬‫توان‬‫بصورت‬‫زیر‬‫نیز‬‫نشان‬‫داد‬: )i) / n f’ (ti) = f (hiP(h ‫اگر‬‫عضوی‬‫از‬‫این‬‫جمعیت‬‫انتخاب‬‫شود‬‫احتمال‬‫اینکه‬‫این‬‫عضو‬‫نماینده‬S‫باشد‬‫برابر‬‫است‬‫با‬: ‫که‬‫در‬‫آن‬‫مقدار‬u(s,t)‫برابر‬‫است‬‫با‬‫مقدار‬‫میانگین‬fitness‫اعضای‬s: ‫از‬‫این‬‫رو‬‫مقدار‬‫مورد‬‫انتظار‬‫برای‬‫نمونه‬‫هائی‬‫از‬s‫که‬‫از‬n‫مرحله‬‫انتخاب‬‫مستقل‬‫حاصل‬‫خواهند‬‫شد‬‫برابر‬‫است‬ ‫با‬: ‫رابطه‬‫فوق‬‫به‬‫این‬‫معناست‬‫که‬‫تعداد‬Schema‫های‬‫مورد‬‫انتظار‬‫در‬‫لحظه‬t+1‫متناسب‬‫با‬‫مقدار‬‫میانگین‬u(s,t) ‫بوده‬‫و‬‫با‬‫مقدار‬fitness‫سایر‬‫اعضا‬‫نسبت‬‫عکس‬‫دارد‬. ‫برای‬‫بدست‬‫آوردن‬‫رابطه‬‫فوق‬‫فقط‬‫اثر‬‫مرحله‬‫انتخاب‬‫نمونه‬‫ها‬‫در‬‫نظر‬‫گرفته‬‫شده‬‫است‬.‫با‬‫در‬‫نظر‬‫گرفتن‬‫اثر‬ crossover‫و‬Mutation‫به‬‫رابطه‬‫زیر‬‫خواهیم‬‫رسید‬:         ),( ),( tsm p tfn tsu tfn hf shp s sh     ),( )( ),( tsm p hf tsu s sh      ),( ),( )]1,([ tsm tf tsu tsmE  
  • 16. 14 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ m(s, t)number of instances of schema s in population at time t cpprobability of single point crossover operator mpprobability of mutation operator llength of individual bit strings o(s)number of defined (non “*”) bits in s d(s)distance between rightmost, leftmost defined bits in s     )( 1 1 )( 1),( ),( )]1,([ so mc pp l sd tsm tf tsu tsmE         
  • 17. 15 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫یک‬Schema‫اطالعات‬‫مفید‬‫و‬‫امید‬‫بخش‬‫موجود‬‫در‬‫جمعیت‬‫را‬‫کد‬‫می‬‫کند‬. ‫از‬‫آن‬‫جا‬‫یی‬‫که‬‫همواره‬‫رشته‬‫هائی‬‫که‬‫سازگارترند‬‫شانس‬‫بیشتری‬‫برای‬‫انتخاب‬‫شدن‬،‫دارند‬‫بتدریج‬‫مثال‬‫های‬ ‫بیشتری‬‫به‬‫بهترین‬Schema‫ها‬‫اختصاص‬‫یابند‬ ‫می‬. ‫عمل‬crossover‫باعث‬‫قطع‬‫رشته‬‫ها‬‫در‬‫نقاط‬‫تصادفی‬‫می‬‫شو‬.‫د‬‫با‬‫این‬‫وجود‬‫در‬‫صورتی‬‫که‬‫این‬‫کار‬‫باعث‬‫قطع‬ Schema‫نشده‬‫باشد‬‫آنرا‬‫تغییر‬‫نخواهد‬‫داد‬.‫در‬‫حالت‬‫کلی‬Schema‫های‬‫با‬‫طول‬‫کوتاه‬‫کمتر‬‫تغییر‬‫می‬‫کنند‬. ‫که‬ ‫داشت‬ ‫خاطر‬ ‫در‬ ‫باید‬‫عمل‬mutaion‫در‬‫حالت‬‫کلی‬‫باعث‬‫تغییرات‬‫موثر‬‫در‬Schema‫نمی‬‫گردد‬. ‫دو‬‫ژنتیک‬ ‫علم‬ ‫در‬ ‫نظریه‬ ‫نظریه‬lamarck lamarck‫دانشمند‬‫قرن‬‫نوزدهم‬‫فرضیه‬‫ای‬‫ارائه‬‫کرده‬‫که‬‫طبق‬‫آن‬‫تجربیات‬‫یک‬‫موجود‬‫زنده‬‫در‬‫ترکیب‬‫ژنتیکی‬ ‫فرزندان‬‫آن‬‫تاثیر‬‫می‬‫گذارد‬.‫برای‬‫مثال‬‫موجودی‬‫که‬‫یاد‬‫گرفته‬‫از‬‫غذای‬‫سمی‬‫پرهیز‬‫کند‬‫این‬‫ویژگی‬‫را‬‫بصورت‬ ‫ژنتیکی‬‫به‬‫فرزندان‬‫خود‬‫منتقل‬‫می‬‫نماید‬‫تا‬‫آنها‬‫دیگر‬‫مجبور‬‫به‬‫یادگیری‬‫این‬‫پدیده‬‫نباشند‬. ‫اما‬‫شواهد‬‫تجربی‬‫این‬‫نظر‬‫را‬‫تائید‬‫نمی‬‫کنند‬‫یعنی‬‫تجربیات‬‫فردی‬‫هیچ‬‫تاثیری‬‫در‬‫ترکیب‬‫ژنتیکی‬‫فرزندان‬‫ندارد‬. ‫نظریه‬Baldwin ‫اگر‬‫موجودی‬‫از‬‫طرف‬‫محیط‬‫متغیری‬‫تحت‬‫فشار‬‫قرار‬‫گرفته‬،‫باشد‬‫افرادی‬‫که‬‫توانائی‬‫یادگیری‬‫نحوه‬‫برخورد‬‫با‬ ‫شرایط‬‫را‬‫داشته‬‫باشند‬‫شانس‬‫بیشتری‬‫برای‬‫بقا‬‫دارند‬. ‫موجوداتی‬‫که‬‫تحت‬‫شرایط‬‫جدید‬‫باقی‬‫می‬‫مانند‬‫جمعیتی‬‫با‬‫توانائی‬‫یادگیری‬‫را‬‫تشکیل‬‫می‬‫دهند‬‫که‬‫فرایندهای‬ ‫تکاملی‬‫در‬‫آنها‬‫سریعتر‬‫رخ‬‫می‬‫دهد‬‫و‬‫باعث‬‫می‬‫شود‬‫تا‬‫نسلی‬‫بوجود‬‫بیاید‬‫که‬‫نیازی‬‫به‬‫یادگیری‬‫مواجهه‬‫با‬‫شرایط‬ ‫جدید‬‫را‬‫نداشته‬‫باشند‬. 2‫مثال‬ ‫می‬ ‫نتیک‬ ‫الگوریتم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مسئله‬ ‫چند‬ ‫حل‬ ‫به‬ ‫ادامه‬ ‫در‬.‫پردازیم‬
  • 18. 16 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ .‫کرد‬ ‫اشاره‬ ‫کروموزوم‬ ‫و‬ ‫ژن‬ ‫مفهموم‬ ‫به‬ ‫باید‬ ‫زیر‬ ‫مثال‬ ‫دو‬ ‫درک‬ ‫برای‬ ‫سازنده‬ ‫واحد‬ ‫کوچکترین‬ ‫ژن‬GA‫می‬.‫باشد‬‫در‬‫حقیقت‬‫ژنها‬‫برای‬‫شکل‬ ‫نمایش‬‫کد‬‫شده‬‫پارامترها‬‫می‬‫باشد‬.‫به‬ ‫رشته‬‫ای‬‫از‬،‫ژنها‬‫کروموزوم‬‫می‬‫گویند‬.‫برای‬‫مثال‬‫وقتی‬‫متغیر‬x‫را‬‫به‬‫صورت‬‫باینری‬‫کد‬‫می‬،‫کنیم‬‫هر‬" 0"‫یا‬ " 1"‫یک‬‫ژن‬‫محسوب‬‫می‬‫شود‬‫و‬‫به‬‫رشته‬‫ای‬‫از‬‫این‬" 0”‫و‬"۱"‫متغییر‬ ‫که‬ ‫ها‬x‫حقیقت‬ ‫در‬ ‫و‬ ‫سازند‬ ‫می‬ ‫را‬ .‫گوییم‬ ‫می‬ ‫کروموزوم‬ ،‫متغییرند‬ ‫شده‬ ‫کد‬ ‫شکل‬ ‫مثال‬1 : ‫مساله‬ ‫مربع‬ ‫یک‬ ‫ما‬3×3‫می‬ ‫که‬ ‫داریم‬‫بین‬ ‫اعدادی‬ ‫خواهیم‬۱‫تا‬۱9‫جمع‬ ‫که‬ ‫طوری‬ ‫به‬ ‫دهیم‬ ‫قرار‬ ‫مربع‬ ‫این‬ ‫در‬ ‫را‬ ‫سطر‬ ‫هر‬ ‫در‬ ‫اعداد‬‫برابر‬ ‫ستون‬ ‫و‬24.‫شود‬ ‫گاه‬ ‫هیچ‬ ‫ولی‬ ‫کند‬ ‫حل‬ ‫مشخص‬ ‫زمانی‬ ‫مدت‬ ‫در‬ ‫را‬ ‫آن‬ ‫بتواند‬ ‫انسان‬ ‫یک‬ ‫است‬ ‫ممکن‬ .‫است‬ ‫پیچیده‬ ‫حدودی‬ ‫تا‬ ‫مسئله‬ ‫این‬ ‫الگوریتم‬ ‫ولی‬ .‫کند‬ ‫حل‬ ‫تصادفی‬ ‫اعداد‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫کوتاهی‬ ‫زمان‬ ‫مدت‬ ‫در‬ ‫را‬ ‫آن‬ ‫توانست‬ ‫نخواهد‬ ‫کامپیوتر‬ ‫یک‬ ‫ژنتیک‬‫می‬‫تواند‬‫این‬‫مشکل‬‫را‬‫حل‬‫کند‬. ‫اول‬ ‫نسل‬ ‫ایج‬ ‫گام‬ ‫اولین‬‫صورت‬ ‫به‬ ‫ها‬ ‫ژنوم‬ ‫این‬ .‫است‬ ‫تصادفی‬ ‫ژنوم‬ ‫تعدادی‬ ‫شامل‬ ‫که‬ ‫است‬ ‫کار‬ ‫شروع‬ ‫برای‬ ‫ابتدایی‬ ‫نسل‬ ‫یک‬ ‫کردن‬ ‫اد‬ ‫باینری‬(۰‫و‬۱‫می‬ ‫داده‬ ‫نشان‬ ).‫شوند‬ ‫یک‬ ‫اول‬‫می‬ ‫تولید‬ ‫تصادفی‬ ‫صورت‬ ‫به‬ ‫عدد‬ ‫سری‬‫کروموزوم‬ ‫یا‬ ‫ژنوم‬ ‫هر‬ .‫شوند‬‫شامل‬‫اطالعاتی‬‫برای‬‫هر‬5‫جای‬‫خالی‬‫است‬. ‫چون‬‫ا‬‫اع‬ ‫ین‬‫بین‬ ‫مقادیر‬ ‫داد‬۰‫تا‬۱9‫می‬ ‫دارند‬‫با‬ ‫را‬ ‫آنها‬ ‫توان‬4‫شامل‬ ‫ژنوم‬ ‫هر‬ ‫پس‬ .‫داد‬ ‫نمایش‬ ‫داده‬ ‫ژن‬ ‫یا‬ ‫بیت‬33 .‫است‬ ‫بیت‬ :‫باشد‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫تواند‬ ‫می‬ ‫ژنوم‬ ‫نمونه‬ ‫یک‬ Bits (Genes) 0110 1100 1111 1011 0100۱۰۱۰۰۱۱۱۰۱۰۱۱۱۱۰ Values(Traits) 6 12 15 114۱۰79۱4
  • 19. 17 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫تناسب‬ ‫عدد‬ ‫یک‬ ‫مجموعه‬ ‫در‬ ‫ژنوم‬ ‫هر‬ ‫به‬ ‫باید‬ ‫حاال‬(Fitness‫روش‬ ‫و‬ ‫فرآیند‬ .‫داد‬ ‫نسبت‬ ‫مسئله‬ ‫حل‬ ‫در‬ ‫آن‬ ‫تاثیر‬ ‫بنابر‬ ) ‫محاس‬‫می‬ ‫فرق‬ ‫مسئله‬ ‫هر‬ ‫برای‬ ‫عدد‬ ‫این‬ ‫به‬‫مشکل‬ ‫مسئله‬ ‫برای‬ ‫مناسب‬ ‫الگوی‬ ‫انتخاب‬ .‫کند‬‫حساس‬ ‫و‬ ‫ترین‬‫بخش‬ ‫ترین‬ ‫ژنتیک‬ ‫مسئله‬ ‫حل‬ ‫در‬‫اعدا‬ ‫ما‬ ‫مثال‬ ‫دراین‬ .‫است‬‫می‬ ‫جایگذاری‬ ‫هایشان‬ ‫مکان‬ ‫در‬ ‫را‬ ‫د‬‫می‬ ‫بررسی‬ ‫و‬ ‫کنیم‬‫که‬ ‫کنیم‬ .‫دارند‬ ‫فاصله‬ ‫اصلی‬ ‫جواب‬ ‫با‬ ‫چقدر‬ 33= 25= 26= =33 =25 =26 ۱9 ۱23 ۱۰4۱۱ ۱497 = = = 24 21 39
  • 20. 18 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫از‬ ‫عبارتند‬ ‫معادل‬ ‫مقادیر‬33‫و‬29‫و‬23‫و‬24‫و‬2۱‫و‬35.‫اس‬ ‫واضح‬‫نمی‬ ‫حل‬ ‫را‬ ‫مسئله‬ ‫مقادیر‬ ‫این‬ ‫که‬ ‫ت‬‫مقادیر‬ ‫باید‬ ‫پس‬ .‫کنند‬ ‫از‬ ‫را‬ ‫هرمجموع‬ ‫فاصله‬ ‫ابتدا‬ ‫کار‬ ‫این‬ ‫برای‬ .‫کرد‬ ‫محاسبه‬ ‫ژنوم‬ ‫این‬ ‫برای‬ ‫را‬ ‫تناسب‬24‫معکوس‬ ‫سپس‬ ،‫کرده‬ ‫محاسبه‬ ‫تفاصل‬ ‫مجموع‬‫می‬ ‫محاسبه‬ ‫را‬ ‫آنها‬. ‫کنیم‬ ‫تن‬ ‫درجه‬ ‫بنابراین‬‫برابر‬ ً‫ا‬‫تقریب‬ ‫ژنوم‬ ‫این‬ ‫برای‬ ‫اسب‬۰3۰33‫تناسب‬ ‫عدد‬ ‫باشند‬ ‫نزدیکتر‬ ‫جواب‬ ‫به‬ ‫ما‬ ‫اعداد‬ ‫که‬ ‫هرچقدر‬ .‫است‬ ‫برابر‬ ‫ما‬ ‫مخرج‬ ‫اگر‬ ‫اما‬ .‫شد‬ ‫خواهد‬ ‫بزرگتر‬۰‫برابر‬ ‫ما‬ ‫اعداد‬ ‫همه‬ ‫صورت‬ ‫دراین‬ ‫افتد؟‬ ‫می‬ ‫اتفاقی‬ ‫چه‬ ‫شود‬24‫اند‬ ‫شده‬ .‫ایم‬ ‫رسیده‬ ‫جواب‬ ‫به‬ ‫ما‬ ‫و‬ ‫بعدی‬ ‫نسل‬ ‫تصادف‬ ‫طور‬ ‫به‬ ‫ژنوم‬ ‫دو‬‫ی‬‫می‬ ‫انتخاب‬ ‫بعدی‬ ‫نسل‬ ‫تولید‬ ‫برای‬‫از‬ ‫که‬ ‫است‬ ‫ژنتیک‬ ‫الگوریتم‬ ‫بخش‬ ‫ترین‬ ‫اصلی‬ ‫این‬ .‫شوند‬3 :‫شده‬ ‫تشکیل‬ ‫مرحله‬ ‫انتخاب‬ ‫صفات‬ ‫بعضی‬ ‫و‬ ‫هستند‬ ‫بزرگتری‬ ‫تناسب‬ ‫اعداد‬ ‫دارای‬ ‫ها‬ ‫ژنوم‬ ‫این‬ .‫شوند‬ ‫می‬ ‫انتخاب‬ ‫قبل‬ ‫نسل‬ ‫از‬ ‫تصادفی‬ ‫طور‬ ‫به‬ ‫ژنوم‬ ‫دو‬ ‫آنها‬‫م‬ ‫منتقل‬ ‫بعدی‬ ‫نسل‬ ‫به‬‫ی‬‫معنی‬ ‫بدین‬ ‫این‬ .‫شوند‬.‫بود‬ ‫خواهد‬ ‫افزایش‬ ‫حال‬ ‫در‬ ‫تناسب‬ ‫عدد‬ ‫که‬ ‫است‬ (‫انتخاب‬ ‫تابع‬ ‫برای‬ ‫روش‬ ‫بهترین‬Fitness(‫رولت‬ ‫نام‬ ‫به‬ ‫روشی‬ ‫مسئله‬ ‫این‬ ‫در‬ )Roulette‫تصادفی‬ ‫عدد‬ ‫یک‬ ‫اول‬ .‫است‬ ) ‫بین‬۰:‫بود‬ ‫خواهد‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫انتخاب‬ ‫تابع‬ .‫شود‬ ‫می‬ ‫انتخاب‬ ‫قبلی‬ ‫نسل‬ ‫تناسب‬ ‫عدد‬ ‫و‬ RouletteSelection() { );float ball = rand_float_between(0.0, total_fitness ;float slice = 0.0 for each genome in population
  • 21. 19 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ { ;slice += genome. fitness if ball<slice ;return genome } } (‫بعدی‬ ‫نسل‬ ‫به‬ ‫نسل‬ ‫یک‬ ‫از‬ ‫تغییر‬Cross over) ‫دو‬ ‫حاال‬‫ژن‬ ‫از‬ ‫بخشی‬ ‫ژنوم‬‫هایشان‬‫می‬ ‫اهدا‬ ‫بعدی‬ ‫نسل‬ ‫ایجاد‬ ‫برای‬ ‫را‬‫به‬ ‫تغییر‬ ‫بی‬ ‫همانطور‬ ‫نکنند‬ ‫پیدا‬ ‫تغییر‬ ‫آنها‬ ‫اگر‬ .‫کنند‬ ‫درجه‬ .‫شد‬ ‫خواهند‬ ‫منتقل‬ ‫بعدی‬ ‫نسل‬Crossover‫یک‬ ‫وقت‬ ‫چند‬ ‫هر‬ ‫که‬ ‫است‬ ‫این‬ ‫دهنده‬ ‫نشان‬‫تغییر‬ ‫ها‬ ‫ژنوم‬ ‫بار‬ ‫حدود‬ ‫در‬ ‫باید‬ ‫عدد‬ ‫این‬ ‫و‬ ‫کرد‬ ‫خواهند‬ ‫پیدا‬39-59%.‫باشد‬ ‫تص‬ ‫مکان‬ ‫یک‬ ‫انتخاب‬ ‫با‬ ‫ما‬ ‫مثال‬ ‫باینری‬ ‫های‬ ‫ژنوم‬ ‫در‬ ‫تغییر‬ ‫عملگر‬‫می‬ ‫آغاز‬ ‫تغییر‬ ‫برای‬ ‫ژنوم‬ ‫در‬ ‫ادفی‬‫ژن‬ ‫اول‬ ‫بخش‬ .‫شود‬ ‫ژن‬ ‫دوم‬ ‫بخش‬ ‫و‬ ‫پدر‬ ‫های‬‫می‬ ‫ترکیب‬ ‫هم‬ ‫با‬ ‫مادر‬ ‫های‬‫تا‬ )‫بالعکس‬ ‫شوند(و‬2‫تغییر‬ ‫عمل‬ ‫زیریک‬ ‫در‬ .‫شوند‬ ‫تولید‬ ‫فرزند‬ ‫را‬‫می‬‫بینیم‬. Before Crossing Father 011110010011 001011011000111011010000 Mother 010100111110 010101111101000100010010 After Crossing Child1 011110010011 010101111101000100010010 Child2 010100111110 001011011000111011010000 (‫جهش‬Mutation)
  • 22. 21 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫احتمال‬ ،‫بگیرند‬ ‫قرار‬ ‫بعدی‬ ‫نسل‬ ‫در‬ ‫ها‬ ‫ژنوم‬ ‫که‬ ‫این‬ ‫از‬ ‫قبل‬‫دچا‬ ‫دارد‬‫شوند‬ ‫ناگهانی‬ ‫تغییر‬ ‫یا‬ ‫جهش‬ ‫ر‬‫تغییر‬ ‫یک‬ ‫جهش‬ . ‫از‬ ‫بیت‬ ‫یک‬ ‫تغییر‬ ‫معنای‬ ‫به‬ ‫تغییر‬ ‫این‬ ‫باینری‬ ‫ژنهای‬ ‫در‬ .‫است‬ ‫ژن‬ ‫در‬ ‫ناگهانی‬۰‫به‬۱‫از‬ ‫یا‬۱‫به‬۰‫جهش‬ ‫درجه‬ .‫است‬ ‫بین‬ ً‫ا‬‫تغریب‬ ‫و‬ ‫است‬ ‫ژن‬ ‫یک‬ ‫در‬ ‫جهش‬ ‫بروز‬ ‫احتمال‬ ‫دهنده‬ ‫نشان‬۱-9%‫و‬ ‫باینری‬ ‫ژنهای‬ ‫برای‬9-2۰%‫ژنهای‬ ‫برای‬ ‫اس‬ ‫عددی‬.‫ت‬ ‫مثال‬2 ‫معروف‬ ‫مسئله‬ ‫کنیم‬ ‫بررسی‬ ‫الگوریتم‬ ‫این‬ ‫با‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫دومی‬ ‫مسئله‬5.‫باشد‬ ‫می‬ ‫وزیر‬ ‫از‬ ‫چیدمانی‬ ‫کردن‬ ‫مشخص‬ ‫هدف‬5‫صفحه‬ ‫در‬ ‫وزیر‬‫ی‬‫هیچ‬ ‫که‬ ‫نحوی‬ ‫به‬ ‫است‬ ‫شطرنج‬.‫نکند‬ ‫تهدید‬ ‫را‬ ‫همدیگر‬ ‫یک‬ .‫کنیم‬ ‫تولید‬ ‫را‬ ‫اولیه‬ ‫نسل‬ ‫باید‬ ‫ابتدا‬‫شطرنج‬ ‫صفحه‬5‫در‬5‫اعداد‬ ‫با‬ ‫را‬ ‫ستونها‬ .‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬۰‫تا‬7‫را‬ ‫سطرها‬ ‫و‬ ‫از‬ ‫هم‬۰‫تا‬7‫می‬ ‫مشخص‬‫و‬ ‫تصادفی‬ ‫بصورت‬ ‫اولیه‬ )‫(کروموزومها‬ ‫حاالت‬ ‫تولید‬ ‫برای‬ .‫کنیم‬‫ستونهای‬ ‫در‬ ‫را‬ ‫زیرها‬ ‫می‬ ‫قرار‬ ‫مختلف‬‫افزایش‬ ‫را‬ ‫جواب‬ ‫به‬ ‫رسیدن‬ ‫سرعت‬ ‫بهتر‬ ‫شرایط‬ ‫با‬ ‫اولیه‬ ‫نسل‬ ‫وجود‬ ‫که‬ ‫داشت‬ ‫نظر‬ ‫در‬ ‫باید‬ .‫دهیم‬ ‫می‬‫وزیر‬ ‫خاطر‬ ‫همین‬ ‫به‬ )‫نژاد‬ ‫(اصالت‬ ‫دهد‬i‫خانه‬ ‫در‬ ‫را‬ ‫ام‬‫ی‬‫ستون‬ ‫در‬ ‫تصادفی‬i‫می‬ ‫قرار‬ ‫ام‬‫اینکه‬ ‫جای‬ ‫(به‬ ‫دهیم‬ ‫مهره‬ ‫هر‬‫ق‬ ‫خالی‬ ‫خانه‬ ‫هر‬ ‫در‬ ‫بتواند‬ ‫ای‬‫می‬ ‫جلوگیری‬ ‫وزیرها‬ ‫ستونی‬ ‫برخورد‬ ‫از‬ ‫حداقل‬ ‫اینکار‬ ‫با‬ .)‫بگیرد‬ ‫رار‬‫ت‬ .‫شود‬‫وضیح‬ ‫در‬ ‫تصادفی‬ ‫بطور‬ ‫را‬ ‫اول‬ ‫وزیر‬ ً‫ال‬‫مث‬ ‫اینکه‬ ‫بیشتر‬‫خانه‬‫های‬‫با‬ ‫که‬ ‫اول‬ ‫ستون‬۰‫می‬ ‫قرار‬ ‫شده‬ ‫مشخص‬.‫اخر‬ ‫به‬ ‫تا‬ ‫دهیم‬ I=0,1,…7‫حالت‬ ‫هر‬ ‫دادیم‬ ‫قرار‬ ‫وزیر‬ ‫یک‬ ‫ستون‬ ‫هر‬ ‫در‬ ‫چون‬ .‫کرد‬ ‫مدل‬ ‫کمی‬ ‫نحوی‬ ‫به‬ ‫را‬ ‫حالت‬ ‫این‬ ‫باید‬ ‫حال‬ ‫بوسیله‬ ‫را‬‫ی‬‫عدد‬ ‫که‬ ‫اعدادی‬ ‫رشته‬k‫شماره‬ ‫رشته‬ ‫این‬ ‫در‬ ‫ام‬‫ی‬‫ستون‬ ‫در‬ ‫موجود‬ ‫وزیر‬ ‫سطر‬i‫می‬ ‫نشان‬ ‫را‬ ‫ام‬.‫دهد‬ ‫می‬ ‫کردیم‬ ‫انتخاب‬ ‫که‬ ‫حالت‬ ‫یک‬ ‫یعنی‬:‫باشد‬ ‫زیر‬ ‫بصورت‬ ‫تواند‬372۰3422‫که‬3‫شماره‬‫ی‬‫سطر‬3‫وزیر‬ ‫که‬ ‫است‬ ‫شماره‬ ‫که‬ ‫اول‬‫ی‬‫ستونش‬۰‫می‬ ‫است‬‫کنید‬ ‫فرض‬ .‫اخر‬ ‫تا‬ ‫باشد‬4‫شده‬ ‫تولید‬ ‫تصادف‬ ‫به‬ ‫زیر‬ ‫حالت‬‫حالت‬ ‫چهار‬ ‫این‬ .‫اند‬ ‫می‬ ‫بکار‬ ‫اولیه‬ ‫کروموزومهای‬ ‫بعنوان‬ ‫را‬‫گیریم‬. ۱.)372۰3422 2.)7۰۰33394 3.)۱7922۰33 4.)433۰247۱ ‫تناسب‬ ‫تابع‬ ‫به‬ ‫نوبت‬ ‫حال‬fitness function‫می‬‫می‬ ‫نظر‬ ‫در‬ ‫که‬ ‫را‬ ‫تابعی‬ .‫رسد‬‫هر‬ ‫برای‬ ‫که‬ ‫است‬ ‫تابعی‬ ‫گیریم‬ ‫می‬ ‫نظر‬ ‫در‬ ‫را‬ )‫(تهدیدها‬ ‫برخوردها‬ ‫تعداد‬ ‫حالت‬‫احتمال‬ ‫پس‬ .‫است‬ ‫تابع‬ ‫این‬ ‫کردن‬ ‫حداقل‬ ‫یا‬ ‫کردن‬ ‫صفر‬ ‫هدف‬ .‫گیرد‬ ‫کروموزو‬ ‫انتخاب‬‫تابع‬ ‫توسط‬ ‫شده‬ ‫محاسبه‬ ‫مقدار‬ ‫که‬ ‫است‬ ‫بیشتر‬ ‫نسل‬ ‫تولید‬ ‫برای‬ ‫می‬‫تناسب‬‫کمت‬ ‫آن‬ ‫برای‬‫ر‬ ‫مقدار‬ )‫دارد‬ ‫وجود‬ ‫انتخاب‬ ‫برای‬ ‫نیز‬ ‫دیگری‬ ‫باشد.(روشهای‬‫تناسب‬‫می‬ ‫زیر‬ ‫بصورت‬ ‫اولیه‬ ‫حاالت‬ ‫برای‬‫(مقدا‬ :‫باشد‬‫ر‬ ‫عدد‬‫تناسب‬‫(با‬ ‫کروموزوم‬ ‫هر‬ ‫جلوی‬ ‫در‬‫قرمز‬ ‫رنگ‬‫می‬ ‫وزیران‬ ‫برخوردهای‬ ‫تعداد‬ ‫)همان‬)‫باشد‬
  • 23. 21 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ۱.)372۰342۰←3 2.)7۰۰33394←5 3.)۱7922۰33←2 4.)433۰247۱←4 :‫است‬ ‫زیر‬ ‫بصورت‬ ‫احتمالها‬ ‫پس‬ P(3)>p(4)>p(1)>p(2) ‫کرو‬ ‫اینجا‬ ‫در‬‫می‬ ‫انتخاب‬ ‫را‬ ‫موزومهایی‬‫که‬ ‫کنیم‬‫تناسب‬ ‫مقدار‬‫کروموزوم‬ ‫پس‬ .‫دارند‬ ‫کمتری‬3‫برای‬crossover ‫کروموزومهای‬ ‫با‬4‫و‬۱‫می‬ ‫انتخاب‬‫نقطه‬ .‫شود‬‫ی‬‫ارقام‬ ‫بین‬ ‫را‬ ‫ترکیب‬3‫و‬7‫می‬ ‫نظر‬ ‫در‬.‫گیریم‬ 4‫و‬3: ۱.)۱7922۰7۱ 2.)433۰2433 ۱‫و‬3: ۱.)۱7922۰2۰ 2.)372۰3433 ‫می‬ ‫جهش‬ ‫به‬ ‫نوبت‬ ‫حال‬‫کند‬ ‫تغییر‬ ‫ژنها‬ ‫از‬ ‫یکی‬ ‫باید‬ ‫جهش‬ ‫در‬ .‫رسد‬ ‫فرض‬ .‫کروموزومهای‬ ‫بین‬ ‫از‬ ‫کنید‬9‫تا‬5‫شماره‬ ‫کروموزوم‬‫ی‬7‫از‬ ‫چهارم‬ ‫ژن‬ ‫بین‬ ‫از‬ ‫و‬2‫به‬3‫نسل‬ ‫پس‬ .‫یابد‬ ‫جهش‬ ‫می‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫امتیازات‬ ‫با‬ ‫زیر‬ ‫کروموزومهای‬ ‫شامل‬ ‫ما‬‫می‬ ‫برخوردها‬ ‫تعداد‬ ‫(امتیازات‬ :‫باشد‬)‫باشد‬ ۱.)372۰342۰←3 2.)7۰۰33394←5 3.)۱7922۰33←2 4.)433۰247۱←4 9.)۱7922۰7۱←3 3.)433۰2433←4 7.)۱7932۰2۰←4
  • 24. 22 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ 5.)372۰3433←9 ‫کروموزوم‬3‫با‬ ‫ترکیب‬ ‫برای‬ ‫خوبی‬ ‫کاندیدای‬3‫و‬7‫می‬‫نقطه‬ ‫و‬ ‫نگیرد‬ ‫صورت‬ ‫جهشی‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫(فرض‬ .‫باشد‬‫ی‬ ‫ژنهای‬ ‫بین‬ ‫اتصال‬۱‫و‬2)‫باشد‬ ۱.)372۰342۰←3 2.)7۰۰33394←5 3.)۱7922۰33←2 4.)433۰247۱←4 9.)۱7922۰7۱←3 3.)433۰2433←4 7.)۱7932۰3۰←4 5.)372۰3433←9 5.)۱33۰2433←2 ۱۰.)47922۰33←2 ۱۱.)۱7922۰2۰←4 ۱2.)۱7922۰33←2 ‫از‬ ‫کروموزومهای‬5‫تا‬۱2‫می‬ ‫جدید‬ ‫نسل‬ ‫را‬‫کروموزوم‬ ‫مشخص‬ ‫بطور‬ .‫گوییم‬‫جواب‬ ‫به‬ ‫جدید‬ ‫نسل‬ ‫در‬ ‫شده‬ ‫تولید‬ ‫های‬ ‫شده‬ ‫نزدیکتر‬ ‫مسئله‬‫ادامه‬ ‫با‬ .‫اند‬‫ی‬‫ن‬ ‫مورد‬ ‫جواب‬ ‫به‬ ‫مرحله‬ ‫چند‬ ‫از‬ ‫پس‬ ‫روند‬ ‫همین‬.‫رسید‬ ‫خواهیم‬ ‫ظر‬
  • 25. 23 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫باال‬ ‫شکل‬‫می‬ ‫نشان‬ ‫شما‬ ‫به‬ ‫را‬ ‫الگوریتم‬ ‫این‬ ‫عملکرد‬ ٔ‫ه‬‫نحو‬ ‫از‬ ‫کلی‬ ‫شمای‬.‫دهد‬ : ‫باید‬ ‫نهایت‬ ‫در‬ ‫کاری‬ ‫چه‬ ‫باید‬ ‫گردد‬ ‫معنی‬ ‫بی‬ ‫های‬ ‫فرضیه‬ ‫به‬ ‫منجر‬ ‫ها‬ ‫بیت‬ ‫از‬ ‫بعضی‬ ‫ترکیب‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫مشکل‬ ‫این‬ ‫حل‬ ‫برای‬ ‫داد؟‬ ‫انجام‬ ‫می‬‫توان‬‫از‬‫روش‬‫انکدینگ‬‫دیگری‬‫استفاده‬‫نمود‬.‫ا‬ ‫یا‬‫پراتورهای‬‫ژنتیکی‬‫را‬‫طوری‬‫تعیین‬‫نمود‬‫که‬‫چنین‬‫حالتهائی‬ ‫را‬‫حذف‬‫نمایند‬‫می‬ ‫همچنین‬ ‫و‬‫توان‬‫به‬‫این‬‫فرضیه‬‫ها‬‫مقدار‬fitness‫خیلی‬‫کمی‬‫نسبت‬‫داد‬.
  • 26. 24 ‫ژنتیکی‬ ‫های‬ ‫الگوریتم‬ ‫منابع‬ ۱.https://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D9%88%D8% B1%DB%8C%D8%AA%D9%85_%DA%98%D9%86%D8%AA%DB%8C %DA%A9 2.http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web& cd=4&ved=0ahUKEwjTkvKF3fLJAhVB44MKHccpAYkQFgg6MAM&url =http%3A%2F%2Fceit.aut.ac.ir%2F~shiry%2Flecture%2FDSS%2FGA.ppt &usg=AFQjCNGJEmoV68oTejxF9KCAFernYdWaJQ&bvm=bv.11015184 a4,d.eWE&cad=rj 3.algorithms.html-http://www.beytoote.com/scientific/midanid/genetic 4.