genetic algorithm

61
1

Upload: mohammadreza71

Post on 22-Jul-2015

113 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Genetic algorithm

1

Page 2: Genetic algorithm

By: mohammadreza bayat

mohammad kalate

2

Page 3: Genetic algorithm

List:

Introduction

Evolution theory

Genetics

Idea

Evolutionary Algorithm

History of Genetic Algorithm

Genetic Algorithm(GA)

How to create a new population?

Selection parent

Tournament selection

Binary problems

integer problems

Real problems

3

Page 4: Genetic algorithm

Introduction

بدون شک معروف ترین الگوریتم موجود الگوریتم ژنتیک است.

وبه همین خاطر زمانی که صحبت از الگوریتم تکاملی می شود.،الگوریتم ژنتیک به ذهن می رسد

جهان دایم در حال تغییر است ومامی خواهیم آن را به صورت اماریهر موجودی که بخواهد در جهان زندگی کند باید بتواند .بیان کنیم

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

4

Page 5: Genetic algorithm

Introduction

زندگیبرایمناسبکهراافرادیخودشطبیعت:دارویننظریه.کندمیحذفراوبقیهکردهانتخابهستند

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

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

درست ترواقعدر!نمی کندانتخابهیکلاساسبرتنهارابهترین هامی کندانتخابرا(Fittest)ترین هامناسبطبیعتبگوییمکهآنست.بهترین هانه

5

Page 6: Genetic algorithm

Introduction

هرنسلی یک سری ویژگی های و خواص و مهارت ها را :نظریه المارک.بدست می آورد وآنها را به نسل بعد منتقل میکند

6

Page 7: Genetic algorithm

Introduction

درصورتی که نظریه داروین رابه وسیله کامپیوتر شبیه سازی کنیم.،الگوریتم ژنتیک بدست می آید

7

Page 8: Genetic algorithm

Evolution theory

تکامل یا به گونهٔ ویژه تر)برآیشیافرگشتیاکاملعبارتست از دگرگونی در یک یا چند ( اندامییازیستی.افراد رخ می دهدجمعیت هایکه طی زمان درموروثیفنوتیپیویژگی

تکامل حاصل عملکرد پدیده هایی همچون:

( natural selection)انتخاب طبیعی 1)

(reproduction)تولید مثل 2)

(mutation)جهش3)

(symbiosis)همزیستی 4)

8

Page 9: Genetic algorithm

Evolution theory

انتخاب طبیعی(natural selection )

هرموجودی که بیشتر منطبق برمعیارهای طبیعت باشد بیشتر شانس بقا .دارد وبقیه که تطابق کمتری دارند حذف می شوند

تولید مثل(reproduction)

میل به جاودانگی

جهش(mutation)

.در موارد اندکی می توانند خوب باشند

.ودر مواردی نیز بد باشند ،مانند سرطان

همزیستی(symbiosis)

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

9

Page 10: Genetic algorithm

Evolution theoryبیشترینکنیممیمشاهدهطبیعتدرامروزکهایزندهموجودات،

.اندداشتهشانزندگیمحیطباراتطابقوتناسب

روباه هاخانوادهعضوکوچک تریناگرچهصحراروباهمثالعنوانبه.استخانوادهایناعضایبیندرگوشبزرگ ترینصاحبامااست؛خاکزیرحشراتصدایشنیدنوبهترشدنخنکبرایگوشاینبزرگی.است

10

Page 11: Genetic algorithm

Genetics

دست خط طبیعت

طبیعت برای انکه بتواند کار بهینه سازی کند ،بایستی اطلعات.بدست آمده را در طول میلیون ها سال را به نحوی ذخیره کند

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

.زیستی استفاده می کنند

DNA یک ساختار پیچیده است که به راحتی نمی توان به درون این.ساختار نفوذ کرد وتغییر ایجاد کرد وبسیار مقاوم است

DNA دارای بلوک های اطلعات شیمیایی است.

11

Page 12: Genetic algorithm

Genetics

