یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ...

43
زش تکاملی پرداEvolutionary Computing تم ژنتیک الگوری( Genetic Algorithm ) مدرس: همی وفا میMaihami.maad.ac.ir [email protected]

Transcript of یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ...

Page 1: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

پردازش تکاملیEvolutionary Computing

(Genetic Algorithm)الگوریتم ژنتیک

وفا میهمی: مدرسMaihami.maad.ac.ir

[email protected]

Page 2: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

فهرست مطالب

نگاه اجمالی به الگوریتم ژنتیک•مقدمه•مکانیزم الگوریتم ژنتیک•فلوچارت•(نحوه نمایش)انواع رمزگذاری•انواع جهش•انواع تقاطع•

Page 3: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

نگاه اجمالی به الگوریتم ژنتیک

• Developed: USA in the 1970’s

• Early names: J. Holland, K. DeJong, D. Goldberg

• Typically applied to:

– discrete optimization

• Attributed features:

– not too fast

– good heuristic for combinatorial problems

• Special Features:

– Traditionally emphasizes combining information from good parents (crossover)

– many variants, e.g., reproduction models, operators

Page 4: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

مقدمه

امالهمحاسباتیمدل هایخانوادۀاعضایازیکیژنتیکالگوریتم های•کیبالقوّۀراه حل هایالگوریتم هااین.استتکاملروندازشدهگرفته.می کنندکدساده ایکروموزوم هایقالبدررامسأله

.می کننداِعمالساختارهااینرویبرراترکیبیعملگرهایسپس•شناختهعتواببهینه سازیبرایروشیعنوانبهاغلبژنتیکالگوریتم های

.استاینزاگسترده تربسیارروش هااینازاستفادهدامنۀالبتهکهمی شوند

Page 5: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

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

در هر تکرار هر یک از رشته های موجود در جمعیت رشته ها، رمزگشایی شده و•. مقدار تابع هدف برای آن به دست می آید

یتک بر اساس مقادیر به دست آمده تابع هدف در جمعیت رشته ها، به هر رشتته •. عدد برازندگی نسبت داده می شود

ر اساس ب. این عدد برازندگی احتمال انتخاب را برای هر رشته تعیین خواهد کرد•این احتمال انتخاب، مجموعه ای از رشته ها انتخاب شده و با اعمتال عملکردهتای

شوند تا ژنتیکی روی آنها رشته های جدید جایگزین رشته هایی از جمعیت اولیه می.تعداد جمعیت رشته ها در تکرارهای محاسباتی مختلف ثابت باشد

Page 6: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

عملگرهای ژنتیکی

:بطور کلی پنج عملیات مختلف در هر چرخه الگوریتم ژنتیک انجام می شود•

به .ل شوددر الگوریتم ژنتیک مسایل از حالت جهان حقیقی به حالت کد شده تبدی: رمزگذاری1..این تبدیل که شاید مشکلترین مرحله باشد رمزگذاری می گویند

.ص می کنداین تابع هر رشته را با یک عدد مقایسه می کند و مقدار کیفیت آن را مشخ: ارزیابی2.

ندی است کته در ترکیب فرآی. مهمترین عملگر در الگوریتم ژنتیک، عملگر ترکیب است: ترکیب3.وزوم هتا آن نسل قدیمی کروموزوم ها با یکدیگر مخلوط و ترکیب می شوند تا نسل تازه ای از کرومت

.بوجود بیایددر . عمل جهش نیز عملگر دیگری هست که جواب های ممکن دیگری را متولد می کند: جهش 4.

عمل جهش ممکن است ژنی از مجموعه ژن های جمعیت حذف شود یا ژنتی کته تتا بته حتال در . جمعیت وجود نداشته است به آن اضافه شود

د که نسخه بعد از آنکه بهترین جواب ممکن برای مساله پیدا شد،وقت آن فرا میرس: رمزگشایی5..شوندپس باید رشته های بیتی به نسخه واقعی تبدیل. واقعی آن در جهان واقعی تولید شود

Page 7: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

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

Page 8: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

GA Quick Overview

• Developed: USA in the 1970’s

• Early names: J. Holland, K. DeJong, D. Goldberg

• Typically applied to:– discrete optimization

• Attributed features:– not too fast

– good heuristic for combinatorial problems

• Special Features:– Traditionally emphasizes combining information from good parents

(crossover)

– many variants, e.g., reproduction models, operators

Page 9: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

Genetic algorithms

