1 الگوریتم های ژنتیک instructor : saeed shiry mitchell ch. 9

62
1 ک ی ت ن م های ژ ت ی وژ گ ل اInstructor : Saeed Shiry Mitchell Ch. 9

Post on 21-Dec-2015

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

1

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

Instructor : Saeed Shiry

Mitchell Ch. 9

Page 2: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

2

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

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

سال در روش John Hollandتوسط 1970اینگردید معرفی

نام با روشها نیز Evolutionary Algorithmsاین. میشوند خوانده

Page 3: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

3

کلی ایده

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

” تناسب “ تابع یک از استفاده با حلها راه این از یک هر. میگیرد قرار ارزیابی مورد

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

که میکند پیدا تکامل جهتی در جستجو فضای ترتیب بدینبرسد مطلوب حل راه به

میتواند روش این پارامترها، صحیح انتخاب صورت در. نماید عمل موثر بسیار

Page 4: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

4

فرضیه فضای

های فرضیه جستجوی بجای ژنتیک الگوریتمgeneral-to specific یا simple to complexو

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

جمعیت که ها فرضیه از ای مجموعه هرمرحله در(population )جایگزینی طریق از میشوند نامیده

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

Page 5: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

5

ویژگیها

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

آن اجزا تاثیر که پیچیده فرضیه فضای با مسایلی در همچنیناز میتوان باشند ناشناخته کلی فرضیه جستجو GAدر برای

. نمود استفاده برایdiscrete optimization. میگیرد قرار استفاده مورد بسیار اجرا موازی بصورت براحتی میتوان را ژنتیک های الگوریتم

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

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

. هستند پرهزینه محاسباتی لحاظ از. ندارد وجود بهینه جواب به رسیدن برای تضمینی

Page 6: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

6

Parallelization of Genetic Programming

سال کامپیوتر. Genetic Programming Incشرکت 1999در یکبا های 1000موازی کامپیوتر شامل یک هر P2, 350 MHZگره

. داد قرار استفاده مورد را ژنتیک های روش سازی پیاده برای

Page 7: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

7

دها کاربر

میباشد زیاد بسیار ژنتیک های الگوریتم کاربرد optimization, automatic programming, machine learning, economics, operations research, ecology, studies of evolution and learning, and social systems

Page 8: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

8

های شاخه EAزیر

های مجزا EAروش ولی هم به مرتبط نوع دو به: میشوند بندی دسته

Genetic Algorithms (GAs)یک بصورت مسئله یک حل راه روش این bitدر

string . میشود داده نشانGenetic Programming (GP)

تولید به روش زبانهای expression treesاین در کهمثل نویسی هستند lispبرنامه استفاده مورد

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

Page 9: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

9

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

: که است ترتیب بدین ژنتیک الگوریتم سازی پیاده متداول روش که ها فرضیه از ای تولید populationمجموعه میشود نامیده

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

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

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

ژنتیکی اپراتورهای از استفاده با مابقی و شده واقع استفاده.Mutationو Crossoverنظیر میروند بکار فرزندان تولید برای

Page 10: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

10

GAپارامترهای