مولکولDNA به شکل یک نردبان مارپیچ است.

شاخه اصلی آن از قند وفسفات تشکیل شده اند.

پایه های نردبان از اتصال چهار نوع باز آلی تشکیل شده است.

کار کرده 4گویا طبیعت در مبنای.

12

Page 13: Genetic algorithm

Genetics بخش هایی مخصوص از ساختارDNA است که خواص و ویژگی های موجود

.زنده را تعریف می کند

DNA انسان ،شامل بیش از سه میلیارد عدد از ترکیبات(TA،AT،CG،GC) درصد از این تعداد برای 99که نوع وتوالی بیش از

.تمام انسان ها مشترک است

در واقع اطلعات مربوط به هر فرد در کمتر از یک.ذخیره شده است DNAدرصد ازساختار

13

Page 14: Genetic algorithm

Geneticsهرژن برخی از جنبه های یک ارگان را تعیین می کند.

ژنوتیپ(:(Genotype ژنوتیپ پایه هایی ازDNA است که مربوط به یک.ویژگی است

فنوتیپ(Phenotype :) بروز قابل مشاهده یک ژنوتیپ به فنوتیپ.عنوان صفتی ظاهری ، بالینی با بیوشیمیایی یا مولکولی است

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

14

Page 15: Genetic algorithm

Genetics به .رابطه ای یک به یک میان هرموجود زنده ورشته ژنی وجود دارد

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

البته برخی تک سلولی های بسیار ساده از این امر مستثنی هستند.

این رابطه به نام کدینگ معروف است.

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

هرکد خود رابه صورت یک سری فنوتیپ نشان می دهد که اگر مطابقدر غیراین صورت حذف خواهد .معیارهای طبیعت باشد باقی می ماند

.شد

15

Page 16: Genetic algorithm

Idea موجودات کنونی ،نتیجه هزاران بار تکرار یک الگوریتم بهینه

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

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

می بایست معیاری برای ارزیابی هرجواب در دست باشد.

معیار طبیعت زمان است.

16

Page 17: Genetic algorithm

Evolutionary Algorithm

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

بدستبهینهپاسخازنزدیک تریتخمینلذادارند،بیشترینسلبقای.می دهند

:تکاملیالگوریتمیکاولیهطرح

تصادفیهایجوابازایمجموعهایجاد1.

هابهترینوانتخابآنهابندی،رتبههاجوابمقایسه2.

طبیعیهایفرآیندسازیباشبیهآمدهبدستهایجوابترکیب3.باجدیدهایجواب،وادغاممثلتولیدمانند

.قدیمیهایجواب

(نیازصورتدر)2مرحلهبهبازگشت4.

17

Page 18: Genetic algorithm

History of Genetic Algorithm

بررویتکاملپدیدهسازیشبیهبرایهاییتلش1950اوایلازحوزهمحققینازبسیاریتوجهمیاندراینکهشدآغازکامپیوترها

.شدجلبزمینهاین،بهمهندسیوعلومبهمربوطهای

جاننامبهمیشیگاندانشگاهازدانشمندیمیلدی1970درنهایتابهینه سازی هایدرراژنتیکالگوریتمازاستفادهایدههلند

.کردمطرحمهندسی

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

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

18

Page 19: Genetic algorithm

Genetic Algorithm(GA)

وارزیابیتصادفیجمعیتایجاد1.راآنهاوسپسبدهیماولیهپیشنهادسرییکباید

.دهیمتکامل

فرزندانجمعیتایجادبرایانهاترکیبووالدینانتخاب2.

جهش3.یکشانسیطوربهکهافتدمیاتفاقاتسرییکنادردرمواردی

راکاراینبایدچرا.دهدمیمابهخوبنتیجهسرییک؟کرد

بدستراآنهاتوانیمنمیترکیبصورتبهماکهافتدمیاتفاقاتنمیودوچرخهماشینیکترکیبازمثل.آوریممیتواندراخودروسازیصنعتکه،آنچهبرسیمهواپیمابهتوانیم

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

یافتگانجهشجمعیت

جهشو(Crossover)فرزندانو(قبلنسل)اصلیجمعیتادغام4.جدیداصلیجمعیتایجادو(mutation)یافتگان

.کنیممیتکرار2ازمرحلهباشندنشدهمحققخاتمهشرایطاگر5.

پایان6.

19

Page 20: Genetic algorithm

Genetic Algorithm(GA) شرایط خاتمهStopping Conditions for the Algorithm)):

