مروري بر الگوريتمهاي ژنتيكي
1- مقدمه
الگوريتم ژنتيك، الهامي از علم ژنتيك و نظرية تكامل داروين است و بر اساس بقاي برترينها يا انتخاب طبيعي استوار است. يك كاربرد متداول الگوريتم ژنتيك، استفاده از آن بعنوان تابع بهينهكننده است. الگوريتم ژنتيك ابزار سودمندي دربازشناسي الگو ،انتخاب ويژگي،درك تصويرو يادگيري ماشيني است [19-14]. در الگوريتمهاي ژنتيكي[1], نحوه تكامل ژنتيكي موجودات زنده شبيهسازي ميشود.
اگرچه كارهايي توسط يك زيست شناس به نام Fraser در زمينه مدل سازي تكامل در سيستمهاي بيولوژيك در دهه 60 ميلادي صورت گرفت ولي الگوريتم ژنتيك براي كاربردهاي مهندسي و به صورت امروزي آن نخستين بار توسط جان هلند[2] متخصص علوم كامپيوتر دانشگاه ميشيگان در سال 1975 پيشنهاد گرديد. كار وي آغاز تمامي كوشش ها براي كاربرد الگوريتم ژنتيك در مهندسي است . پس از آن كارهاي Dejong در سال 1975 در زمينه بررسي و مقايسه چندين روش الگوريتم ژنتيك پايههاي نظري بحث را فراهم آورد. اين الگوريتم با الهام از طبيعت بر پايه اصل تكاملي «پايداري بهترينها» (Survival of the fittest) استوار است. الگوريتم ژنتيك اگرچه پس از الگوريتم استراتژي تكاملي پيشنهاد گرديد ولي مشهورترين روش از بين الگوريتمهاي تكاملي است. در يك الگوريتم ژنتيك يك جمعيت از افراد طبق مطلوبيت آنها در محيط بقا مي يابند. افرادي با قابليتهاي برتر، شانس ازدواج وتوليد مثل بيشتري را خواهند يافت. بنابراين بعد از چند نسل فرزنداني با كارايي بهتر بوجود ميآيند. در الگوريتم ژنتيك هر فرد از جمعيت بصورت يك كروموزوم معرفي ميشود. كروموزومها در طول چندين نسل كاملتر ميشوند. در هر نسل كروموزومها ارزيابي ميشوند و متناسب با ارزش خود امكان بقا و تكثيرمييابند. توليد نسل در بحث الگوريتم ژنتيك با عملگرهاي همبري3 و جهش4 صورت ميگيرد.والدين برتر بر اساس يك تابع برازندگي انتخاب ميشوند.
در هر مرحله از اجراي الگوريتم ژنتيكي, يك دسته از نقاط فضاي جستجو مورد پردازشهاي تصادفي قرار ميگيرند. به اين صورت كه به هر نقطه دنبالهاي از كاراكترها نسبت داده ميشود و بر روي اين دنبالهها, عملگرهاي ژنتيكي اعمال ميشود. سپس دنبالههاي بدست آمده ديكد ميگردد تا نقاط جديدي در فضاي جستجو بدست آيد. در آخر براساس اين كه تابع هدف در هر يك از نقاط چه مقدار باشد, احتمال شركت نمودن آنها در مرحله بعد تعيين ميگردد]1-5[.
الگوريتمهاي ژنتيكي را ميتوان يك روش بهينهسازي تصادفي جهتدار دانست كه به تدريج به سمت نقطه بهينه حركت ميكند. در مورد ويژگيهاي الگوريتم ژنتيك در مقايسه با ديگر روشهاي بهينه سازي ميتوان گفت كه الگوريتمي است كه بدون داشتن هيچ گونه اطلاعي از مسئله و هيچ گونه محدوديتي بر نوع متغيرهاي آن براي هر گونه مسئله اي قابل اعمال است و داراي كارآيي اثبات شدهاي در يافتن بهينه كلي (Global Optimum) ميباشد. توانايي اين روش در حل مسائل پيچيده بهينهسازي, است كه روشهاي كلاسيك يا قابل اعمال نيستند و يا دريافتن بهينه كلي قابل اطمينان نيستند] 41 [.
2- ساختار الگوريتمهاي ژنتيكي
به طور كلي, الگوريتمهاي ژنتيكي از اجزاء زير تشكيل ميشوند:
در الگوريتمهاي ژنتيكي, هر كروموزوم نشان دهنده يك نقطه در فضاي جستجو و يك راهحل ممكن براي مسئله مورد نظر است. خود كروموزومها (راه حلها) از تعداد ثابتي ژن[4] (متغير) تشكيل ميشوند. براي نمايش كروموزومها, معمولاً از كدگذاريهاي دودويي (رشتههاي بيتي) استفاده ميشود.
مجموعهاي از كروموزومها يك جمعيت را تشكيل ميدهند. با تاثير عملگرهاي ژنتيكي بر روي هر جمعيت, جمعيت جديدي با همان تعداد كروموزوم تشكيل ميشود.
به منظور حل هر مسئله با استفاده از الگوريتمهاي ژنتيكي, ابتدا بايد يك تابع برازندگي براي آن مسئله ابداع شود. براي هر كروموزوم, اين تابع عددي غير منفي را برميگرداند كه نشان دهنده شايستگي يا توانايي فردي آن كروموزوم است.
در الگوريتمهاي ژنتيكي, در طي مرحله توليد مثل[7] ازعملگرهاي ژنتيكي استفاده ميشود. با تاثير اين عملگرها بر روي يك جمعيت, نسل[8] بعدي آن جمعيت توليد ميشود. عملگرهاي انتخاب[9] , آميزش[10] و جهش[11] معمولاً بيشترين كاربرد را در الگوريتمهاي ژنتيكي دارند.
3- عملگرهاي ژنتيكي
در بخش قبلي اشاره شد كه در الگوريتمهاي ژنتيكي به منظور توليد مثل, معمولاً از عملگرهاي انتخاب, آميزش و جهش استفاده ميشود. در اين بخش, هر يك از عملگرهاي فوق به صورت جداگانه معرفي ميشود:
اين عملگر از بين كروموزومهاي موجود در يك جمعيت, تعدادي كروموزوم را براي توليد مثل انتخاب ميكند. كروموزومهاي برازندهتر شانس بيشتري دارند تا براي توليد مثل انتخاب شوند.
عملگر آميزش بر روي يك زوج كروموزوم از نسل مولد عمل كرده و يك زوج كروموزوم جديد توليد ميكند. عملگرهاي آميزش متعددي از قبيل, آميزش تك نقطهاي[12] و آميزش دو نقطهاي[13] وجود دارد.
در آميزش تك نقطهاي, يك موقعيت تصادفي بين دو ژن در نظر گرفته ميشود. سپس تمامي ژنهاي طرف راست يا طرف چپ اين موقعيت در كروموزومهاي والد با يكديگر جابجا ميشوند تا كروموزومهاي جديد بدست آيند. در شكل 1 آميزش تك نقطهاي نشان داده شده است.
در آميزش دو نقطهاي, دو موقعيت به صورت تصادفي انتخاب ميشود و تمامي ژنهاي بين اين دو موقعيت در كروموزومهاي والد با يكديگر جابجا ميشوند.
لازم به ذكر است كه آميزش معمولاً بر روي همه زوج كروموزومهاي انتخاب شده براي جفتگيري به كار برده نميشود. معمولاً احتمال آميزش براي هر زوج كروموزوم بين 6/0 تا 95/0 در نظر گرفته ميشود كه به اين عدد نرخ آميزش[14] يا احتمال آميزش[15] گفته ميشود و با Pc نمايش داده ميشود. در صورتي كه بر روي يك زوج كروموزوم عمل آميزش صورت نگيرد, فرزندان با تكرار نمودن والدين توليد ميشوند.
پس از اتمام عمل آميزش, عملگر جهش بر روي كروموزومها اثر داده ميشود. اين عملگر يك ژن از يك كروموزوم را به طور تصادفي انتخاب نموده و سپس محتواي آن ژن را تغيير ميدهد. اگر ژن از جنس اعداد دودويي باشد, آن را به وارونش تبديل ميكند و چنانچه متعلق به يك مجموعه باشد, مقدار يا عنصر ديگري از آن مجموعه را به جاي آن ژن قرار ميدهد. در شكل 2 چگونگي جهش يافتن پنجمين ژن يك كروموزوم نشان داده شده است.
احتمال انجام عمل جهش بر روي هر كروموزوم را نرخ جهش[16] يا احتمال جهش[17] ميگويند و با Pm نمايش ميدهند. معمولاً اين عدد را بسيار كوچك (مثلاً 001/0) در نظر ميگيرند.
پس از اتمام عمل جهش, كروموزومهاي توليد شده به عنوان نسل جديد شناخته شده و براي دور بعد اجراي الگوريتم ارسال ميشوند.
4- روند كلي الگوريتمهاي ژنتيكي
در شكل 3 يك الگوريتم ژنتيكي استاندارد, و در شكل 4 نمودار گردشي الگوريتمهاي ژنتيكي نشان داده شده است.
قبل از اين كه يك الگوريتم ژنتيكي بتواند اجرا شود, ابتدا بايد كدگذاري (يا نمايش) مناسبي براي مسئله مورد نظر پيدا شود. همچنين يك تابع برازندگي نيز بايد ابداع شود تا به هر راه حل كدگذاري شده ارزشي را نسبت دهد. در طي اجرا, والدين براي توليد مثل انتخاب ميشوند و با استفاده از عملگرهاي آميزش و جهش با هم تركيب ميشوند تا فرزندان جديدي توليد كنند. اين فرآيند چندين بار تكرار ميشود تا نسل بعدي جمعيت توليد شود. سپس اين جمعيت بررسي ميشود و در صورتي كه ضوابط همگرايي[18] برآورده شوند, فرآيند فوق خاتمه مييابد.
شكل 4 نمودار گردشي الگوريتمهاي ژنتيكي
|
|
5- آشنايي با روشهاي انتخاب در الگوريتمهاي ژنتيكي
ايده اصلي در روشهاي انتخاب اين است كه افراد بهتر بر افراد بدتر ترجيح داده شوند, كه بهتر و بدتر بودن افراد توسط تابع برازندگي f تعريف ميشود.
روشهاي انتخاب متعددي براي استفاده در الگوريتمهاي ژنتيكي پيشنهاد شدهاند. يكي از ويژگيهاي خوب روشهاي انتخاب اين است كه اين روشها مستقل از نمايش افراد جمعيت هستند و در آنها تنها مقادير برازندگي افراد در نظر گرفته ميشود.
در ادامه اين گزارش, ابتدا اصطلاحاتي كه معمولاً در روشهاي انتخاب مورد استفاده قرار ميگيرند, توضيح داده ميشوند. سپس, برخي از روشهاي انتخاب متداول كه در الگوريتمهاي ژنتيكي مورد استفاده قرار گرفتهاند, معرفي ميشوند.
همگرايي[19], پيشرفت به سوي افزايش يكنواختي محسوب ميشود. يك ژن همگرا گفته ميشود, هنگامي كه 95% افراد جمعيت مقدار يكساني را به اشتراك گذارند. يك جمعيت هم همگرا گفته ميشود, هنگامي كه همه ژنها همگرا شده باشند. هنگامي كه يك جمعيت همگرا ميشود, متوسط برازندگيها به برازندگيهاي بهترين افراد آن جمعيت نزديك ميشود.
يكي از مشكلات شناخته شده در الگوريتمهاي ژنتيكي اين است كه ژنهاي تعدادي از افراد نسبتاً قوي (امّا نه بهينه) ممكن است به سرعت بر جمعيت غلبه پيدا كنند و سبب شوند كه الگوريتم به يك نقطه بهينه محلي همگرا شود. به محض همگرا شدن جمعيت به يك نقطه بهينه محلي (همگرايي زودرس[20]), توانايي الگوريتم ژنتيكي براي ادامه جستجو به منظور يافتن راه حلهاي بهتر از بين ميرود.
نرخ انتظار[21] هر فرد, تعداد دفعاتي است كه پيشبيني ميشود آن فرد براي توليد مثل مجدد انتخاب خواهد شد.
فقدان تنوع[22], نسبت افرادي از جمعيت است كه در طي مرحله انتخاب برگزيده نميشوند. فقدان تنوع بايد تا حد امكان پايين نگه داشته شود, زيرا فقدان تنوع بالا امكان همگرايي زودرس را افزايش ميدهد.
- · فشار انتخاب يا شدت انتخاب
فشار انتخاب[23], معياري كه براساس آن به افراد بسيار قوي امكان داشتن تعداد زيادي فرزند داده ميشود. فشار انتخاب پايين, بدين معني است كه به هر فرد احتمال معقولي براي توليد مثل داده ميشود.
5-1 روشهاي انتخاب
روشهاي انتخاب متعددي براي استفاده در الگوريتمهاي ژنتيكي پيشنهاد شدهاند كه در ادامه اين بخش, برخي از اين روش معرفي ميشوند.
Ø انتخاب متناسب با برازندگي
در نسخه اوليه GA كه توسط جان هلند پيشنهاد شد, از انتخاب متناسب با برازندگي[24] استفاده شده است كه در آن نرخ انتظار هر فرد از تقسيم برازندگي آن فرد بر متوسط برازندگيهاي جمعيت بدست ميآيد. براي پيادهسازي انتخاب متناسب با برازندگي, روشهاي نمونهبرداري متعددي از قبيل چرخ رولت[25] و روش SUS[26] پيشنهاد شدهاند.
- · نمونهبرداري به روش چرخ رولت
در اين روش, به هر فرد قطعهاي[27] از يك چرخ رولت مدور اختصاص داده ميشود. اندازه اين قطعه متناسب با برازندگي آن فرد است. چرخ N بار چرخانده ميشود كه N تعداد افراد در جمعيت است. در هر چرخش, فرد زير نشانگر چرخ انتخاب ميشود و در مخزن والدين نسل بعد قرار ميگيرد. اين روش ميتواند به صورت زير پيادهسازي شود:
1- نرخ انتظار كل افراد جمعيت را جمع كنيد و حاصل آن را T بناميد.
2- مراحل زير را N بار تكرار كنيد:
يك عدد تصادفي r بين 0 و T انتخاب كنيد.
در ميان افراد جمعيت بگرديد و نرخهاي انتظار آنها را با هم جمع كنيد تا اين كه مجموع بزرگتر يا مساوي r شود. فردي كه نرخ انتظارش باعث بيشتر شدن جمع از اين حد ميشود, به عنوان فرد برگزيده انتخاب ميشود.
در نمونهبرداري به روش چرخ رولت, هنگامي كه جمعيت نسبتاً كوچك باشد, تعداد واقعي فرزنداني كه به هر فرد نسبت داده ميشود, اغلب از نرخ انتظار آن فرد دورتر است. به اين دليل, روش نمونهبرداري متفاوتي توسط James Baker تحت عنوان روش SUS پيشنهاد شده است. در اين روش, به جاي N بار چرخاندن چرخ رولت تا N والد انتخاب شوند, چرخ يك بار چرخانده ميشود, امّا از N اشارهگر فاصله داده شده به طور يكسان براي انتخاب N والد استفاده ميشود. قطعه كد زير براي پيادهسازي SUS داده شده است:
ptr = Rand(); /* Returns random number uniformly distributed in [0,1] */
for (sum = i = 0; i < N; i++)
for (sum += ExpVal(i,t); sum > ptr; ptr++)
Select(i);
كه i شاخصي براي افراد جمعيت است و ExpVal(i,t) نرخ انتظار فرد i ام را در دفعه t ام ميدهد. در اين روش تضمين ميشود كه هر فرد i بين حداقل بار و حداكثر بار توليد مثل ميكند. SUS مشكل اصلياي كه همراه با انتخاب متناسب با برازندگي وجود دارد را حل نميكند. معمولاً, در ابتداي جستجو واريانس برازندگي در جمعيت بالا است و تنها تعداد كمي از افراد جمعيت از سايرين خيلي برازندهتر هستند. تحت انتخاب متناسب با برازندگي, اين افراد و نوادگانشان به سرعت در جمعيت تكثير پيدا خواهند كرد, در نتيجه GA را از انجام هر اكتشاف بيشتري باز خواهند داشت كه باعث ميشود GA دچار همگرايي زودرس شود.
Ø Sigma Scaling
براي حل مشكلاتي كه در بالا اشاره شد, محققين چندين روش مقياس گذاري را آزمايش كردهاند. در اين روشها, مقادير خام برازندگي به گونهاي به نرخهاي انتظار نگاشت ميشوند كه GA را كمتر مستعد پذيرش همگرايي زودرس سازند.
يكي از اين روشها, روش Sigma Scaling يا Sigma Truncation است. در اين روش, فشار انتخاب به جاي اين كه وابسته به واريانس برازندگي جمعيت باشد, در طي اجرا نسبتاً ثابت نگه داشته ميشود.
در Sigma Scaling , نرخ انتظار هر فرد تابعي از برازندگي, ميانگين و انحراف معيار جمعيت است. مثالي از نرخ انتظار در اين روش ميتواند به صورت زير باشد:
كه ExpVal(i,t) نرخ انتظار فرد i ام در زمان t , f(i) برازندگي فرد i ام, ميانگين برازندگي جمعيت در زمان t و انحراف معيار برازندگيهاي جمعيت در زمان t است. در تابع فوق, از هر فرد با برازندگي يك انحراف معيار بالاي ميانگين, انتظار 5/1 فرزند ميرود. همچنين, در صورتي كه مقدار ExpVal(i,t) كمتر از 0 باشد, به 1/0 بازنشانده ميشود, به طوري كه افراد با برازندگي خيلي پايين اندكي شانس توليد مثل داشته باشند.
در شروع اجرا, هنگامي كه انحراف معيار برازندگيها معمولاً بالا است, افراد برازندهتر انحرافات معيار زيادي بالاي ميانگين نخواهند داشت. امّا بعداً در طي اجرا كه جمعيت معمولاً همگراتر ميشود و انحراف معيار هم پايينتر ميآيد, افراد برازندهتر برجستهتر خواهند شد كه امكان ادامه تكامل را ميدهد.
Ø انتخاب نخبگان
روش انتخاب نخبگان[28] كه اولين بار توسط De Jong مطرح شده است, به عنوان الحاقي به خيلي از روشهاي انتخاب محسوب ميشود كه GA را وادار ميكند تا بهترين افراد را در هر نسل نگه دارد. چنين افرادي در صورتي كه براي توليد مثل انتخاب نشوند يا توسط آميزش و جهش خراب شوند, ممكن است از بين بروند. بسياري از محققين دريافتهاند كه انتخاب نخبگان به ميزان قابل ملاحظهاي كارايي GA را افزايش ميدهد.
Ø انتخاب Boltzmann
در روش Sigma Scaling فشار انتخاب در طي اجرا ثابت نگه داشته ميشود. امّا در زمانهاي متفاوت در طي يك اجرا, اغلب به مقادير متفاوتي از فشار انتخاب نياز است. به عنوان مثال, در ابتدا ممكن است مناسب باشد تا به افراد با برازندگي كمتر نزديك به نرخ افرادي كه برازندگي بيشتري دارند, امكان توليد مثل داده شود و انتخاب به كندي انجام شود تا مقداري تنوع در جمعيت حفظ شود. امّا بعداً ممكن است مناسب باشد تا انتخاب قويتر باشد تا به افراد خيلي قوي اهميت بيشتري داده شود. با اين فرض كه وجود تنوع اوليه همراه با انتخاب كند به جمعيت امكان داده است تا بخش درستي از فضاي جستجو را پيدا كند.
براي رسيدن به اهداف فوق, روش انتخاب Boltzmann پيشنهاد شده است. در اين روش, يك درجه حرارت[29] دائماً متغير, نرخ انتخاب را بر حسب يك زمانبندي از قبل تنظيم شده كنترل ميكند. در ابتدا درجه حرارت مقدار خيلي زيادي دارد, بدين معني كه فشار انتخاب پايين است (يعني هر فرد اندكي احتمال توليد مثل دارد). درجه حرارت به تدريج پايين آورده ميشود كه باعث افزايش تدريجي فشار انتخاب ميشود. بدين طريق به GA امكان داده ميشود در حاليكه ميزان تنوع را در حد مناسبي نگه ميدارد, همواره به بهترين قسمت از فضاي جستجو نيز نزديكتر شود. يك پيادهسازي معمول از اين روش اين است كه به هر فرد i نرخ انتظار زير را نسبت دهيم:
كه T درجه حرارت است و < >t متوسط جمعيت را در زمان t مشخص ميكند. آزمايش فرمول فوق نشان ميدهد همان طور كه T كاهش مييابد, اختلاف ExpVal(i,t) بين برازندگيهاي پايين و بالا افزايش مييابد. مطلوب اين است كه اين افزايش اختلاف به تدريج در ضمن جستجو اتفاق بيافتد, بنابراين درجه حرارت به تدريج برحسب يك زمان بندي از قبل تعريف شده كاهش مييابد.
Ø انتخاب رتبهاي
روش انتخاب متناسب با برازندگي عموماً در الگوريتمهاي ژنتيكي استفاده ميشود. به دليل اين كه اين روش قسمتي از طرح پيشنهادي اوليه جان هلند بود و همچنين از آن در تئوري schema نيز استفاده شده است. امّا براي بسياري از كاربردها روش انتخاب متناسب با برازندگي نياز به چندين بازسازي دارد تا آن را براي استفاده مناسب سازد. در سالهاي اخير, روشهاي كاملاً متفاوتي براي انتخاب مورد استفاده قرار گرفتهاند. يكي از اين روشها, روش انتخاب رتبهاي[30] است كه هدفاش اين است كه از همگرايي بيش از حد سريع جلوگيري كند. در اين روش, افراد جمعيت برحسب برازندگيشان رتبهبندي ميشوند. نرخ انتظار هر فرد هم به جاي بستگي به برازندگي مطلق, بستگي به رتبه آن فرد دارد. اين صرفنظرسازي از اطلاعات مطلق برازندگي, ميتواند داراي مزايا (استفاده از برازندگي مطلق ميتواند منتهي به مشكلات همگرايي شود) و معايبي (گاهي اوقات ممكن است مهم باشد تا مشخص شود كه يك فرد بسيار شايستهتر از نزديكترين رقيبش است) باشد.
در اين روش, هنگام رتبهبندي از دادن بزرگترين سهم از زاد و ولد به گروه كوچكي از افراد خيلي قوي اجتناب ميشود. بنابراين, در اين روش هنگامي كه واريانس برازندگي بالا است, فشار انتخاب كاهش داده ميشود. همچنين, هنگامي كه واريانس برازندگي پايين است, فشار انتخاب ثابت نگه داشته خواهد شد: نسبت نرخهاي انتظار افراد رتبه i ام و i+1 ام يكسان خواهد شد, بدون توجه به اين كه اختلافات برازندگي مطلقشان بالا يا پايين است.
انواع متفاوتي از طرحهاي رتبهبندي (از قبيل رتبهبندي خطي[31] و رتبهبندي تواني[32]) پيشنهاد شدهاند. در روش رتبه بندي خطي (كه توسط Baker پيشنهاد شده است), افراد جمعيت برحسب ترتيب افزايشي برازندگيشان از 1 تا N رديف ميشوند. كاربر نرخ انتظار Max (Max ≥ 0) را براي فرد با رتبه N انتخاب ميكند. نرخ انتظار هر فرد i در جمعيت در زمان t از رابطه زير بدست ميآيد:
ExpVal(i,t) = Min + ( Max-Min)
|
|
كه Min نرخ انتظار فرد با رتبه 1 است. با فرض محدوديتهاي Max ≥ 0 و (از آنجا كه اندازه جمعيت از نسلي به نسل ديگر ثابت ميماند), لازم است 0 ≤ Max ≤ 1 و Min = 2-Max باشد.
در هر نسل افراد جمعيت رتبهبندي ميشوند و به هر فرد برحسب معادله فوق نرخهاي انتظاري نسبت داده ميشود. Baker توصيه كرد كه Max = 1.1 باشد و نشان داد كه اين طرح در مقايسه با روش انتخاب متناسب با برازندگي بر روي برخي از مسائل آزمايشي مطلوبتر است.
روش انتخاب رتبهاي داراي معايبي است. يكي از معايب اين روش اين است كه با كند شدن فشار انتخاب, توانايي GA در پيدا نمودن افراد بسيار قوي كاهش خواهد يافت. هر چند, به دليل اين كه رتبهبندي تنوع را حفظ ميكند, باعث جستجوي موفقيتآميزتر فضاي جستجو ميشود و در آن از همگرايي سريع كه ميتواند از انتخاب متناسب با برازندگي نتيجه شود, جلوگيري به عمل ميآيد.
لازم به ذكر است كه در هر روش رتبهبندي, به محض اين كه نرخهاي انتظار به هر فرد نسبت داده شد, از روش SUS ميتوان براي نمونهبرداري از جمعيت (يعني انتخاب والدين) استفاده نمود.
Ø انتخاب تورنمنت
روشهاي انتخابي كه تاكنون توصيف شدند, در هر نسل نياز به دوبار عبور از ميان جمعيت دارند:
يك بار براي محاسبه ميانگين برازندگي و يك بار هم براي محاسبه نرخ انتظار هر فرد. در روش انتخاب رتبهاي, لازم است تا تمام افراد جمعيت براساس رتبهشان مرتب شوند كه يك رويه وقتگير است. انتخاب تورنمنت[33] مشابه با انتخاب رتبهاي برحسب فشار انتخاب است, امّا از نظر محاسباتي كارآتر و براي پيادهسازيهاي موازي مناسبتر است. در اين روش, دو فرد از جمعيت به صورت تصادفي انتخاب ميشوند. سپس, يك عدد تصادفي r بين 0 و 1 انتخاب ميشود. اگر r < k (كه k يك پارامتر است, براي مثال 75/0) باشد, فرد برازندهتر و در غير اينصورت فردي كه برازندگي كمتري دارد, به عنوان والد انتخاب ميشود. اين دو سپس به جمعيت اوليه بازگردانده ميشوند و دوباره در فرآيند انتخاب شركت داده ميشوند.
6- شرط پايان الگوريتم
در الگوريتمهاي تكاملي غالباً اجراي برنامه براي تعداد نسلهاي از پيش تعيين شدهاي صورت ميگيرد. اما شرط ديگري نيز براي پايان الگوريتمهاي ژنتيك توسط Grefenstette ] 39[ ارائه شده است كه آن ميزان پراكندگي بيتها درون جمعيت ميباشد (Bit Diversity) . اين محك نشان دهنده ميزان همگرا شدن كد اعضاي جمعيت ميباشد. اگر كد يك عنصر داراي طول l بيت باشد و به صورت نشان داده شود و (كه تعداد اعضاي جمعيت است)، مقدار پراكندگي بيت جمعيت P، b(P) به صورت زير تعريف ميشود:
(23-4)
هر اندازه ميزان b بزرگتر باشد ميزان پراكندگي بيتها درون جمعيت كمتر خواهد بود. در حالت ويژه اگر b(P)=1 باشد به اين معني است كه كد همه اعضاي جمعيت يكسان است. شرط پايان به صورت b(p)> تعريف ميشود كه معمولا99/0 95/0 ميباشد.
7- برخي از كاربرد الگوريتمهاي ژنتيكي
الگوريتمهاي ژنتيكي در حل بسياري از مسائل علمي و مهندسي به كار گرفته شدهاند. برخي از موارد كاربرد اين الگوريتمها عبارتند از:
بهينهسازي, برنامهسازي خودكار, يادگيري ماشين, تكامل تدريجي و يادگيري, اكولوژي و سيستمهاي اجتماعي.
6- مراجع
[1] M. Mitchell. An Introduction to Genetic Algorithms, MIT Press, Cambridge, MA, 1996.
[2] D. Beasley, D. Bull and R. Martin. An Overview of Genetic Algorithms: Part 1, Fundamentals, University of Cardiff, Cardiff, 1993.
[3] D. Beasley, D. Bull and R. Martin. An Overview of Genetic Algorithms: Part 2, Research Topics, University of Cardiff, Cardiff, 1993.
[4] P. Brigger. An Overview of Genetic Algorithms,
URL: http://ltswww.epfl.ch/pub_files/brigger/thesis_html/, 1995.
[5] D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning, Addison Wesley, Reading, MA, 1989.
[6] T. Blickle, and L. Thiele. A Comparison of Selection Shemes used in Genetic Algorithms, TIK- Report, Computer Engineering and Communication Networks Lab (TIK), Swiss Federal Institute of Technology (ETH) Zurich, 1995.
[14] Tseng, L.Y. and Yang, S., “Genetic algorithms for clustering , feature selection and
classification” ,IEEE Int. Conference on Neural Networks, pp.1612-1616,1997.
[15] Bala,J.,Huary,J.,Vafaie,H.,De jong, K. and Wechslev,H. “Hybrid learning using genetic algorithms and decision trees for pattern classification” , IJCAI conference , Montreal , August 19-25,1995.
[16] Siedlecki,W. and Sklansky,J., “A note on genetic algorithms for large scale pattern selection” , Pattern Recognition Letters , vol.10,335-347,1989.
17.Vafaie, H. and De Jong, K. “Robust feature selection algorithms” , Proc. of the fifth conference on tools for artificial intelligence, Boston, MA: IEEE Computer Society Press. , pp. 356-363, 1993.
18.Vafaie, H., and De Jong, K., “Genetic algorithms as a tool for feature selection in machine learning”, Proc. of the 4th Int. conference on tools with artificial intelligence,pp.200-204 Arlington,VA, 1992.
19.Vafaie,H. and Imam,I., “Feature selection methods: genetic algorithms vs. greedy-like search”. Proc. of the Int. conference on fuzzy and intelligent control systems, 1994.
[39] Back,T, “ Evolutionary Algorithms in Theory & Practice “ Oxford University Press, 1996.
[41] Fogel, D.B. “ What is Evolutionary Computation?” IEEE Spectrum, Feb 2000, pp. 26-32
[15] Crossover Probability
[17] Mutation Probability
[18] همگرايي پيشرفت به سوي افزايش يكنواختي محسوب ميشود. هنگامي كه يك جمعيت همگرا ميشود, متوسط برازندگيها به برازندگيهاي بهترين افراد آن جمعيت نزديك ميشود.
[20] Premature Convergence
[24] Fitness-Proportionate Selection
[26] Stochastic Universal Sampling
[33] Tournament Selection
:: موضوعات مرتبط:
پروژه مهندسی صنایع،
پایان نامه مهندسی صنایع،
نرم افزار های مهندسی صنایع،
الگوریتم های فرا ابتکاری
:: برچسبها:
پایان نام,
پایان نامه مهندسی صنایع,
انجام پایان نامه مهندسی صنایع,
زنجیره تأمین