الگوریتم :GAیک است زیر پارامترهای دارایGA)Fitness,Fitness_threshold,p,r,m(

:Fitness عددی مقداری که فرضیه یک ارزیابی برای تابعیمیدهد نسبت فرضیه هر به

:Fitness_threshold معین را پایان شرط که آستانه مقدارمیکند

:p شوند گرفته نظر در جمعیت در باید که هائی فرضیه تعداد:r الگوریتم توسط مرحله هر در که جمعیت از صدی در

crossover میشوند جایگزین:m نرخmutation

Page 11: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

11

الگورتیم

:Initialize تعداد با را بطور pجمعیت فرضیه. کنید اولیه دهی مقدار تصادفی

:Evaluate فرضیه هر تابع pدر hبرای مقدارFitness)h(. نمائید محاسبه را

[ زمانیکه [ > )maxh Fitness)hتاFitness_threshold. کنید ایجاد جدید جمعیت یک

مقدار بیشترین دارای که ای است Fitnessفرضیه. برگردانید را

Page 12: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

12

: است زیر بصورت جدید جمعیت یک ایجاد مراحل :select(1تعداد-r)p میان از به Pفرضیه و . Psانتخاب احتمال کنید اضافه

فرضیه یک میان hiانتخاب :Pاز از است عبارت

P)hi( = Fitness )hi( / Σj Fitness )hj(

:Crossover( تعداد فوق، رابطه توسط آمده بدست احتمال از استفاده rp/)2بامیان از فرضیه اپراتور Pزوج از استفاده با و از Crossoverانتخاب فرزند دو

. به را فرزندان کنید ایجاد .Psآنان کنید اضافه :Mutate تعدادm اعضا از از Psدرصد بیت یک و انتخاب یکنواخت احتمال با را

کنید معکوس تصادفی بصورت را آنها یک هرP Ps :Update فرضیه هر تابع Pدر hبرای کنید Fitnessمقدار محاسبه را

جدید جمعیت ایجاد نحوه

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

دارد.

Page 13: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

13

ها نمایشفرضیه

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

:Phenotype. میشود گفته واقعی حلهای راه یا مقادیر به :Genotype استفاده مورد که میشود گفته ها کروموزم یا شده انکد مقادیر GAبه

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

Genotype space = {0,1}L

Phenotype spaceEncoding )representation(

Decoding)inverse representation(

011101001

010001001

10010010

10010001

Page 14: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

14

نمایشقوانین: If-thenمثالrules

نظیر ویژگی یک مقادیر نمایش مقدار Outlookبرای سه دارای ,SunnyکهOvercast ,Rain طول با ای رشته از میتوان نمود 3است استفاده بیت

100 -< Outlook = Sunny

011-< Outlook = Overcast Rain

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

قانون یک کل ترتیب همین های if- thenبه بیت دادن قرار هم سر پشت با میتوان را: نمود ایجاد نتیجه و شرط های قسمت

Outlook Wind

011 10

IF Wind = Strong THEN PlayTennis = No

Outlook Wind PlayTennis

111 10 0 bit string: 111100

Page 15: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

15

: مالحظات ها نمایشفرضیه

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

. نمود استفاده دیگری انکدینگ روش از میتوان چنین که نمود تعیین طوری را ژنتیکی اپراتورهای

نمایند حذف را حالتهائی مقدار ها فرضیه این به کمی fitnessمیتوان خیلی

. داد نسبت

Page 16: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

16

ژنتیکی اپراتورهایCrossover:

اپراتورCrossover رشته دو والد رشته دو از استفاده با . میآورد بوجود فرزند

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

به شوند کپی والدین از یک هر از باید که هائی بیت انتخابمیشود انجام مختلف روشهای

single-point crossover Two-point crossover Uniform crossover

نام به رشته یک از شونده کپی بیتهای محل تعیین برایCrossover Mask. میشود استفاده

Page 17: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

17

Single-point crossover

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

. میاید بوجود دیگر والد از دوم تکه

1 1 1 0 1 0 0 1 0 0 0

Crossover Mask: 11111000000

0 0 0 0 1 0 1 0 1 0 1

1 1 1 0 1

0 0 1 0 0 0

0 1 0 1 0 1

0 0 0 0 1

Parents Children

Page 18: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

18

دیگر Crossoverروشهای

Two-point crossover

Uniform crossover

0 0 1 0 0 0

Crossover Mask: 00111110000

1 1 1 0 0 01 0 1 0 0

0 0 0 1 0 10 0 1 0 0 00 0 1 0 1

0 0 1 0 0 01 1 1 0 0 0

0 0 0 1 0 10 0 1 0 0 01 0 1 0 0

0 0 1 0 1

Crossover Mask: 10011010011

میشوند انتخاب والدین از یکنواخت بصورت بیتها

1 01 1 0 1 0 1 0 0 0

0 00 0 0 1 1 0 1 0 1

1

01 1

0 1 0

1 0

0 0

0

00 0

0 1 1

0 1

0 1

Parents

Parents

Children

Children

Page 19: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

19

ژنتیکی : Mutationاپراتورهای

اپراتورmutation والد یک از فقط فرزند آوردن بوجود برای . اولیه رشته در کوچکی تغییرات انجام با اینکار میکند استفاده

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

. میکند پیدا تغییر آن مقدار معموالmutation انجام از .crossoverبعد میشود اعمال

Parent Child

1 1 1 0 1 0 0 1 0 0 01 1 1 0 1 0 0 1 0 0 00 1

Page 20: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

20

: است بوده مطرح سالها ها سوال ایناصلی کدامیک است؟ الزم کدامیک است؟ بهتر کدامیک

است؟

: بوده قبول مورد پاسخها بقیه از بیشتر تاکنون که پاسخی دارد مسئله صورت به بستگی شود استفاده دو هر از است بهتر کلی حالت در دارد را خود مخصوص نقش کدام هر از فقط که داشت الگوریتمی ولی mutationمیتوان کند استفاده

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

Crossover OR mutation?

Page 21: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

21

Crossover OR mutation?

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

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

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

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

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

Page 22: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

22

تناسب تابع

تابعfitness هاست فرضیه بندی رتبه برای معیاریبعدی نسل برای برتر های فرضیه تا میکند کمک که

. بسته تابع این انتخاب نحوه شوند انتخاب جمعیت: دارد نظر مورد کاربر به

:classification تناسب تابع مسایل نوع این دربندی دسته در قانون دقت با است برابر معموال

. آموزشی مثالهای

Page 23: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

23

ها فرضیه انتخاب

Roulette Wheel selection

ساده الگوریتم در شده معرفی روش درGA برای فرضیه یک انتخاب احتمال

به بستگی بعدی جمعیت در استفادهبه fitnessنسبت اعضا fitnessآن بقیه

روش. این Roulette Wheelداردselection. میشود نامیده

P)hi( = Fitness )hi( / Σj Fitness )hj(

fitness)A( = 3

fitness)B( = 1

fitness)C( = 2

A C

1/6 = 17%

3/6 = 50%

B2/6 = 33%

: دیگر روشهایtournament selectionrank selection

Page 24: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

24

فرضیه فضای در جستجو نحوه

جستجوی های GAروش شبکه مثل دیگر روشهای با: دارد تفاوت عصبی

روش عصبی شبکه بصورت Gradient descentدرحرکت دیگری مشابه فرضیه به ای فرضیه از هموار

حالیکه در ناگهانی GAمیکند بصورت است ممکنتفاوت که نماید جایگزین فرزندی با را والد فرضیه . گیر احتمال اینرو از باشد داشته آن والد با اساسی

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

crowding. میشود نامیده

Page 25: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

25

Crowding

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

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

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

F(X)

X

Page 26: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

26

مشکل رفع حل Crowdingراه

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

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

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

. یابد می کاهش باشند

Page 27: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

27

میکند؟ GAچرا کار

به واردین تازه برای است ممکن که سئوالیاین آیا که است این شود ایجاد ژنتیکی روشهای

دهد؟ انجام مفیدی کار میتواند واقعا روش

Page 28: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

28

قضیه و جمعیت ارزیابیSchema

ریاضی بصورت را زمان طی در جمعیت در تکامل میتوان آیانمود؟ مدل

قضیهSchema در تکامل پدیده مشخصه بیان GAمیتواند رانماید.

یکSchema توصیف را ها بیت رشته از ای مجموعهیک. از Schemaمیکند ای رشته . 1و 0هر مثل* است 10*0و

حالت * .dont careکه است از یک هر نماینده میتوان را بیت رشته های Schemaیک

. مثال دارند تطابق آن با که دانست میتوان 0010متفاوتی رادانست Schema 24نماینده وغیره,**** : 10*0**,00مختلف

Page 29: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

29

Schemaقضیه

قضیهSchema یک چگونه که میکند در Schemaبیان. کرد خواهد پیدا تکامل جمعیت در زمان طول

لحظه در که کنید نماینده tفرض که هائی نمونه تعدادبا sمثل Schemaیک برابر . )m)s,tهستند این باشد