رسیدن به حد قابل قبول از پاسخ.1

تکرارمعین /سپری شدن زمان .2

تعدادتکرار معین بدون /سپری شدن زمان .3مشاهده بهبود خاصی در نتیجه

رسیدن به .4(NFE)تعداد مناسب

در ادامه برای سادگی کار به بررسی ایجاد جمعیت اصلی می.پردازیم و مراحل را از انتها بررسی میکنیم

20

Page 21: Genetic algorithm

Genetic Algorithm(GA)

P(t)

Q(t) R(t)

:tجمعیت اصلی در تکرار

:جمعیت فرزندان جمعیت جهش :یافتگان

) جمعیت حاصل شده ناشی از ترکیب جمعیت های باالست که باید از این جمعیت به تعداد جمعیت (.

که راه های . انتخاب کرد ) ( اصلی مورد را بیان 4مختلفی برای انتخاب وجود داردکه

. شده است

𝑛𝑝𝑜𝑝

𝑛𝑚

𝑛𝑐

𝑛𝑝𝑜𝑝

𝑛𝑝𝑜𝑝′ = 𝑛𝑐 + 𝑛𝑚 + 𝑛𝑝𝑜𝑝

21

Page 22: Genetic algorithm

How to create a new population?

ادغامابتداتوانیممی:اولروش(merge)سازیمرتب،سپس(sort)بدهایدادهوحذف(Truncate)

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

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

شوندحذفاعضایتمام،مثلآیدپیشاستممکنمختلفیهایوحالتایندر،کهشوندحذفیافتگانجهشوفرزندانتماماینکهیا

.کندمیدردسردچارماراصورت

𝑛𝑝𝑜𝑝

22

Page 23: Genetic algorithm

How to create a new population?

𝑝𝑡𝑄𝑡

𝑅𝑡

𝑃𝑡′ 𝑃𝑡

′′

ادغاممرتب سازی

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

𝑝𝑡′

دراثر مرتب سازی یک مجموعه بدست می آید که از آن .به تعداد جدا کرده و بهترین های این مجموعه است

𝑝𝑡′′

𝑛𝑝𝑜𝑝

23

Page 24: Genetic algorithm

How to create a new population?

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

باید یک عدد صحیح باشد وهمچنین باید یک عدد.زوج باشد

دلیل اینکه باید زوج باشد این است که چون،دوتادوتاوالد هاcrossoverمعموال اپراتور

.در نظر میگیرد

تعدادفرزندان=تعداد والدین

𝑛𝑐ℎ𝑖𝑙𝑑𝑟𝑒𝑛 = 𝑝𝑐 × 𝑛𝑝𝑜𝑝 0 ≤ 𝑝𝑐 ≤ 1

𝑝𝑐

𝑛𝑐𝑛𝑐 = 2 ×

𝑝𝑐 × 𝑛𝑝𝑜𝑝

2

24

Page 25: Genetic algorithm

How to create a new population?

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

ممکن است بزرگتر از یک باشد.𝑛𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛 = 𝑝𝑚 × 𝑛𝑝𝑜𝑝

0 ≤ 𝑝𝑚 ≤ 1

𝑛𝑚 = 𝑝𝑚 × 𝑛𝑝𝑜𝑝

𝑝𝑚

25

Page 26: Genetic algorithm

How to create a new population?

تعداد دفعات تابع فراخوانی شده =Number of Function

Evalute(NFE)

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

تعداد دفعات

فراخوانی تابع هدف

تعدادجمعیت اصلی

تعداد فرزندان

تعداد جهش

یافتگان

تعداد تکرار

تعداد اعضای تولید شده جدید

26

Page 27: Genetic algorithm

How to create a new population?

سهم های از قبل تعیین شده :روش دوم(Predefined share)

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

𝑝𝑡

𝑄𝑡

𝑅𝑡

𝑝𝑡+1

27

Page 28: Genetic algorithm

How to create a new population?

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

𝑝𝑡 = 𝑠𝑝 × 𝑛𝑝𝑜𝑝

𝑄𝑡 = 𝑠𝑞 × 𝑛𝑐

𝑅𝑡 = 𝑆𝑟 × 𝑛𝑚

𝑆𝑝 + 𝑆𝑞 + 𝑆𝑟 = 1

0 ≤ 𝑆𝑝 ≤ 1

0 ≤ 𝑆𝑞 ≤ 1

0 ≤ 𝑆𝑟 ≤ 1

Keep rate𝑆𝑝 =

28

Page 29: Genetic algorithm

How to create a new population?

جوان گرایی :حالت خاصMutationو Crossoverفقط نتیجه

و

و

همچنین

𝑆𝑝 = 0

𝑛𝑐 = 2 ×𝑝𝑐 × 𝑛𝑝𝑜𝑝

2

𝑛𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛 = 𝑝𝑚 × 𝑛𝑝𝑜𝑝

𝑁𝐹𝐸𝑡 = 𝑛𝑝𝑜𝑝 + (𝑛𝑐 + 𝑛𝑚) × 𝑡

29

Page 30: Genetic algorithm

How to create a new population? ادغام :روش سوم(Merge) وانتخاب تصادفی(Select randomly)

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

انتخاب ها بدون جایگذاری در تابع هدف انجام می شود.

𝑝𝑡

𝑄𝑡

𝑅𝑡

𝑃𝑡′

MergeSelect randomly

𝑃𝑡+1

𝑛𝑝𝑜𝑝

30

Page 31: Genetic algorithm

How to create a new population?

روش چهارم:

روی خود جمعیت اصلی جهش انجام نداده) (

روش قبل ترکیب راانجام داده 3سپس به یکی از.

𝑄𝑡

فرزندان عادی

فرزندان جهش یافته

𝑄𝑡′ 𝑛𝑐

𝑛𝑚 = 0

31

Page 32: Genetic algorithm

How to create a new population?

تعداد جمعیت میانی

اگر ابتدا جایگذاری انجام دهیم وسپس جهش داریم:

اگر ابتدا جهش انجام داده وسپس جایگذاری کنیم:

𝑛𝑐 = 2 ×𝑝𝑐 × 𝑛𝑝𝑜𝑝

20 ≤ 𝑃𝑐 ≤ 1

𝑛𝑚 = 𝑝𝑚 × 𝑛𝑐 0 ≤ 𝑃𝑚 ≤ 1

𝑃𝑡′ = 𝑛𝑝𝑜𝑝 + 𝑛𝑐

𝑁𝐹𝐸 = 𝑛𝑝𝑜𝑝 + (𝑛𝑐 + 𝑛𝑚) × 𝑡

𝑁𝐹𝐸 = 𝑛𝑝𝑜𝑝 + 𝑛𝑐 × 𝑡

𝑝𝑡′

32

Page 33: Genetic algorithm

Selection parent برای انتخاب والدین که قرار است روی آنها جهش انجام شود ابتدا

.می بایست شایستگی انها بررسی شود

روش های انتخاب والد:

(selection pressure=0)انتخاب تصادفی 1.

انتخاب براساس شایستگی و رتبه 2.

tournament selection)(انتخاب رقابتی3.

33

Page 34: Genetic algorithm

Selection parent

2) انتخاب براساس شایستگی:

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

