کامپیوتر و IT و اینترنتعلوم مهندسیمهندسی صنایع و مواد

آشنایی با الگوریتم ژنتیک دودویی (باینری)

صفحه 1:

صفحه 2:

صفحه 3:

صفحه 4:

صفحه 5:

صفحه 6:

صفحه 7:

صفحه 8:

صفحه 9:

صفحه 10:

صفحه 11:

صفحه 12:

صفحه 13:

صفحه 14:

صفحه 15:

صفحه 16:

صفحه 17:

صفحه 18:

صفحه 19:

صفحه 20:

صفحه 21:

صفحه 22:

صفحه 23:

صفحه 24:

صفحه 25:

صفحه 26:

صفحه 27:

صفحه 28:

صفحه 29:

صفحه 30:

صفحه 31:

صفحه 32:

صفحه 33:

صفحه 34:
محل پرش 1 7 | ,ام لوا ۰( ] لوالد ۲

صفحه 35:

صفحه 36:
36 کروموزوم قیل از جهش کروموزوم بعد از جهش محل جهش هيا | ۰ او ۱۰ [

صفحه 37:

صفحه 38:

صفحه 39:

صفحه 40:

صفحه 41:
احتمال تخاب ۸ ۵ “APPA ۲ ۸ yw. ۸ ۱۳۰۵ ۳۸۸ verry ۸ اليد كرا اس ۱۷ ادعاري ]1 1 1۱/۱۲۹۴ ۰-۵۶ forty ‏عم‎ ۸۹۳۳ ۹ امامت جما عار 1 Xi 35 مود سمو نو ۱ لحم رودم دوه معزو وس ودود تو مور ۱۱۱ VM Nested lhe

صفحه 42:

صفحه 43:
خملگر همیری تسل دوم) (جمعیت جدید) برش | جفت x 5 8 x (x20) V [ivaeveeveevereett a [va fytereeteeveved vy vetentertevers] fyeare ‏لمات‎ x I |e ieee ee fhe yee Conan av 4a} ۳ [۱۰۱۰۱۱۱۱۱۱۰۰۲۰ ۶ ۵ ‏هه‎ 3 ۱۳۱۳ ۰۰/۱۸۶۲( ۴ ‏مزاول‎ ۴ ror} ‏اه راما وه م‎ ۵ ۱۱۱۱۱۱۰۱۱۱۱۰۰۱ ۰/۱۸ Pa ۵ ۱۱۱۱۱۱ ۱ ۵ ۷ eyes + | 3 "۱2.۰ ۹۱ ‏ا(مكذمين كحنمي إتمتملة‎ اام 0 W_[Vecees Jeon \ Norio ۳ AH Bye \ ey eyes ۳ rary} ٩ ۱۰۱۱۱۱۰۰۱۰۱۰۱۲۰۰ ۵ | ۵ للم | | ۲ ۱۰۱۱۱۱۰۰۱۰۱۰۱۲ +

صفحه 44:
Points in the search space

صفحه 45:

صفحه 46:

صفحه 47:
Bost 0 fat Fleas val =o eration

صفحه 48:

صفحه 49:

صفحه 50:

صفحه 51:
‘Average mean tess Average Hestso-tan | 7 لا ماه

صفحه 52:

صفحه 53:

صفحه 54:
Average best-so-far 100 ۰ 200 300 405 500 600 ۰ 0 Iteration

صفحه 55:

صفحه 56:
Algorithm Mean + Var Time (sec) A 1.0+0.2 1.7 ۶ 1 0.9 + 0.05

صفحه 57:

صفحه 58:

صفحه 59:
‘ Initialization %%%% Pm=0.005:% ITER=100:%

صفحه 60:
5 ‏هه ادا‎ Average_fitness=[] for it-1:TTER % for it ‏ش تعیین شندههتکرار می‌شود‎ [real_vall=chrom_decode(Population.N.L.BS.m.Lo Hi) Iselection_probability fitave_fit:max_fit, opt_sol]=ft_eval(real_val.N.m) نیز ‎‘best_so_fgr(it)—max_fit:‏ ‎final_sol-opt_sol‏ ‎miax_fit>best_so_far(it-1)‏ ‎t_s0_fat(it}=max_fit‏ ‎final_sol-opt_sol‏ ‎else‏ ‎best_so_fax{it)= best_so_far(it-1)‏ ‎ond‏ ‎Average_fitness(it)-ave_ft:‏ ‎[mating _pool]=g roulette wheel(Population.N.selection_probability)‏ ‎Inew_pop]=z_crossover(mating_pool PeN.L):‏ [population]=2_mutation(new_pop PmN.L) (final Solution optimum fitness); {final_sol,best_so_far(end)] TER: ‘Fitness Function’ ‘Best so-far’'Average fitness’

