‫ب‬‫ه‬‫خدا‬ ‫نام‬
‫بناب‬ ‫دانشگاه‬
‫کامپیوتر‬ ‫مهندسی‬ ‫گروه‬
‫ژنتیک‬ ‫الگوریتم‬
‫کنندگان‬ ‫تهیه‬
‫ریاضی‬ ‫لیال‬-‫عزتی‬ ‫سعیده‬
‫استاد‬‫راهنما‬
‫دکتر‬ ‫آقای‬ ‫جناب‬‫دهخوارقانی‬
‫اردیبهشت‬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.

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

  • 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.