صفحه 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
i1
ساختار کلي
الگوريتم وراثتي
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 992410
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
2Lj1
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 LN
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
ارزيابي کارآيي الگوريتم وراثتي
1T1 N
fon(T) fiti t
T t1 N i1
معيار برخط
معيار برون خط
معيار سرعت همگرايي
1 T max
foff (T) fit t
T t1
f maxT
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