انتظار ق مورد مقدار .)m)s,t+1ضیه میکند مشخص را برابر فرضیه یک انتخاب احتمال که دیدیم :بقبال با ود

P)hi( = Fitness )hi( / Σj Fitness )hj(: داد نشان نیز زیر بصورت میتوان را احتمال مقدار این

P)hi( = f )hi( / n f’ )ti(

متوسط ها fitnessمقدار فرضیه تمامی برای

Page 30: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

30

Schemaقضیه

احتمال شود انتخاب جمعیت این از عضوی اگرنماینده عضو این :Sاینکه با است برابر باشد

مقدار آن در مقدار )u)s,tکه با است برابر sاعضای fitnessمیانگین

از هائی نمونه برای انتظار مورد مقدار اینرو sازاز شد nکه خواهند حاصل مستقل انتخاب مرحله

: با است برابر

),(),(

tsmp tfn

tsu

tfn

hfshp

ssh

),(

)(

),(tsm

phf

tsu ssh

),(

),()]1,([ tsm

tf

tsutsmE

Page 31: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

31

Schemaقضیه

تعداد که معناست این به فوق Schemaرابطهلحظه در انتظار مورد مقدار t+1های با متناسب

مقدار )u)s,tمیانگین با و اعضا fitnessبوده سایر. دارد عکس نسبت

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