که سه نفر برتر 12و19،18/5به عنوان مثال سه نفر با معدل های .کلس هستند

حال هم می توانیم بگوییم سه نفر برتر را نیاز داریم یا به معدل . 17های باالی

در مورد قبل با تفاوت های(rank base)و(fitness base )آشنا شدیم.

معیار های مختلفی برای انتخاب والدین وجود دارد ،معیاری کهوبا این تابع کار (cost function)اکنون درنظر گرفتیم تابع هزینه

.راادامه می دهیم

معیارهای دیگر مانندrankوfitnessنیز قابل استفاده اند.

ابتدا یک توزیع احتمال گسسته تعریف میکنیم 3و2برای موردهای.وسپس براساس آن نمونه برداری کرده وبه دنبال نتیجه می گردیم

34

Page 35: Genetic algorithm

Selection parent

I : متغیر تصادفی مربوط به شماره والد انتخاب شده𝐼 ∈ 1,2,3, . . . 𝑛𝑝𝑜𝑝

𝑝𝑖 = 𝑝𝑟 𝐼 = 𝑖

1) 0 ≤ 𝑝𝑖 ≤ 1

2)

𝑖=1

𝑛𝑝𝑜𝑝

𝑃𝑖 = 1

3) 𝐶𝑖 ≤ 𝐶𝑗 ⇔ 𝑃𝑖 ≥ 𝑃𝑗 شایسته ساالری