• Holland’s original GA is now known as the simple genetic algorithm (SGA)

• Other GAs use different:

– Representations

– Mutations

– Crossovers

– Selection mechanisms

Page 10: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

SGA technical summary

Representation Binary strings

Recombination N-point or uniform

Mutation Bitwise bit-flipping with fixed

probability

Parent selection Fitness-Proportionate

Survivor selection All children replace parents

Speciality Emphasis on crossover

Page 11: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

SGA reproduction cycle

1. Select parents for the mating pool

(size of mating pool = population size)

2. Shuffle the mating pool

3. For each consecutive pair apply crossover with

probability pc , otherwise copy parents

4. For each offspring apply mutation (bit-flip with

probability pm independently for each bit)

5. Replace the whole population with the resulting

offspring

Page 12: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

SGA operators: 1-point crossover

• Choose a random point on the two parents

• Split parents at this crossover point

• Create children by exchanging tails

• Pc typically in range (0.6, 0.9)

Page 13: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

SGA operators: mutation

• Alter each gene independently with a probability pm

• pm is called the mutation rate– Typically between 1/pop_size and 1/ chromosome_length

Page 14: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

• Main idea: better individuals get higher chance

– Chances proportional to fitness

– Implementation: roulette wheel technique

» Assign to each individual a part of the roulette wheel

» Spin the wheel n times to select n individuals

SGA operators: Selection

fitness(A) = 3

fitness(B) = 1

fitness(C) = 2

A C

1/6 = 17%

3/6 = 50%

B

2/6 = 33%

Page 15: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

An example after Goldberg ‘89 (1)

• Simple problem: max x2 over {0,1,…,31}

• GA approach:

– Representation: binary code, e.g. 01101 13

– Population size: 4

– 1-point xover, bitwise mutation

– Roulette wheel selection

– Random initialisation

• We show one generational cycle done by hand

Page 16: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

x2 example: selection

Page 17: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

X2 example: crossover

Page 18: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

X2 example: mutation

Page 19: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

کدینگ باینری

استیکژنتعملگرهایبرایتبدیلبهترینوگذاریکدساده ترینباینریگذاریکد• شودمیباعثمعموالًچوننیستمناسبچندانتبدیلنوعاینپیچیدهمسائلدراما

.شودبزرگبسیارپاسخ،اطالعاتنگهداریبرایکروموزوم هاطول

میx,y,zبینعددبزرگترینکردنپیداآنکارکهراF(x,y,z)تابعبخواهیماگر:مثال•میباشد128تا0اعدادازیکهرمحدودهکهداردوجودشرطاینوکنیمپیادهراباشد.هستیمبیت21نیازمندکلدرپس.استبیت7بهنیازاعدادازهرکدامبرای

F(1011001,1110001,0010111)

Page 20: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

کدینگ مقدار

اینهبداردبیشتریپذیریانعطافقبلیهایروشبامقایسهدرکدینگنوعاین•اده هایدجهت یابی،دستوراتمنطقی،عباراتحقیقی،اعدادحاویتوانمیکهترتیب

مثال.باشند...وحرفیرشته هایصورتبهشدهکد

ghdbegca

Page 21: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

جمعیت

هکمقادیریتمامیبه.دهندتشکیلمارامسالهفضایتواندمیواقعدرجمعیت•پیداالمثدر.هستندمااولیهجمعیتهمانشوندگرفتهنظردرجواببعنوانمیتوانند

دربتهال.دهندتشکیلرامسالهجمعیتتوانندمیاعدادتمامیعددچندماکسیممکردنبر.باشدرکمتجمعیتپراکندگیتاشودمیاستفادههاییقیدازبهینههایالگوریتم

.باشد160تا10بینعددیجمعیتاستبهترتجربهاساس

تاوستهپیمتغییرهایدودوییهایکدبرایراجمعیتاندازهبهترینبرگگلدآقای•.کردپیشنهادراکردمحاسبهزیرفرمولازرشته،که60طول