اثر گرفتن رابطه Mutationو crossoverنظر به: رسید خواهیم زیر

)(1

1

)(1),(

),()]1,([

so

mcpp

l

sdtsm

tf

tsutsmE

Page 32: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

32

Schema Theorem Theorem

m)s, t( number of instances of schema s in population at time t

average fitness of population at time t

average fitness of instances of schema s at time t

pc probability of single point crossover operator

pm probability of mutation operator

l length of individual bit strings

o)s( number of defined )non “*”( bits in s

d)s( distance between rightmost, leftmost defined bits in s

Intuitive Meaning

“The expected number of instances of a schema in the population tends toward its

relative fitness”

so

ms

c p-l

dpt s,m

tf

t s,ut s,mE 1-

11-1

ˆ

tf

t s,u

Page 33: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

33

خالصه یکSchema در موجود بخش امید و مفید اطالعات

. میکند کد را جمعیت شانس سازگارترند که هائی رشته همواره آنجائیکه از

بیشتری مثالهای بتدریج دارند، شدن انتخاب برای بیشتریبهترین م Schemaبه اختصاص یابند.ی ها

عملcrossover تصادفی نقاط در ها رشته قطع باعثقطع. باعث اینکار صورتیکه در وجود این با میشود

Schema . کلی حالت در داد نخواهد تغییر آنرا باشد نشدهSchema. میکنند تغییر کمتر کوتاه طول با های

عملmutaion در موثر تغییرات باعث کلی حالت درSchema. نمیگردد

Highly-fit, short-defining-length schema )called building blocks( are propagated generation to generation by giving exponentially increasing samples to the observed best

Page 34: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

34

روشهای GAتفاوت سایر باجستجو

GA کد را آنها مجموعه پارامترها کردن کد بجایمیکند

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

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

میگیرد.GA برای احتمال قوانین از قطعی قوانین بجای

. میکند استفاده تغییر

Page 35: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

35

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

چینشحروف بهینهسازیرویصفحه بر با کلید فارسی

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

Page 36: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

36

مقدمه

بهین چینش آوردن روی هبدست بر فارسی حروفتایپ با که کسانی برای درازمدت در صفحه کلید

, مفید بسیار هستند درگیر فارسی متون کردن. بود خواهد

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

, فضای در می دهد ارائه چینش یک برای راصفحه کلید روی بر فارسی حروف چینش های

. آورد بدست را بهینه چینش و کرده جستجو

Page 37: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

37

بر فارسی حروف چینشکنونیصفحهکلید روی

Page 38: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

38

مساله

هندس مساله این ما هدر و است ثابت صفحه کلیدتعداد که از 33می خواهیم متشکل که حرف 32نشانه

بعالو فارسی " هالفبای روی " بر را است ء همزه حرفدارای ترتیب به که صفحه کلید ردیف 10و, 11, 12سه

. , دهیم قرار هستند کلید نشانه ها این از چینشی آوردن بدست مساله این هدف

, چینش این که طوری به است کلید ها این روی برصفحه از استفاده هنگام کاربر که باشد کلید طوری

, بیشتری راحتی احساس فارسی حروف تایپ برایباشد داشته چینش ها بقیه با کار به . نسبت

Page 39: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

39

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

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

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

, هستند صفحه کلید روی بر فارسی حروف از مختلفی چینش هایمقدار که می شود داده سوق سمتی به جامعه و می شوند اعمال

. برسند خود مقدار کمینه به آن اعضای ازای به تناسب تابع حروف چینش یک واقع در که جامعه از عضو هر تناسب میزان

, متنیییییی یی ییی بر تناسب تابع اعمال با هستند فارسیبررویصفحهکلید , به است شده تهیه زبان فارسی خبری سایت چند مطالب از که

. دستمیآیدییی

Page 40: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

40

جمعیت صفحه کلید روی فارسی حروف مختلف جایگشت های جمعیت اعضای

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

. است کلید طول با بردار هر } فارسی 33مثال حروف شامل همزه هعالوبکه حرف

( ) " در" جمعیت از عضو یک کروموزوم یک عنوان به میتوان را باشد ءحرف که گرفت , iنظر صفحه کلید از کلیدی با متناظر بردار این از ام

شمارة برچسب که .iاست است شده زده آن روی بر

مختلف ! چینش های 33تعداد

Page 41: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

41

تناسب تابع

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

طراحی برای را هدف چهار رومل هارت و نورمن: کرده اند ارائه صفحه کلید یک کارای

می دهند؛ 1. انجام دست دو که کاری برابری

دست؛ 2. دو با متناوب صورت به حروف تایپ بیشترین

و 3. انگشت؛ یک با متوالی حرف دو تایپ تکرار کمترین

کلیدهای ) 4. پایه ای کلیدهای روی بر حروف تایپ بیشترین .) وسط ردیف