البته باید دارای سه شرط .زیر را داشته باشد

35

Page 36: Genetic algorithm

Selection parent

رامی توان به شکل زیر تعریف کرد: روش اول:

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

می توان به جای از استفاده کرد.

تعریف حاضر هرسه شرط رادر خود دارد.

𝑃𝑖

𝑃𝑖 ∝ 𝐶max − 𝐶𝑖

𝑃𝑖 =𝐶max − 𝐶𝑖

j=1

(𝐶max−𝐶𝑗)

𝐶max

𝐶𝑖 ≤ 𝐶max

𝐶𝑖 𝐶max

36

Page 37: Genetic algorithm

Selection parent

روش دوم:

برای این است که اگر برابر با صفر شد مشکل پیش به. وجود نیاید

𝑃𝑖 ∝1

𝐶𝑖 + 𝜀𝐶𝑖 + 𝜀 ⟩ 0 𝐶𝑖⟩ − 𝜀

𝑃𝑖 =

1𝐶𝑖 + 𝜀

𝑗=1

1𝐶𝑗 + 𝜀

𝜀𝐶𝑖

37

Page 38: Genetic algorithm

Selection parent

روش بولتزمان: روش سوم

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

𝑝𝑖 ∝ 𝑒−𝑐𝑖

𝑝𝑖 =𝑒−𝑐𝑖

𝑒−𝑐𝑗

38

Page 39: Genetic algorithm

Selection Pressure مشکلی که اکنون داریم این است که نمی توانیم متوجه شویم یک

.عضو ضعیف تر چه مقدار ضعیف تر است

یعنی کنترلی برای اینکه ببینیم تفاوت هزینه ها چه تاثیری.برروی تفاوت احتماالت دارد ،نداریم

راهکار!!!...

تعریف فشار انتخاب(Selection Pressure)

اگر انتخاب رندوم باشد(SP=0)

اگر فشار انتخاب بی نهایت باشد (SP= ) فقط اعضای عضو بهتر. جمعیت انتخاب می شوند

39

Page 40: Genetic algorithm

Selection Pressure

𝑃𝑖′:

𝑃𝑖 ∝ 𝑃𝑖′ 𝛽

𝑃𝑖 =𝑃𝑖′ 𝛽

𝑗=1

𝑃𝑗′ 𝛽

𝛽 ≥ 0

یک عدد مثبت است.

احتمال خام

𝛽

40

Page 41: Genetic algorithm

Selection Pressure

مثال:

در این صورت اگر

بهترین انتخاب شده است .

𝑃1′ = 0.1،𝑃2

′ = 0.2،𝑃3′ = 0.3،𝑃4

′ = 0.4

𝛽 = 0 𝑃1 = 𝑃2 = 𝑃3 = 𝑃4 =1

