60

Genetic algorithm

Embed Size (px)

Citation preview

1

By: mohammadreza bayat

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

2

Introduction

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

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

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

3

Introduction

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

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

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

4

Introduction

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

5

Introduction

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

6

Evolution theoryی در یک یا عبارتست از دگرگون( اندامییاتکامل زیستیویژه ترٔ یا به گونه)برآیشیافرگشتیاکامل

.افراد رخ می دهدجمعیت هایکه طی زمان درموروثیفنوتیپیچند ویژگی

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

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

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

جهش) 3(mutation)

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

7

Evolution theory

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

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

تولید مثل(reproduction)

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

جهش(mutation)

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

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

همزیستی(symbiosis)

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

8

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

.اندداشته

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

9

Genetics

دست خط طبیعت

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

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

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

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

10

Genetics

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

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

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

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

11

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

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

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

12

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

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

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

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

13

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

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

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

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

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

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

14

Ideaی آن موجودات کنونی ،نتیجه هزاران بار تکرار یک الگوریتم بهینه سازی عظیم هستند ،که هدف از اجرا

.،افزایش توان بقای موجودات زنده است

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

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

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

15

Evolutionary Algorithm

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

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

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

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

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

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

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

16

History of Genetic Algorithm

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

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

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

.کردچاپداشتژنتیکالگوریتم

17

Genetic Algorithm(GA)

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

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

جهش. 3

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

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

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

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

پایان. 6

18

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

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

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

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

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

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

19

Genetic Algorithm(GA)

P(t)

Q(t) R(t)

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

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

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

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

𝑛𝑝𝑜𝑝

𝑛𝑚

𝑛𝑐

𝑛𝑝𝑜𝑝

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

20

How to create a new population?

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

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

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

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

𝑛𝑝𝑜𝑝

21

How to create a new population?

𝑝𝑡𝑄𝑡

𝑅𝑡

𝑃𝑡′ 𝑃𝑡

′′

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

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

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

𝑝𝑡′′

𝑛𝑝𝑜𝑝

22

How to create a new population?

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

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

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

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

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

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

𝑝𝑐

𝑛𝑐𝑛𝑐 = 2 ×

𝑝𝑐 × 𝑛𝑝𝑜𝑝

2

23

How to create a new population?

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

ممکن است بزرگتر از یک باشد.

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

0 ≤ 𝑝𝑚 ≤ 1

𝑛𝑚 = 𝑝𝑚 × 𝑛𝑝𝑜𝑝

𝑝𝑚

24

How to create a new population?

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

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

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

هدف

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

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

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

تعداد تکرار

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

25

How to create a new population?

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

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

𝑝𝑡

𝑄𝑡

𝑅𝑡

𝑝𝑡+1

26

How to create a new population?

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

𝑝𝑡 = 𝑠𝑝 × 𝑛𝑝𝑜𝑝

𝑄𝑡 = 𝑠𝑞 × 𝑛𝑐

𝑅𝑡 = 𝑆𝑟 × 𝑛𝑚

𝑆𝑝 + 𝑆𝑞 + 𝑆𝑟 = 1

0 ≤ 𝑆𝑝 ≤ 1

0 ≤ 𝑆𝑞 ≤ 1

0 ≤ 𝑆𝑟 ≤ 1

Keep rate𝑆𝑝 =

27

How to create a new population?

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

و

و

همچنین

𝑆𝑝 = 0

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

2

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

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

28

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

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

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

𝑝𝑡

𝑄𝑡

𝑅𝑡

𝑃𝑡′

MergeSelect randomly

𝑃𝑡+1

𝑛𝑝𝑜𝑝

29

How to create a new population?

روش چهارم:

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

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

𝑄𝑡

فرزندان عادی

فرزندان جهش یافته𝑄𝑡′ 𝑛𝑐

𝑛𝑚 = 0

30

How to create a new population?

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

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

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

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

20 ≤ 𝑃𝑐 ≤ 1

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

𝑃𝑡′ = 𝑛𝑝𝑜𝑝 + 𝑛𝑐

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

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

𝑝𝑡′

31

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

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

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

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

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

32

Selection parent

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

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

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

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

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

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

function)وبا این تابع کار راادامه می دهیم.

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

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

33

Selection parent

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

𝑝𝑖 = 𝑝𝑟 𝐼 = 𝑖

1) 0 ≤ 𝑝𝑖 ≤ 1

2)

𝑖=1

𝑛𝑝𝑜𝑝