Page 42: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

42

تناسب تابع: معرفی کرد. را زیر اندازه گیری فاکتور می توان اول هدف دو برایChand :دو ههزین کردن تایپ برای دست یک از استفاده به مربوط

. هم سر پشت حرف: , می شود معرفی زیر انداز ه گیری فاکتور سوم هدف برایCfinger :دو ههزین کردن تایپ برای انگشت یک از استفاده به مربوط

. هم سر پشت حرفCergonomic :به ههزین توجه با حرف یک کردن تایپ به مربوط

. صفحه کلید روی بر حرف آن موقعیت

Page 43: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

43

تناسب تابع

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

: , می آید بدست دارند وجود آزمایش برای استفاده

W مورد همجموع متن در موجود کلمات تمامیاست؛ آزمایش برای استفاده

wi هکلم i مجموع از است؛ W هام lj حرفj کلم از است؛ wi هام

W wl

jergonomicjjfingerjj

ij

lCllClliw

11hand )](),(),([C (layout) Fitness

Page 44: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

44

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

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

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

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

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

, چهار محتویات تنها نخبگان جامعة از عضو هر برای جهش عملگر . برای حالیکه در می کند جابه جا تصادفی صورت به را ژن زوج

به تعداد این جامعه عادی . 12افراد می یابد افزایش جابه جایی

%

Page 45: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

45

کارایی

ژنتیک : الگوریتم کردیم اجرا زیر پارامترهای با جمعیت اعضای نسل 100تعداد در که کروموزوم

صورت به تولیدشدهاند؛ ییییی تصادفیاول هجامع هدرصدتشکیلدهندیییی , است کل% 10نخبگان

؛ جمعیت اینکه بدون و مستقیم صورت به که اعضایی تعداد

, نسل به شود اعمال آن روی بر ژنتیکی عمگرهای , عضو؛ 3بعدیمیروندیییی

500وتعدادکلنسلها ی ییییی یی. نسل

Page 46: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

46

کارایی

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

, تناسبجامع متوسطمقادیر جامعه , هاعضای تناسب بهترین و نخبگان .هستند

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 50 100 150 200 250 300 350 400 450 500

generation number

fitn

ess

valu

e

Page 47: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

47

چینش بهترین

ژنتیک الگوریتم این نهایت در که چینشی بهترینبهیییی یییی ییییی ییییی ییی, توجه با برایحروففارسیارائهدادهزینهاش

, تناسب حروف ههزین 815/0تابع کنونی چینشاست . فارسی

Page 48: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

48

تکامل مدلهای

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

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

میکنند::سوال

و شخصی زندگی طول در موجود یک یادگیری بین رابطهچیست؟ زمان طول در نمونه یک های نسل یادگیری

Page 49: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

49

Lamarckian evolution

Lamarck ارائه ای فرضیه نوزدهم قرن دانشمنددر زنده موجود یک تجربیات آن طبق که کرده

. میگذارد تاثیر آن فرزندان ژنتیکی ترکیب سمی غذای از گرفته یاد که موجودی مثال برای

به ژنتیکی بصورت را ویژگی این کند پرهیزبه مجبور دیگر آنها تا مینماید منتقل خود فرزندان

. نباشند پدیده این یادگیری : نمیکنند تائید را نظر این تجربی شواهد اما

ژنتیکی ترکیب در تاثیری هیچ فردی تجربیات یعنی. ندارد فرزندان

Page 50: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

50

Baldwin Effect

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

: است استوار زیر مشاهدات مبنای بر قرار فشار تحت متغیری محیط طرف از موجودی اگر

با برخورد نحوه یادگیری توانائی که افرادی باشد، گرفته. دارند بقا برای بیشتری شانس باشند داشته را شرایط

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

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

. باشند نداشته را جدید شرایط

Page 51: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

51

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

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

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

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

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

پدیده طریق از ها گره بین migrationانتقال . میپذیرد صورت

Page 52: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

52

Evolving Neural Networks

مختلف GAاز های جنبه تکامل بعمل NNبرای زیادی استفاده. : . یادگیری تابع ساختارو وزنها، جمله از است آمده

از میتواند GAاستفاده عصبی شبکه یک وزنهای یادگیری برایاستاندارد روش از سریعتر عمل back propagationبسیار

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

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

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

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

Page 53: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

53

مراجع

]1[ D. E. Glover, Genetic Algorithm and Simulated Annealing, page 12-31, Morgan Kaufmann, Los Altos, CA, 1987.

]2[ Lissa W. Light and Peter G. Anderson, “Typewriter keyboards via simulated annealing”, AI Expert, September 1993.

]3[ Peter Klausler, www.visi.com/~pmk/evovled.html, September 2005.]4[ M. O. Wagner, B Yannou, S. Kehl, D. Feillet, and J. Eggers, Ergonomic Modeling and

optimization of keyboard arrangement with an ant colony algorithm”, European Journal of Operation research, 2003.

]5[ P. S. Deshwall and K. Deb, Design of an Optimal Hindi Keyboard for Convenient and Efficient Use. Technical Report on KanGAL Report No. 2003005, Indian Institute of Technology, Kanpur, 2003.

]6[ D. A. Norman and D. E. Rumelhart, Cognitive Aspects of Skilled Typing, Springer-Verlag, New York, 1983.

]7[ J. S. Goetti, A.W. Brugh, and B. A. Julstrom, “Arranging the Keyboard with a Permutaion-Coded Genetic Algorithm”, Proc. of the 2005 SCM Symposium on Applied Computing, Volume 2, pp. 947-951, 2005.

Page 54: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

54

Genetic ProgrammingGP مسائل حل به تا میسازد قادر را کامپیوترها که است تکنیکی

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

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

با است برابر .parsبرنامه درخت کردن

+

Sin sqrt

x + ^ y x 2

F = sin(x) + sqrt( x^2 + y)

Page 55: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

55

ها نمایشبرنامه

از استفاده خاص، GPبرای زمینه یک در هستند نیاز مورد زمینه آن در که ای پایه توابع میبایست

تعریف sin, cos, sqrt, +, -, etcنظیر کاربر توسطشوند

مشخص باید نیز ثوابت و متغیرها نظیر ترمینالها همچنینشوند

الگوریتم برنامه GPآنگاه بزرگ بسیار فضای درهستند بیان قابل اولیه مقادیر این توسط که هائی

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

Page 56: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

56

GPبرای crossoverاپراتور

: اپراتورcrossover درخت یک از هائی از والدشاخه هائی شاخه بامیشوند والددرخت عوض تصادفی بطور دیگر

+

Sin ^

x + x y

2

+

Sin sqrt

x + ^ y x 2

+

Sin ^

x ^ x y

2

+

Sin sqrt

x + + y x 2

والدین فرزندانCrossover

Page 57: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

57

مثال

از مثالی کتاب آن Kozaدر در که شده مطرحیاد را الگوریتمی ها بلوک بتواند که میشود گرفته

بچیند هم روی ستون یک در هم روی طوری ها بلوک که است این مسئله هدف

کلمه که شوند بسازند universalچیده را

V U L A I

N

ESR

Page 58: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

58

مثال

:جابجا را بلوک یک میتوان فقط مرحله هر در محدودیت : از. عبارتند ممکن های حرکت تنها نتیجه در نمود

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

: اولیه توابع :CS )current stack( بر را ستون انتهای در موجود بلوک نام

)Fمیگرداند ندارد ( وجود بلوکی که حالتی برایTP )top correct block( بلوک با همراه که را بلوکی آخرین نام

برمیگرداند دارند، را نظر مورد صحیح ترتیب زیرینش هایNN )next necessary( باالی در باید که بلوکی تا TPنام گیرد قرار

.universalترتیب دربیاید درست

Page 59: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

59

مثال

: اولیه توابع سایر

(MS x )move block x to stack بلوک این xاگر میزباشد روی . مقدار اینصورت درغیر میکند منتقل ستون باالی به آنرا اپراتور

F.برمیگرداند (MT x )move block x to table بلوک ستون xاگر روی جائی

. درغیر میکند منتقل میز به را ستون باالی بلوک اپراتور این باشدمقدار برمیگرداند.Fاینصورت

(EQ x y )returns true if x = y .(NOT x )returns the complement of x .DU) x y( do x until expression y is true

Page 60: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

60

مثال

تابع fitnessمقدار تعداد آزمایش این برگیرنده 166در در یک هر که مثال

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

تابعfitness که مثالهائی تعداد با است برابر برنامه یک. است آن حل به قادر برنامه

با برابر ای اولیه جمعیت با تصادفی 300برنامه برنامهتولید از پس و نموده بکار تا 10شروع میشود قادر نسل

تمامی که نماید پیدا ای :166برنامه نماید حل را مثال)EQ )DU )MT CS()NOT CS(( )DU )MS NN()NOT NN(( (

Page 61: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

61

فیلتر : طراحی مثال

: مدار رابه اولیه ساده مدار یک که ای برنامه مسئله صورت. نماید تبدیل نیاز مورد پیچیده

: اولیه توابع مدار های بندی سیم و قطعات کردن اضافه برای تابعی مدار های بندی سیم و قطعات کردن حذف برای تابعی

تابعfitness نرم توسط آمده بدست مدار سازی شبیهبا SPICEافزار آن تطبیق میزان نمودن مشخص برای

. مداربرای خطای نظر مورد مختلف 101طرح فرکانس. میگرفت قرار بررسی مورد

اولیه : 640000جمعیت 89نرخ : crossoverدرصد 1نرخ : mutation درصد

Page 62: 1 الگوریتم های ژنتیک Instructor : Saeed Shiry  Mitchell Ch. 9

62

فیلتر : طراحی مثال

با موازی کامپیوتر یک برروی مورد 64سیستم گره. گرفت قرار آزمایش

ایجاد تصادفی بصورت که ای اولیه نسل برایدر سازی% 98شدند شبیه امکان حتی مواقع

. نداشت وجود تولید از پس و یافته کاهش بتدریج نرخ 137این

نظر مورد مشخصات با که شد حاصل مداری نسل. میکرد الگوریتم صدق کارائی موارد اغلب به GPدر بستگی

تابع همچنین و نمایش .fitnessنحوه دارد