4

𝛽 = ∞

if

𝑝1 = 𝑝2 = 𝑝3 = 0

𝑝4 = 1

41

Page 42: Genetic algorithm

Selection Pressure

حال تغییرات به وجود آمده در اثر تعریف(selection pressure) را.اعمال می کنیم

𝑃𝑖 =

1𝐶𝑖 + 𝜀 𝛽

𝑗=1

1

𝐶𝑗 + 𝜀𝛽

2) 𝑃𝑖 ∝1

𝐶𝑖+𝜀𝛽

𝑃𝑖 =𝐶max − 𝐶𝑖

𝛽

𝑗=1

𝐶max − 𝐶𝑗𝛽1) 𝑃𝑖∝ 𝐶max − 𝐶𝑖

𝛽

3) 𝑃𝑖 ∝ 𝑒−𝛽𝑐𝑖 𝑃𝑖 =𝑒−𝛽𝑐𝑖

𝑗=1

𝑒−𝛽𝑐𝑗

42

Page 43: Genetic algorithm

Selection Pressure

البته اگرچند عضو بهتر داشته باشیم.این احتمال بین آنها تقسیم می شود

مقداری از مطلوب است که:

احتمال را دارا باشند%80یعنی نصف بهتر جمعیت.

𝛽 = 0 ⇒ 𝑃𝑖 =1

𝑛𝑝𝑜𝑝

𝛽 → ∞ ⇒ 𝑃𝑖 = 10

بهترین عضو جمعیت سایرین

𝛽

𝑖=1

𝑛𝑝𝑜𝑝

2

𝑃𝑖 = 0.8

43

Page 44: Genetic algorithm

Selection Pressure

همانطور که قبل اشاره شد می توان با معیارrank نیز به جایcost کار کرد.

𝑝𝑖 ∝ 𝑛𝑝𝑜𝑝 − 𝑟𝑖 + 𝑘𝛽

𝑝𝑖 ∝1

𝑟𝑖 + 𝜀

𝛽

𝑃𝑖 ∝ 𝑒−𝛽𝑟𝑖

44

Page 45: Genetic algorithm

Rolette wheel selection(RWS)

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

هربخش به نسبت احتماالت تقسیم می شود و.سهم مشخص دارد

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

البته برای آنکه بتوان آن را به راحتی برنامه نویسی. کرد باید به شکل دیگری درآوریم

45

Page 46: Genetic algorithm

Rolette wheel selection(RWS)

اگر چرخ را باز کرده وآن را به صورت یک رمان درآوریم که ازصفر تا یک است و سپس با انتخاب یک عدد بین صفر تا یک که نقش

پیاده سازی شده ( RWS)نشانگر ما را بازی می کند،دقیقا چرخه .است

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

حال باانتخاب.مورد مقابل را بررسی میکنیم

ترتیب شرطها مهم است وباید از باال به پایین چک شود.

اولین جایی کهrانتخاب شد شرط ها پایان می یابند.

𝑃1 𝑃1 + 𝑃2 𝑃1 + 𝑃2 + 𝑃30 1

)𝑟 ∼ 𝑢(0,1

𝑟 ≤ 𝑃1

𝑟 ≤ 𝑃1 + 𝑃2 + 𝑃3

𝑟 ≤ 𝑃1 + 𝑃2if

1

2

2

3

3 4

𝑟 ≤ 146

Page 47: Genetic algorithm

Rolette wheel selection(RWS)

کارهایی که باید برایRWS انجام داد ،به ترتیب زیر است:

)1) 𝑟 ∼ 𝑢(1,0

2) 𝐶𝑖 =

𝑗=1

𝑖

𝑃𝑖

)3 find smallest i, where 𝑟 ≤ 𝐶𝑖

𝑖 = min 𝑗|𝑟 ≤ 𝐶𝑗دستور در

متلب Find

47

Page 48: Genetic algorithm

Tournament selection