صفحه 61:
9674%% chrom_decode.m 266% ‘hrom_decode(Population, NL.BSmLo.Hi) ایی هر real_val=[] STEDQ)=1: for i=2:-m+1 STED(i) end 111110606 for j=1m TED(-1)+BS(i-1): gene=Population(, STED(j): STED(+1)-1):% ‘Var_norm=sum(Pow2x.#gene)/(2"BS(j)-1);% .s:+ seal_yal(ij}-Lo())+(Hi@)-Lo(j))*Var_norm:% pis. ‏حفيقى‎ ae end end retum: 212211111111119

صفحه 62:
90969696 fit _eval %%%% eal_val(i,1): x(2)=real_val(i,2): fit(i}=(1+cos(2*pi*x(1)*x(2)))*exp(-(abs(x(1))+abs(x(2)))/2): end selection_probability=fit/sum(fit);% ave_fit=mean(fit);% [max_fitmax_loc}-max(fit):% opt_sol=real_val(max_loc.:) return: 1% 4% 111 176

صفحه 63:
9999۵ ‏و‎ roulette_wheel.m%%%% [mating pool]=g_roulette_wheel(Population.N,selection_probability) if(1)=selection_probability(1); %2ae- gant Jae ‏محاسبه‎ 2-7 cdi(i-1)+selection_probability(i) 96969۵96۵96 ‏ان‎ ‎197 1 7 rerand: for jain ifr<=cdffj) mating_pool(i, :|=-Population(, 2) break end end end return: 1111101116

صفحه 64:
90969696 B_crossover:m 6 ‏این تابع عملگر همبری یک‎ Inew_pop]=g_crossover(mating_pool,Pe.N.L): parent_num=randperm(N): pointer1=parent_num pointer2= parent_num cut_poin round(1+(L-2)trand):% off2=mating_pool(pointer?..); % ifrand <Pe % temp=o: ff2(cut_point+1 -end)=offl (cut_point+1-end): ‘(cut point+1:end)-temp(cut_point+1:ené): new_pop(j.:)=off1:% new_pop(j+1,.)-off2: id return; 10% 16% %WNYY%%NM%

صفحه 65:
‎g_mutaion.m %%%%‏ %%%% تایه میلگ بوخ ‎mutation(new_pop.Pm.N.L)‏ _ ‎ ‎ ‎ ‎function [Population]=; mask=rand(N.L)<=Pm: Population=xor(new_pop.mask) return: ‎ ‎ ‎2,22 * #2 6 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