Lc=طول کروموزوم ها:باشد انگاه25اگر طول کروموزوم : مثال

)21.0(265.1 Lc

PopN

62265.1 )2521.0(

PopN

Page 22: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

تابع برازندگی

تامیکندکمککههاستفرضیهبندیرتبهبرایمعیاریfitnessتابع•انتخابنحوه.شوندانتخابجمعیتبعدینسلبرایبرترهایفرضیه

.داردنظرموردکاربربهبستهتابعاین

•: classificationبااستبرابرمعموالتناسبتابعمسایلنوعایندر.آموزشیمثالهایبندیدستهدرقانوندقت

Page 23: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

چرخ رولت: تابع برازندگی

وموزوم،کرهرانتخاباحتمال.استتصادفیهایانتخابروشهاترینمناسبازیکی•.گیردمیصورتآنبرازندگیاساسبرکروموزومآنبامتناظربقایاحتمالباشد،امkکروموزومبرازندگیمقداراگرکه

:ازاستعبارت

عددیککروموزومهرانتخاببرایکهمی کندعملصورتاینبهرولتچرخ•،گرفتقرارکهبازه ایهردرمذکورعددوکردهتولیدصفرویکبینتصادفی

شکلنایبهرولتچرخپیاده سازیِروشالبته.می شودانتخابآنبامتناظرکروموزوممی کنیمتقسیمطوریکروموزوم هاتعدادبهراآنوگرفتهنظردررادایرهیکماکهاست

ودهچرخانراچرخحالباشد،مربوطکروموزومبرازندگیمقداربامتناظربخشهرکهشبخآنبهمربوطکروموزومکرده،نگاهچرخشاخصبهشدمتوقفچرخکهکجاهر

.می گرددانتخاب

n

i

i

kk

f

fP

1

Page 24: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

چرخ رولت: تابع برازندگی

FITNESS(A)=3 FITNESS(B)=1 FITNESS(C)=2

Page 25: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

انتخاب پایدار: تابع برازندگی

کاملطوربهجدیدجمعیتشده اند،ارائهمقاالتدرکهژنتیکالگوریتم هایاکثردر•عضیبدر.می شوندخودوالدینجایگزینفرزنداناینومی آیدبوجودفرزندانتوسط

دادهجدید،جمعیتدرحضوراجازهقدیمی،جمعیتاعضایازبرخیبهروش ها.روش هاستاینازیکیپایدارحالتانتخاب.می شود

زینجایگجدیداعضایباکنونی،جمعیتاعضایازاندکیتعدادفقطروش،ایندر•آمده اندودبوجاعضابهترینازکهفرزندانیبااعضابدتریندیگر،عبارتبهمی شوند،.نمی کندتغییرچندانجمعیت،کلّیبافتامامی شوندتعویض

Page 26: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

انتخاب رقابتی: تابع برازندگی

رطیشاگرسپسومی کندانتخابتصادفبهراجمعیتاعضایازتعدادیروشایناگر گزیند،میبروالدعنوانبهراآنهابهترین هایازتعدادییابهترینباشد،برقرارخاصعنوانبهیندهآجمعیتتشکیلدربدترین ها،ازتعداییاعضوبدتریننشود،برقرارشرط.می شوندگرفتهنظردروالد

:اشدمی بزیرشکلبهواستباینرییادوتاییرقابتروش،ایناستانداردشکل.می شوندانتخابتصادفبهعضو12..می شودتعینتصادفبه1و0بینrمقدار2.(K=0.75مثالً).می شودتعیینکاربرتوسطK≥0≤1پارامتر3.ابانتخوالدعنوانبهعضو،دواینبینبدترعضوr≥Kاگروبرترعضوk<rاگر4.

.می شوددرارهدوبمی توانندومی گردندبرجمعیتبهرقابت،برایشدهانتخابعضودو5.

.کنندشرکترقابت

Page 27: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

نقطه ایn: عملگر تقاطع

رکیبتنقطه ای،تکترکیبدرآنچهمشابهژن هاچیدنوترکیبموقعیتnانتخابباشودمیاستفادهبیشتراینقطهیکازمعموال.آیدمیبدستاینقطهدو

Page 28: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

یکنواخت: عملگر تقاطع

وعنایندرشودمیبرخوردمستقلکامالصورتبههاژنازکدامهرباروشایندر•زاانتخاببودآنازکوچکترهاژنعدداگر.شودمیتولیداست50معموالکهعددی

نایبلعکسدومفرزندبرایو.استدوموالدازانتخابصورتاینغیردراولوالد.میدهیمانجامراعمل.اگر اعداد برازندگیبه صورت اشد: مثال

36-51-39-76-83-42-18-62-35.نتیجه بر روی دو کروموزوم به صورت ذیل می باشد

Page 29: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش ترکیب: عملگر تقاطع

راعدددوروشایندرمی باشدمعروفOrderروشبهوگردیدهمعرفی«دیویس»توسطروشاین•نگهابتثکروموزومطرفدودررامابینقسمتسپسآوردهدستبهنقاطعنوانبهتصادفیصورتبه

دایابتازدوموالددراولنوزادبرایکهمی آیددستبهصورتاینبهطرفدوقسمت هایولیداشته.می گیرندقرارخالیجایدرنداردوجودنوزادبینماقسمتدرکهراآنهاییوکردهشروعکروموزوم

Page 30: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش باینری: عملگر جهش

کیازیایک،بهصفرازیعنیشوندمیمتممهاژنازبعضیجهشعملنوعایندر•صفربه.اندشدهمتممنهموچهارم،سومهایبیت:مثال•

Page 31: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش تعویضی: عملگر جهش

میعوضهمباآنهاجایوشدهانتخاتصادفیبطورژندوجهشعملنوعایندر•میرااتصالچهارحالعیندرکندمیحفظرامجاورتجهشعملنوعاین.شود

.شودمیهاکروموزومدربیشتریتخریبباعثوشکند

.شودمیعوضپنجمودومبیتجای:مثال•

Page 32: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش وارونه سازی: عملگر جهش

یموارونآنهابینهایبیتسپسشودمیانتخاببیتدوجهشعملنوعایندر•.کندمیحفظرامجاورتبهمربوطاطالعاتاغلب.شود

.استکردهوارونراششویکبینماهایبیت:مثال•

Page 33: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش درجی: عملگر جهش

ازدبعمکانبهرادوممقدار،شودمیانتخابتصادفیصورتبهژندوروشایندر•توجهایدب.دهیممیشیفتآنجایکردنپربرایراهاژنبقیهوکنیممیمنتقلاولی

.کندیمحفظرامجاورتوترتیببهمربوطاطالعاتعملگرنوعاینکهباشیمداشته

.استدادهشیفترا4و3ودادهانتقالدوممکانبعدبهراپنجممکان:مثال•

Page 34: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

روش تغییر مقدار: عملگر جهش

هاژنازکهاستصورتاینبه.بردکاربهباینریدرتواننمیراجهشعملنوعاین•.شودمیاضافهیاکاستهعددی

.استشدهاضافهبعضیبهوشدهکمعددیاعدادازسرییکاز:مثال•

Page 35: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

تقاطع یا جهش؟

امامسئلهبهداردبستگیکامالسوالاینبهپاسخ•

فرزندانایجادبرعالوهیعنیباشیمداشتههمبارادوهرکهاستبهتر•درتریبیشتنوعتانمائیماعمالآنهارویبرنیزراتغییراتیجدید،

.دهدرخجمعیت

داردراخودمخصوصنقشکدامهر•

ولیکنداستفاده mutationازفقطکهداشتالگوریتمیمیتوان•کردنخواهدکارکنداستفاده crossoverازفقطکهالگوریتمی

Page 36: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

تقاطع یا جهش؟

•Crossoverیاوجستجوگرانهخاصیتexplorativeبامیتواند.داردجدیدینواحیورفتهوالدیندربینهائیمحلبهبزرگپرشهایانجام

.نمایدکشفرا

•Mutationیاوگسترشیخاصیتexploitiveانجامبامیتواند.دارد.ببخشدوسعتشدهکشفنواحیبهتصادفیکوچکتغییرات

•Crossoverدرحالیکهمیکندترکیبراوالدیناطالعاتmutation.نمایداضافهجدیدیاطالعاتمیتواند

الزمmutationدرشانسیخوشیکبهینهپاسخیکبهرسیدنبرای•.است

Page 37: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

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

.سازی را انجام دهدتواند عمل بهینهبا متغیرهای پیوسته و هم گسسته می1.

.تجو کندتواند تمامی ناحیه جستجو شونده وسیع تابع هزینه را جسبطور همزمان می2.

.باشدقادر به بهینه سازی مسائل با تعداد متغیرهای زیاد می3.

.قابل اجرا از طریق کامپیوترهای موازی است4.

باشند و ازی میسای که بسیار پیچیده باشند نیز از این طریق قابل بهینهتوابع هزینه5..افتدالگوریتم در اکسترمم محلی به دام نمی

.قادر است تا چند جواب بهینه را بطور همزمان به دست آورد نه فقط یک جواب6.

شوند و نه بر روی ها اعمال میحلای از راههای ژنتیک بر روی مجموعهالگوریتم7..حل خاصیک راه

دی شده سازی را با متغیرهای کدبنبندی نموده و بهینهدقادر است تا متغیرها را ک8..دهدبندی سرعت همگرایی الگوریتم را افزایش میدک. انجام دهد

ر توابع های تجربی و عددی تولید شده را عالوه بالگوریتم توانایی کار کردن با داده9..تحلیلی دارد

Page 38: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

Crowding

کهروبروستمشکلیباالگوریتمایتژنتیک،الگوریتممزایایوجودبا•crowdingمیشودنامیده.

•crowdingبسیاربیشتریسازگاریکهعضویآندرکهاستایپدیدهاعضایتولیدباوکردهنسلتولیدمرتببطورداردجمعیتافرادبقیهاز

.میکنداشغالراجمعیتازایعمدهدرصدمشابه

.میکندکمراGAسرعتوشدهجمعیتپراکندگیکاهشباعثاینکار•

Page 39: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

Crowdingراه حل مشکل

فرضیهبهرتبهاختصاصبا:هانمونهانتخاببرایrankingازاستفاده•نخواهددادهنشانبرتریاینمقدارمیکندعملبقیهازبهتربسیارکهای.شد

•: Fitness sharingمقدارFitnessاعضاصورتیکهعضودریک.یابدمیکاهشباشندداشتهوجودجمعیتدرمشابهی

اعضامثالبرای:شوندترکیبهمبامیتوانندکهاعضائیکردنمحدود•نسلتولیدامکانهمبهشبیهاعضابهفقطوشدهتوزیعمکانیبصورت

جمعیتداخلدرمشابهاعضاازگروههائیایجادبهاینکار.میشودداده.شدخواهدمنجر

Page 40: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

تعدادی از کاربردهای الگوریتم ژنتیک

.هایی کامپیوتری توزیع شدههای شبکهتوپولوژی•.(شیمی)میاییشیلکولی وبهینه سازی ساختار م•خمیدههایمهندسی برق برای ساخت آنتن•.افزارمهندسی نرم•.های کامپیوتریبازی•.مهندسی مواد•.مهندسی سیستم•.رباتیک•تشخیص الگو و استخراج داده•.حل مسأله فروشنده دوره گرد•

Page 41: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

مقایسه الگوریتم ژنتیک و سیستم های طبیعیالگوریتم ژنتیکهای طبیعیسیستم

کروموزوملی به نسل های ژنی هستند که اطالعات وراثتی را از نسبسته

.یابندانتقال میعیناًدیگرده های عددی رمزگذاری شهای ممکن مسأله به صورت رشتهپاسخ.است

محیط.شرایط محیطی را که جمعیت در آن قرار دارد

تابع برازش.نامندیمتابع برازشهکمساله به صورت یک رابطه ریاضی در آمده

اصل انتخاب طبیعی.ط استمعیار بقای موجود زنده و تکثیر آن، سازش با محی

تکثیرفته و مقدار هر رشته جمعیت را به عنوان متغیر تابع برازش در نظر گر

بع برازش، شود، متناسب با مقدار تاتابع برازش هر رشته محاسبه می.شودهای جمعیت جدید انتخاب میرشته

تقاطعبادله ها مدر نتیجه تقاطع یا تبادل قسمتی از کروموزوم

.گیردهای پیوسته صورت میژن

(crossover)تقاطعها هزوج رشت. شوندهای جمعیت به صورت دو به دو مزدوج میرشته

یض نیم بخشهای بین دو رشته تعو. شونداز یک نقطه قطع می.شوندمی

عمل جهش

جانشین شدن ژنی به جای ژن دیگر در طول زنجیره DNA تغییرات ایجاد شده در ژنبا

(mutation)جهشعمل ود و دچار شیک بیت از رشته عددی به صورت تصادفی انتخاب می

.گرددتغییر می

تکرار مراحل فوق بعد از هر مرحله تکثیرایجاد نسلهای جدید و تکامل موجودات

Page 42: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

با تشکر از توجه شما

42

وفا میهمی: مدرسMaihami.maad.ac.ir

[email protected]

Page 43: یلماکت شزادرپmaihami.maad.ac.ir/teaching/Computing/EC,Genetic...یکیتنژ یاهرگلمع دوش یم ماجنا کیتنژ متیروگلا هخرچ ره رد فلتخم

حل یک مثال دنیای واقعی با الگوریتم ژنتیک

43

وفا میهمی: مدرسMaihami.maad.ac.ir

[email protected]