ابتداm عضو از اعضای جمعیت به تصادف انتخاب می شود(بااحتمال یکسان )

سپس بهترین عضو از میانm عضو منتخب ،به عنوان نتیجه انتخاب(m array tournament selection).رقابتی مشخص می شود

اگرm=2 ،Binary tournament selection .

مثال:

اگرm=3 بدترین عضو جمعیت نمی تواند انتخاب شود ،چرا که در،.هیچ رقابتی جای ندارد

همچنین دومین عضو بدتر جمعیت نیز نمی تواند انتخاب شود.

، به طور کلی در روش انتخاب رقابتیm-1 عضو بدتر جمعیت به هیچ.وجه شانس انتخاب شدن ندارند

و اگر باشد،اگر

𝛽 𝑠𝑒𝑙𝑒𝑐𝑡𝑖𝑜𝑛 𝑝𝑟𝑒𝑠𝑠𝑢𝑟𝑒 = 0،𝑚 = 𝑛𝑝𝑜𝑝 𝑚 = 1𝛽 → ∞

48

Page 49: Genetic algorithm

Binary problems

جهش در مسایل باینری:

به طور مثال درباره دفتر های یک شرکت در یک شهر که در مدیر آندر حال بررسی این است که کدام شرکت را ببندد ویا کدام را فعال

.نگه ندارد ،در حقیقت یک مساله باینری است

𝑛var =

𝑥 = 𝑥1, 𝑥2, 𝑥3, . . . , 𝑥𝑛var

𝑋𝑖 ∈ 0,1

)min Z = 𝑓(𝑥

تعداد مجهوالت

شکل کروموزوم

𝑓: 0,1 𝑛var → ℝ

49

Page 50: Genetic algorithm

Binary problems

Crossover در مسایل باینری:

1)Single point crossover

Parent 1: X X | X X X X X

Parent 2: Y Y | Y Y Y Y Y

Offspring 1: X X Y Y Y Y Y

Offspring 2: Y Y X X X X X

تعداد محل های قطع:𝑛var − 1

50

Page 51: Genetic algorithm

Binary problems2)Two point crossover

51

Page 52: Genetic algorithm

Binary problems3) Uniform Crossover:

Mask انجام می شود اما صفر و یک ها هرطوری که بخواهند𝑋1(.می توانند باشند = (𝑥11, 𝑥12, 𝑥13, . . . , 𝑥1𝑛

)𝑋2 = (𝑥21, 𝑥22, 𝑥23, . . . , 𝑥2𝑛

)𝛼 = (𝛼1, 𝛼2, 𝛼3, . . . , 𝛼𝑛

)𝑌2 = (𝑦21, 𝑦22, 𝑦23, . . . , 𝑦2𝑛

)𝑌1 = (𝑦11, 𝑦12, 𝑦13, . . . , 𝑦1𝑛

,𝛼𝑖 = 0,1

𝑌1𝑖 = 𝛼𝑖𝑥1𝑖 + (1 − 𝛼𝑖) × 𝑥2𝑖

𝑌2𝑖 = 𝛼𝑖𝑥2𝑖 + (1 − 𝛼𝑖) × 𝑥1𝑖

52

Page 53: Genetic algorithm

Binary problems

می توانیم برای ترکیب واستفاده از سه مورد ،از هرکدام یک سهم.مشخص استفاده شود

سپس بااستفاده ازRWS در هر بارCrossover از یک نوع استفاده می.کنیم

برای حوزه عدد صحیح وباینری استفاده ازUniform Crossover

.بسیار مناسب است

𝑃𝑠𝑝𝑥 → 𝛱𝑠𝑝𝑥

𝑃𝐷𝑝𝑥 → 𝛱𝐷𝑝𝑥

𝑃𝑢𝑐𝑥 → 𝛱𝑢𝑐𝑥

𝜋𝑢𝑐𝑥 + 𝜋𝑠𝑝𝑥 + 𝜋𝑑𝑝𝑥 = 1

53

Page 54: Genetic algorithm

Binary problems

نرخ تاثیر جهش ) (

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

0 ≤ 𝜋𝑚 ≤ 1

= 𝜋𝑚× 𝑛var

𝜋𝑚

تعداد مولفه های تحت تاثیر جهش

𝑥𝑖 = 0 → 𝑥𝑖 = 1

𝑥𝑖 = 1 → 𝑥𝑖 = 0𝑥𝑖𝑛𝑒𝑤 ← 1 − 𝑥𝑖

if

54

Page 55: Genetic algorithm

integer problems

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

𝑛var:

𝑋 = 𝑥1, 𝑥2, 𝑥3,. . . , 𝑥𝑛var

𝑥𝑖 ∈ 𝑥min, . . . , 𝑥max

تعداد مجهوالت

𝑥𝑖 → 𝑥𝑖𝑛𝑒𝑤

𝑥𝑖𝑛𝑒𝑤 ∈ 𝑋 − 𝑥𝑖 از مجموعه مقدار →

.را حذف می کنیم 𝑥𝑖 𝑋

به تصادف عضوی از مجموعه ی فوق را .انتخاب می کنیم

55

Page 56: Genetic algorithm

Real problems

در جاهایی که متغیر تصمیم ما پیوسته است ،استفاده می شود.

باتغییر درuniform crossover می توان یک نوع خاصcrossover بدست.می آید

𝑛var:

)𝑋 = (𝑥1, 𝑥2, 𝑥3, . . . , 𝑥var

𝑋 ∈ 𝑥min, 𝑥max

𝑥min ≤ 𝑥𝑖 ≤ 𝑥max

56

Page 57: Genetic algorithm

Real problems

Arithmetic Crossover:

)𝑋2 = (𝑥21, 𝑥22, 𝑥23, . . . , 𝑥2𝑛

)𝛼 = (𝛼1, 𝛼2, 𝛼3, . . . , 𝛼𝑛

)𝑋1 = (𝑥11, 𝑥12, 𝑥13, . . . , 𝑥1𝑛

, 0 ≤ 𝛼𝑖 ≤ 1

)𝑌2 = (𝑦21, 𝑦22, 𝑦23, . . . , 𝑦2𝑛

)𝑌1 = (𝑦11, 𝑦12, 𝑦13, . . . , 𝑦1𝑛

𝑌1𝑖 = 𝛼𝑖𝑥1𝑖 + (1 − 𝛼𝑖) × 𝑥2𝑖

𝑌2𝑖 = 𝛼𝑖𝑥2𝑖 + (1 − 𝛼𝑖) × 𝑥1𝑖

57

Page 58: Genetic algorithm

Real problems جهش در فضای پیوسته:

مانند قبل حذف کردن نداریم ،اما هر عددی بین و.می تواند باشد

اگر انحراف معیار ما بزرگتر باشد گام ما افزایش می یابد و اگر.انحراف معیار ما کم باشد گام کوچک می شود

𝑥min𝑥max

𝑋𝑖𝑛𝑒𝑤 ∼ 𝑝 𝑥 𝑥 ∈ [𝑥min, 𝑥max

)𝑥𝑖𝑛𝑒𝑤 = 𝑁(𝑥𝑖 , 𝜎

2

)𝑥𝑖𝑛𝑒𝑤 = 𝑥𝑖 + 𝜎 × 𝑁(0,1

𝜎 = 𝜇 𝑥max − 𝑥min

58

Page 59: Genetic algorithm

Real problems یک قانون . نه طول گام باید کوچک باشد ونه باید بزرگ باشد

که به قانون یک پنجم معروف (Evolution strategy)کلی وجود دارد .است

قانون(ES:)

1) اگر نسبت جهش های موفق بیش از یک پنجم باشد طول گام راافزایش می دهیم

2 ) اگر نسبت جهش های موفق کمتر از یک پنجم باشد ،طول گام را.کمتر می کنیم

59

Page 60: Genetic algorithm

پایان

60

Page 61: Genetic algorithm

61