Soft Computing H. Nezamabadi-pour Electrical Eng. Dept., University of Kerman, Kerman, Iran. nezam@mail.uk.ac.ir 1 LECTURE2: Binary GA فرض کنيد که هدف از بهينه­سازي ،پيدا کردن بيشينه تابع fدر يک دامنه مشخص باشد: ‏f  x1,x2,...,xm ‏xilo  xi  xihi fori 1,2,..., ‏m ‏ در اين وضعيت ،پيدا کردن مقاديري براي متغيرهاي حقيقی x1تا xm که تابع ،fبه ازاي آنها بيشترين مقدار را به خود بگيرد. * ‏X است به گونه­اي که به عبارتي هدف ا*ز بيشنه­سازي ،يافتن ‏f ( X * )  f ( X ) , X  D f 2 مد نظر است LECTURE2: Basic Concepts ‏ ‏ ‏ ‏ 3 در حل مساله با الگوريتم وراثتي ،هر يک از متغيرهاي اين مساله بصورت يک ژن در وراثت طبيعي در نظر گرفته مي­شوند. از کنار هم قرار گرفتن تمام متغيرهاي يک مساله (ژنها) ،يک کروموزوم ساخته مي­شود. هلند براي اولين بار از رشته­هاي بيتي براي بيان اطالعات کروموزومها استفاده کرد مثال 3 :متغير و هر متغير 10بيت تعاريف کروموزوم در الگوريتم وراثتي هر کروموزوم بيانگر يک جواب مساله بصورت رمز شده است و يک نقطه در فضاي جستجو را نشان مي­دهد .هر کروموزوم از تعداد مشخصي ژن تشکيل شده است که همان متغيرهاي مساله هستند .در الگوريتم وراثتي باينري ،ژنها از تعداد معيني بيت تشکيل مي­شوند .هر ژن مي­توا*ند مقادير متفاوتي به خود بگيرد که اين مقادير آللهاي يکديگر براي يک متغير در يک مساله هستند. جمعيت مجموعه­اي از کروموزومها ،يک جمعيت را مي­سازند .از هر جمعيت با استفاده از عملگرهاي وراثتي ،يک جمعيت جديد ساخته مي­شود. 4 تعاريف تابع شايستگي (برازندگي) براي حل هر مساله بهينه­سازي ،بايد يک تابع شايستگي طراحي شود .تابع شايستگي براي هر کروموزوم(يک مجموعه از متغيرهاي ورودي) ،يک عدد نامنفي برمي­ گرداند که نشاندهنده کارآيي يا توانايي آن کروموزوم در حل مساله است .درحل بسياري از مسائل ،به خصوص بهينه­سازي توابع ،تابع شايستگي مقدار آن تابع را به ازاي متغيرهاي ورودي برمي­گردا*ند .به عبارت ديگر ،تابع شايستگي همان تابع هدف است .اما در حل مسائل مهندسي در دنياي واقعي ،اغلب بايد يک تابع شايستگي مناسب ابداع و طراحي شود. توليد مثل در مرحله توليد مثل* ،تعدادي از ا*فراد جمعيت نسل قبل انتخاب مي­شوند .اين اعضا ضمن ترکيب با يکديگر نسل جديد را مي­سازند .هر يک از اعضاي انتخاب شده براي توليد مثل ،والد و هر يک ا*ز اعضاي توليد شده ،فرزند ناميده مي­شوند .براي توليد مثل و ساختن نسل بعد از عملگرهاي وراثتي استفاده می­شود که مهمترين آنها ،عملگرهاي انتخاب ،همبري و جهش هستند– . 5 تعاريف عملگر انتخاب با استفاده از اين عملگر از بين کروموزومهاي موجود در يک جمعيت تعدادي براي توليد مثل انتخاب شده و به حوضچه ازدواج منتقل مي­شوند .انتخاب کروموزومها بصورت اتفاقي است اما فرايند انتخاب به گونه­اي است که کروموزومهاي با شايستگي بيشتر از شانس بيشتري برا*ي انتخاب و توليد مثل برخوردار مي­شوند. عملگر همبري عملگر همبري مهمترين عملگر در الگوريتم وراثتي است .اين عملگر بر روي دو (چند) کروموزوم والد عمل همبري را اجرا کرده و دو فرزند براي نسل جديد توليد مي­کند. 6 تعاريف عملگر جهش اين عملگر ،يک ژن از يک کروموزوم را بصورت تصادفي انتخاب کرده و محتويات آن را اندکي تغيير مي­دهد. همگرايي همگرايي ،پيشرفت به سوي يکنواختي است .چنانچه الگوريتم وراثتي به طرز صحيحي پياده­سازي شود ،جمعيت در نسلهاي متمادي تکامل پيدا* مي­کند و متوسط برازندگي جمعيت نسل به نسل به سمت برازندگي بهترين عضو آن جمعيت نزديکتر شده و به سمت بهينه کلي سوق پيدا مي­کند .يک جمعيت زماني همگرا ناميده مي­شود که همه ژنهاي آن همگرا شده باشند و ژني همگرا گفته مي­شود که 95درصد افراد جمعيت مقدار يکساني در آن ژن داشته باشند- . 7 تعاريف 8 ساختار کلي الگوريتم وراثتي 9 قالب کلی ‏t=T ‏t=2 ارزيابی اعضاء انتخاب همبری جهش ارزيابی اعضاء انتخاب همبری جهش عملگرهای الگوريتم شامل انتخاب -همبری – جهش هستند. 10 ‏t=1 ارزيابی اعضاء انتخاب همبری جهش مقدار دهي پارامترها ‏ ‏ ‏ ‏ ‏ ‏ ‏ ‏ 11 تعيين تعداد اعضاي جمعيت نرخ همبري نرخ جهش تعداد متغيرها طول هر متغير طول* کروموزوم تعيين محدوده هر متغير و دا*منه جستجو نحوه خاتمه الگوريتم ‏m ‏L  Li ‏i1 ساختار کلي الگوريتم وراثتي 12 توليد جمعيت اوليه براي ساختن جم*عيت اوليه کافي است ک*ه يک ماتريس N*L (شامل Nسطر و Lستون) از صفر و يک بصورت اتفاقي با تابع توزيع يکنواخت ساخته شود .در اين شرايط هر سطر اين ماتريس اطالعات مربوط به يک کروموزوم را با خود دارد. يک کروموزوم 13 Population هر کروموزوم يک بردار Lبیتی است .با مقادير 0و1 14 ساختار کلي الگوريتم وراثتي 15 رمز گشايي کروموزومها ابتدا هر کروموزوم بايد به ژنها شکسته شود و هر ژن جداگانه رمزگشايی می شود. ‏Decoding 16 رمز گشايي کروموزومها رمزگشايي ژنها (متغيرها) 17 رمز گشايي کروموزومها  xireal  xilo  xin  xihi  xilo  18 رمز گشايي کروموزومها :يک مثال ‏x2  0100110110 00100 ‏ 2  992410 9924 ‏0.3029 15 2  1 32767 ‏ ‏ ‏ 9924 ‏x2n  ‏x2real  x2lo  x2hi  x2lo x2n  2.1  4 2.1 0.3029 0.2523 19 فرض بر اين است که اين متغير در بازه [ ]-2/1 ،4تعريف شده است. رمز گشايي کروموزومها :خطاي چندي­سازي ‏lo ‏xhi ‏ ‏x ‏j ‏j 2Lj1 20 ‏j  ساختار کلي الگوريتم وراثتي 21 ارزيابي کروموزومها در اين مرحله به ازاي هر يک از بردارهاي ورودي ،مقدار تابع شايستگي محاسبه مي شود .براي اين کار ،مقادير بدست آمده براي متغيرها در تابع شايستگي قرار مي گيرد .خروجي تابع شايستگي به ازاي هر دسته از متغيرهاي ورودي به عنوان شايستگي کروموزوم مربوط به آن در نظر گرفته مي شود. 22 تابع شايستگي Fitness function اين تابع بايد به ازاي هر جواب که توسط کروموزومها ارائه م*ي شود ،عددي نام*نفي و متناسب با کارآيي و شايستگي آن جواب برگرداند. به عبارت ديگر ،اين تابع بايد به گونه­اي طراحي شود که هر چه جواب ارائه شده به جواب به*ينه نزديکتر باشد ،عدد شايستگي بزرگتري برگرداند که نشان دهنده شايستگي بيشتر آن کروموزوم(جواب) است. فرام*وش نشود که تابع شايستگي با توجه به تابع هدف طراحي مي­ شود. 23 نگاشت تابع هدف به تابع شايستگي توابع هدف مثبت حداکثر شونده )Fit(X)=f(X توابع هدف با مقادير منفي ‏0 ‏min ‏for f کمينه کردن توابع هدف 24 ‏f ‏fit X   f ( X )  )  f (X ‏fit X   f , ‏min ‏max ارزيابی Evaluation در هر تکرار ،به ازای هر عضو يکبار مساله حل می شود. حل مساله ‏Fitness function تابع برازندگی (شايستگی) 25 ‏Objective function تابع هدف ساختار کلي الگوريتم وراثتي 26 عملگر انتخاب Selection ‏ ‏ ‏ ‏ 27 عملگر انتخاب در الگوريتم وراثتي ،برداشتي از انتخاب طبيعي در وراثت طبيعي است. هدف از اعمال اين عملگر ،انتخاب بعضي از افراد جمعيت براي زاد و ولد و ايجاد نسل بعد است مشهورترين عملگر انتخاب ،انتخاب متناسب با شايستگي است که براي پياده سازي آن از چرخ گردان استفاده مي شود اين روش به انتخاب چرخ گردان شهرت پيدا کرده است. عملگر انتخاب در انتخاب متناسب با برازندگي به کروموزومهاي شايسته­تر(جوابهاي بهتر) ،شانس بيشتر و به کروموزومهاي ضعيفتر(جوابهاي بدتر) شانس کمتري براي بقا و توليد مثل داده مي­شود. در الگوريتم وراثتي عملگرها بر پايه احتماالت عمل مي­کنند و قطعيتي در کار نيست .اين موضوع به اين معني است که به هر يک از کروموزومها متناسب با شايستگي­شان شانسي براي انتخاب تعلق مي­گيرد ،ولي انتخاب بر مبناي احتمال صورت مي­پذيرد. 28 چرخ گردان:عملگر انتخاب Pi  fiti N  fitj j 1 EVi  Pi N 29 ساختار کلي الگوريتم وراثتي 30 عملگر همبري Cross over اين عملگر مهمترين عملگر در الگوريتم وراثتي است براي ساختن نسل بعد ،دو کروموزوم از حوضچه ازدواج به عنوان والد انتخاب شده و با عمل همبري دو فرزند بوجود ميآيد. که عملگر همبري بطور قطعي روي تمام والدين اجرا نمي­شود (احتمال همبري PCمعموالً عددي بين 0.6و )0.9 31 عملگر همبري عملگر همبري در دو گام انجام مي شود: گام اول :از بين افراد موجود در حوضچه تزويج ،دو نفر بصورت اتفاقي براي همبري انتخاب مي شوند. گام دوم :دو کروموزوم منتخب به عنوان وال*دين ،طي يکي از روشهاي همبري فرزند يا انتقال زوج فرزنداني توليد مي کنند. 32 عملگر همبري برای هر زوج ‏If rand<Pc همبری ‏Else انتقال ‏end 33 عملگر همبري تک نقطه اي ‏Cross point 34 ساختار کلي الگوريتم وراثتي 35 عملگر جهش Mutation اين عملگر بطور عام بعد از عملگر همبري اعمال مي شود. احتمال رخداد جهش در الگوريتم وراثتي با Pmنمايش داده مي شود که معموالً بين 0.001تا 0.01انتخاب مي شود. عملگر جهش به هر يک از افراد جمعيت به تنهايي اعمال مي شود. ‏Pm LN 36 ساختار کلي الگوريتم وراثتي 37 ساير مراحل جايگزيني نسل بعد چک کردن شرط توقف Stopping criteria 38 حل يک مسئله نمونه f ( X )  f (x1, x2) 1 cos 2 x1x2   exp   x1  x2  / 2  4  x1 2 ,  1.5  x2 1 , f opt 2 for X *  0, 0 39 مقدار دهي پارامترها و تعريف تابع شايستگي 40 حل يک مسئله نمونه 41 احتمال تجمعي و چرخ گردان i Ci  Pj j 1 Ci 1 q  Ci , C0 0 , i 1,2,....N 42 حل يک مسئله نمونه 43 حل يک مسئله نمونه 44 ارزيابي کارآيي الگوريتم وراثتي ارزيابي کارآيي الگوريتم وراثتي يا هر الگوريتم ابتکاري ديگر ،از طريق تحليل همگرايي و زمان رسيدن به پاسخ بهينه بررسي مي­شود .براي مشاهده وضعيت پيشرفت الگوريتم و پايش معيارهاي فوق از روشهاي ترسيمي کمک گرفته مي­شود ‏mean-fitness متوسط شايستگي جمعيت بهترين جواب ديده شده تا آن لحظه best-so-far 45 ارزيابی کارايی الگوريتم ‏t=2 ‏t=T ‏t=1 …………… ميانگين هر تکرار بهترين تا هر تکرار 46 ])mf(T ])bsf(T ……………………… ……………………… )mf(2 )bsf(2 ‏mean )Fitness=[mf(1 ‏best )So far =[bsf(1 ارزيابي کارآيي الگوريتم وراثتي در الگوريتم پياده سازي شده ،از جمعيتي شامل 30کروموزوم با طول 16 بيت استفاده شده است .نرخ همبري و جهش به ترتيب 0.9و 0.005 در نظر گرفته شده است و الگوريتم براي 100تکرار اجرا شده است. 47 ارزيابي و مقايسه کارآيي آيا مقايسه الگوريتم ها با يک اجرا عادالنه است؟ 48 ارزيابي و مقايسه کارآيي الگوريتم ها تصادفی هستند .و با هر بار اجرا جواب های متفاوتی می دهند. برای مقايسه عادالنه ،هر الگوريتم را چند بار اجرا کرده و ميانگين نتايج را گزارش می کنند. 49 ارزيابی در چند اجرای مستقل الگوريتم Run1 [bsf(1) Run2 [bsf(1) Run3 . . . . Run20 [bsf(1) [bsf(1) Average best So far =[absf(1) bsf(2) bsf(2) bsf(2) bsf(2) absf(2) ……………………… ……………………… ……………………… ……………………… ……………………… bsf(T)] bsf(T)] bsf(T)] bsf(T)] absf(T)] 50 ارزيابي کارآيي الگوريتم وراثتي متوسط معيارهاي قبلي 51 ارزيابي کارآيي الگوريتم وراثتي  1T1 N fon(T)     fiti  t  T t1 N i1  معيار برخط معيار برون خط معيار سرعت همگرايي 1 T max foff (T)   fit  t T t1 f maxT  V  Ln max f 1 52 مقايسه کارآيي الگوريتم های مختلف رسم کردن نمودارهای الگوريتم ها در يک شکل استفاده از جداول 53 مقايسه کارآيي الگوريتم های مختلف مقايسه با رسم کردن نمودارهای الگوريتم ها در يک شکل 54 مقايسه کارآيي الگوريتم های مختلف مقايسه با استفاده از جداول Run1 [bsf(1) Run2 [bsf(1) Run3 . . . . Run20 [bsf(1) [bsf(1) bsf(2) bsf(2) bsf(2) bsf(2) ……………………… ……………………… ……………………… ……………………… bsf(T)] bsf(T)] bsf(T)] bsf(T)] 55 مقايسه کارآيي الگوريتم های مختلف مقايسه با استفاده از جداول 56 )Time (sec ‏Best ‏Mean ± Var ‏Algorithm 2 1.22 1.0 ± 0.2 ‏A 1.5 1.72 1.7 ± 0.1 ‏B 2.5 0.95 0.9 ± 0.05 ‏C کاوش و بهره گيري 57  Convergence  Exploration / diversification  Exploitation / intensification 58 نوشتن يک برنامه وراثتي باينري ساده 59 نوشتن يک برنامه وراثتي باينري ساده 60 نوشتن يک برنامه وراثتي باينري ساده 61 نوشتن يک برنامه وراثتي باينري ساده 62 نوشتن يک برنامه وراثتي باينري ساده 63 نوشتن يک برنامه وراثتي باينري ساده 64 نوشتن يک برنامه وراثتي باينري ساده 65
39,000 تومان