𝑃𝑖 = 1

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

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

34

Selection parent

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

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

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

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

𝑃𝑖

𝑃𝑖 ∝ 𝐶max − 𝐶𝑖

𝑃𝑖 =𝐶max − 𝐶𝑖

j=1

(𝐶max−𝐶𝑗)

𝐶max

𝐶𝑖 ≤ 𝐶max

𝐶𝑖 𝐶max

35

Selection parent

روش دوم:

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

𝑃𝑖 ∝1

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

𝑃𝑖 =

1𝐶𝑖 + 𝜀

𝑗=1

1𝐶𝑗 + 𝜀

𝜀𝐶𝑖

36

Selection parent

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

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

𝑝𝑖 ∝ 𝑒−𝑐𝑖

𝑝𝑖 =𝑒−𝑐𝑖

𝑒−𝑐𝑗

37

Selection Pressureف تر مشکلی که اکنون داریم این است که نمی توانیم متوجه شویم یک عضو ضعیف تر چه مقدار ضعی

.است

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

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

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

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

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

38

Selection Pressure

𝑃𝑖′:

𝑃𝑖 ∝ 𝑃𝑖′ 𝛽

𝑃𝑖 =𝑃𝑖′ 𝛽

𝑗=1

𝑃𝑗′ 𝛽

𝛽 ≥ 0

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

احتمال خام

𝛽

39

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

40

Selection Pressure

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

𝑃𝑖 =

1𝐶𝑖 + 𝜀 𝛽

𝑗=1

1

𝐶𝑗 + 𝜀𝛽

2) 𝑃𝑖 ∝1

𝐶𝑖+𝜀𝛽

𝑃𝑖 =𝐶max − 𝐶𝑖

𝛽

𝑗=1

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

𝛽

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

𝑗=1

𝑒−𝛽𝑐𝑗

41

Selection Pressure

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

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

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

𝛽 = 0 ⇒ 𝑃𝑖 =1

𝑛𝑝𝑜𝑝

𝛽 → ∞ ⇒ 𝑃𝑖 = 10

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

𝛽

𝑖=1

𝑛𝑝𝑜𝑝

2

𝑃𝑖 = 0.8

42

Selection Pressure

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

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

𝑝𝑖 ∝1

𝑟𝑖 + 𝜀

𝛽

𝑃𝑖 ∝ 𝑒−𝛽𝑟𝑖

43

Rolette wheel selection(RWS)

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

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

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

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

44

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

𝑟 ≤ 145

Rolette wheel selection(RWS)

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

)1) 𝑟 ∼ 𝑢(1,0

2) 𝐶𝑖 =

𝑗=1

𝑖

𝑃𝑖

)3 find smallest i, where 𝑟 ≤ 𝐶𝑖

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

Find

46

Tournament selection

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

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

اگرm=2 ،Binary tournament selection .

مثال:

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

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

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

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

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

47

Binary problems

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

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

𝑛var =

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

𝑋𝑖 ∈ 0,1

)min Z = 𝑓(𝑥

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

شکل کروموزوم

𝑓: 0,1 𝑛var → ℝ

48

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

49

Binary problems2)Two point crossover

50

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𝑖

51

Binary problems

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

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

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

𝑃𝑠𝑝𝑥 → 𝛱𝑠𝑝𝑥

𝑃𝐷𝑝𝑥 → 𝛱𝐷𝑝𝑥

𝑃𝑢𝑐𝑥 → 𝛱𝑢𝑐𝑥

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

52

Binary problems

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

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

0 ≤ 𝜋𝑚 ≤ 1

= 𝜋𝑚× 𝑛var

𝜋𝑚

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

𝑥𝑖 = 0 → 𝑥𝑖 = 1

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

if

53

integer problems

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

𝑛var:

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

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

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

𝑥𝑖 → 𝑥𝑖𝑛𝑒𝑤

𝑥𝑖𝑛𝑒𝑤 ∈ 𝑋 − 𝑥𝑖 → .از مجموعه مقدار را حذف می کنیم 𝑥𝑖 𝑋

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

54

Real problems

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

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

𝑛var:

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

𝑋 ∈ 𝑥min, 𝑥max

𝑥min ≤ 𝑥𝑖 ≤ 𝑥max

55

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𝑖

56

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

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

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

𝑥min𝑥max

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

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

2

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

𝜎 = 𝜇 𝑥max − 𝑥min

57

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

.که به قانون یک پنجم معروف است

قانون(ES:)

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

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

58

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

59

60