1 الگوریتم های ژنتیک instructor : saeed shiry mitchell ch. 9
Post on 21-Dec-2015
234 views
TRANSCRIPT
1
ژنتیک های الگوریتم
Instructor : Saeed Shiry
Mitchell Ch. 9
2
ژنتیک الگوریتم
تکامل پایه بر یادگیری روش ژنتیک الگوریتم. است بیولوژیک
سال در روش John Hollandتوسط 1970اینگردید معرفی
نام با روشها نیز Evolutionary Algorithmsاین. میشوند خوانده
3
کلی ایده
یکGA راه از بزرگی بسیار مجموعه مسئله یک حل برای. میکند تولید را ممکن حلهای
” تناسب “ تابع یک از استفاده با حلها راه این از یک هر. میگیرد قرار ارزیابی مورد
حلهای راه تولید باعث حلها راه بهترین از تعدادی آنگاه. . میگردد حلها راه تکامل باعث اینکار که میشوند جدیدی
که میکند پیدا تکامل جهتی در جستجو فضای ترتیب بدینبرسد مطلوب حل راه به
میتواند روش این پارامترها، صحیح انتخاب صورت در. نماید عمل موثر بسیار
4
فرضیه فضای
های فرضیه جستجوی بجای ژنتیک الگوریتمgeneral-to specific یا simple to complexو
اجزا متوالی ترکیب و تغییر با را جدید ی ها فرضیه. میاورد بدست موجود های فرضیه بهترین
جمعیت که ها فرضیه از ای مجموعه هرمرحله در(population )جایگزینی طریق از میشوند نامیده
بهترین از که فرزندانی با فعلی جمعیت از بخشی. میآید بدست اند شده حاصل موجود های فرضیه
5
ویژگیها
بزرگی جستجوی فضای که مسائلی در ژنتیک های الگوریتم. شود گرفته بکار میتواند باشند داشته
آن اجزا تاثیر که پیچیده فرضیه فضای با مسایلی در همچنیناز میتوان باشند ناشناخته کلی فرضیه جستجو GAدر برای
. نمود استفاده برایdiscrete optimization. میگیرد قرار استفاده مورد بسیار اجرا موازی بصورت براحتی میتوان را ژنتیک های الگوریتم
را تری قیمت ارزان کامپیوترهای میتوان اینرو از نمود. داد قرار استفاده مورد موازی بصورت
از کمتر محلی مینیمم در الگوریتم این افتادن تله به امکان. روشهاست سایر
. هستند پرهزینه محاسباتی لحاظ از. ندارد وجود بهینه جواب به رسیدن برای تضمینی
6
Parallelization of Genetic Programming
سال کامپیوتر. Genetic Programming Incشرکت 1999در یکبا های 1000موازی کامپیوتر شامل یک هر P2, 350 MHZگره
. داد قرار استفاده مورد را ژنتیک های روش سازی پیاده برای
7
دها کاربر
میباشد زیاد بسیار ژنتیک های الگوریتم کاربرد optimization, automatic programming, machine learning, economics, operations research, ecology, studies of evolution and learning, and social systems
8
های شاخه EAزیر
های مجزا EAروش ولی هم به مرتبط نوع دو به: میشوند بندی دسته
Genetic Algorithms (GAs)یک بصورت مسئله یک حل راه روش این bitدر
string . میشود داده نشانGenetic Programming (GP)
تولید به روش زبانهای expression treesاین در کهمثل نویسی هستند lispبرنامه استفاده مورد
ساخت هائی برنامه میتوان ترتیب بدین میپردازد. باشند اجرا قابل که
9
ژنتیک های الگوریتم
: که است ترتیب بدین ژنتیک الگوریتم سازی پیاده متداول روش که ها فرضیه از ای تولید populationمجموعه میشود نامیده
. میگردد جایگزین جدیدی های فرضیه با متناوب وبطور یا تناسب تابع یک از استفاده با ها فرضیه تکرارتمامی بار هر در
Fitness . بهترین از تعدادی آنگاه میشوند داده قرار ارزیابی موردجمعیت و شده انتخاب احتمال تابع یک از استفاده با ها فرضیه
. میدهند تشکیل را جدید مورد صورت همان به شده انتخاب های فرضیه این از تعدادی
ژنتیکی اپراتورهای از استفاده با مابقی و شده واقع استفاده.Mutationو Crossoverنظیر میروند بکار فرزندان تولید برای
10
GAپارامترهای
الگوریتم :GAیک است زیر پارامترهای دارایGA)Fitness,Fitness_threshold,p,r,m(
:Fitness عددی مقداری که فرضیه یک ارزیابی برای تابعیمیدهد نسبت فرضیه هر به
:Fitness_threshold معین را پایان شرط که آستانه مقدارمیکند
:p شوند گرفته نظر در جمعیت در باید که هائی فرضیه تعداد:r الگوریتم توسط مرحله هر در که جمعیت از صدی در
crossover میشوند جایگزین:m نرخmutation
11
الگورتیم
:Initialize تعداد با را بطور pجمعیت فرضیه. کنید اولیه دهی مقدار تصادفی
:Evaluate فرضیه هر تابع pدر hبرای مقدارFitness)h(. نمائید محاسبه را
[ زمانیکه [ > )maxh Fitness)hتاFitness_threshold. کنید ایجاد جدید جمعیت یک
مقدار بیشترین دارای که ای است Fitnessفرضیه. برگردانید را
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مقدار محاسبه را
جدید جمعیت ایجاد نحوه
. است بیشتر آن انتخاب احتمال باشد بیشتر ای فرضیه تناسب چه هرعکس نسبت دیگر های فرضیه تناسب مقدار با همچنین احتمال این
دارد.
13
ها نمایشفرضیه
میشوند داده نشان ها بیت از ای رشته بصورت ها فرضیه معموال ژنتیک الگوریتم در. باشد تر ساده آنها برروی ژنتیکی اپراتورهای اعمال تا
:Phenotype. میشود گفته واقعی حلهای راه یا مقادیر به :Genotype استفاده مورد که میشود گفته ها کروموزم یا شده انکد مقادیر GAبه
. میگیرند قرار. شود آورده بدست یکدیگر به نمایش نحوه دو این تبدیل برای راهی باید
Genotype space = {0,1}L
Phenotype spaceEncoding )representation(
Decoding)inverse representation(
011101001
010001001
10010010
10010001
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
15
: مالحظات ها نمایشفرضیه
فرضیه به منجر ها بیت از بعضی ترکیب است ممکن: . وضعیتی چنین از پرهیز برای گردد معنی بی های
. نمود استفاده دیگری انکدینگ روش از میتوان چنین که نمود تعیین طوری را ژنتیکی اپراتورهای
نمایند حذف را حالتهائی مقدار ها فرضیه این به کمی fitnessمیتوان خیلی
. داد نسبت
16
ژنتیکی اپراتورهایCrossover:
اپراتورCrossover رشته دو والد رشته دو از استفاده با . میآورد بوجود فرزند
کپی فرزندان بیتهای در والدین بیتهای از قسمتی اینکار برایمیشود.
به شوند کپی والدین از یک هر از باید که هائی بیت انتخابمیشود انجام مختلف روشهای
single-point crossover Two-point crossover Uniform crossover
نام به رشته یک از شونده کپی بیتهای محل تعیین برایCrossover Mask. میشود استفاده
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
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
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
20
: است بوده مطرح سالها ها سوال ایناصلی کدامیک است؟ الزم کدامیک است؟ بهتر کدامیک
است؟
: بوده قبول مورد پاسخها بقیه از بیشتر تاکنون که پاسخی دارد مسئله صورت به بستگی شود استفاده دو هر از است بهتر کلی حالت در دارد را خود مخصوص نقش کدام هر از فقط که داشت الگوریتمی ولی mutationمیتوان کند استفاده
از فقط که کرد crossoverالگوریتمی نخواهد کار کند استفاده
Crossover OR mutation?
21
Crossover OR mutation?
Crossover یا و جستجوگرانه . explorativeخاصیت دارد والدین دربین هائی محل به بزرگ پرشهای انجام میتواندبا
. نماید کشف را جدیدی نواحی و رفتهMutation یا و گسترشی . exploitiveخاصیت میتواند دارد
شده کشف نواحی به تصادفی کوچک تغییرات انجام با. ببخشد وسعت
Crossove درحالیکه میکند ترکیب را والدین اطالعاتmutation . نماید اضافه جدیدی اطالعات میتواند
در شانسی خوش یک بهینه پاسخ یک به رسیدن برایmutation. است الزم
22
تناسب تابع
تابعfitness هاست فرضیه بندی رتبه برای معیاریبعدی نسل برای برتر های فرضیه تا میکند کمک که
. بسته تابع این انتخاب نحوه شوند انتخاب جمعیت: دارد نظر مورد کاربر به
:classification تناسب تابع مسایل نوع این دربندی دسته در قانون دقت با است برابر معموال
. آموزشی مثالهای
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
24
فرضیه فضای در جستجو نحوه
جستجوی های GAروش شبکه مثل دیگر روشهای با: دارد تفاوت عصبی
روش عصبی شبکه بصورت Gradient descentدرحرکت دیگری مشابه فرضیه به ای فرضیه از هموار
حالیکه در ناگهانی GAمیکند بصورت است ممکنتفاوت که نماید جایگزین فرزندی با را والد فرضیه . گیر احتمال اینرو از باشد داشته آن والد با اساسی
.GAافتادن یابد می کاهش محلی مینیمم در وجود این که GAبا روبروست دیگری مشکل با
crowding. میشود نامیده
25
Crowding
crowding که عضوی آن در که است ای پدیدهدارد جمعیت افراد بقیه از بسیاربیشتری سازگاری
اعضای تولید با و کرده نسل تولید مرتب بطور. میکند اشغال را جمعیت از ای عمده درصد مشابه
و شده جمعیت پراکندگی کاهش باعث اینکار.GAسرعت میکند کم را
F(X)
X
26
مشکل رفع حل Crowdingراه
از : rankingاستفاده با ها نمونه انتخاب برایبقیه از بهتر بسیار که ای فرضیه به رتبه اختصاص
نخواهد داده نشان برتری این مقدار میکند عملشد.
: Fitness sharing مقدارFitness عضودر یکداشته وجود جمعیت در مشابهی اعضا صورتیکه
. یابد می کاهش باشند
27
میکند؟ GAچرا کار
به واردین تازه برای است ممکن که سئوالیاین آیا که است این شود ایجاد ژنتیکی روشهای
دهد؟ انجام مفیدی کار میتواند واقعا روش
28
قضیه و جمعیت ارزیابیSchema
ریاضی بصورت را زمان طی در جمعیت در تکامل میتوان آیانمود؟ مدل
قضیهSchema در تکامل پدیده مشخصه بیان GAمیتواند رانماید.
یکSchema توصیف را ها بیت رشته از ای مجموعهیک. از Schemaمیکند ای رشته . 1و 0هر مثل* است 10*0و
حالت * .dont careکه است از یک هر نماینده میتوان را بیت رشته های Schemaیک
. مثال دارند تطابق آن با که دانست میتوان 0010متفاوتی رادانست Schema 24نماینده وغیره,**** : 10*0**,00مختلف
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مقدار فرضیه تمامی برای
30
Schemaقضیه
احتمال شود انتخاب جمعیت این از عضوی اگرنماینده عضو این :Sاینکه با است برابر باشد
مقدار آن در مقدار )u)s,tکه با است برابر sاعضای fitnessمیانگین
از هائی نمونه برای انتظار مورد مقدار اینرو sازاز شد nکه خواهند حاصل مستقل انتخاب مرحله
: با است برابر
),(),(
tsmp tfn
tsu
tfn
hfshp
ssh
),(
)(
),(tsm
phf
tsu ssh
),(
),()]1,([ tsm
tf
tsutsmE
31
Schemaقضیه
تعداد که معناست این به فوق Schemaرابطهلحظه در انتظار مورد مقدار t+1های با متناسب
مقدار )u)s,tمیانگین با و اعضا fitnessبوده سایر. دارد عکس نسبت
مرحله اثر فقط فوق رابطه آوردن بدست برای . در با است شده گرفته نظر در ها نمونه انتخاب
اثر گرفتن رابطه Mutationو crossoverنظر به: رسید خواهیم زیر
)(1
1
)(1),(
),()]1,([
so
mcpp
l
sdtsm
tf
tsutsmE
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
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
34
روشهای GAتفاوت سایر باجستجو
GA کد را آنها مجموعه پارامترها کردن کد بجایمیکند
GA جمعیتی بدنبال نقطه یک برای جستجو بجای. میگردد نقاط از
GA اطالعات سایر یا و مشتق از استفاده بجایبهره نتیجه در موجود ازاطالعات مستقیما کمکی
میگیرد.GA برای احتمال قوانین از قطعی قوانین بجای
. میکند استفاده تغییر
35
کاربرد از مثالیژنتیک الگوریتم
چینشحروف بهینهسازیرویصفحه بر با کلید فارسی
الگوریتمهای از استفاده ژنتیکی
36
مقدمه
بهین چینش آوردن روی هبدست بر فارسی حروفتایپ با که کسانی برای درازمدت در صفحه کلید
, مفید بسیار هستند درگیر فارسی متون کردن. بود خواهد
تابع یک به توجه با می تواند تکاملی الگوریتم یکفارسی متون کردن تایپ راحتی میزان که تناسب
, فضای در می دهد ارائه چینش یک برای راصفحه کلید روی بر فارسی حروف چینش های
. آورد بدست را بهینه چینش و کرده جستجو
37
بر فارسی حروف چینشکنونیصفحهکلید روی
38
مساله
هندس مساله این ما هدر و است ثابت صفحه کلیدتعداد که از 33می خواهیم متشکل که حرف 32نشانه
بعالو فارسی " هالفبای روی " بر را است ء همزه حرفدارای ترتیب به که صفحه کلید ردیف 10و, 11, 12سه
. , دهیم قرار هستند کلید نشانه ها این از چینشی آوردن بدست مساله این هدف
, چینش این که طوری به است کلید ها این روی برصفحه از استفاده هنگام کاربر که باشد کلید طوری
, بیشتری راحتی احساس فارسی حروف تایپ برایباشد داشته چینش ها بقیه با کار به . نسبت
39
ژنتیک الگوریتم
. است شده استفاده ژنتیک الگوریتم یک از مساله حل برای , یا راحتی میزان ژنتیک الگوریتم این در موجود تناسب تابع
. می کند محاسبه را چینش یک از استفاده سختی , که موجود جمعیت روی بر ژنتیکی عملگرهای نسل هر در
, هستند صفحه کلید روی بر فارسی حروف از مختلفی چینش هایمقدار که می شود داده سوق سمتی به جامعه و می شوند اعمال
. برسند خود مقدار کمینه به آن اعضای ازای به تناسب تابع حروف چینش یک واقع در که جامعه از عضو هر تناسب میزان
, متنیییییی یی ییی بر تناسب تابع اعمال با هستند فارسیبررویصفحهکلید , به است شده تهیه زبان فارسی خبری سایت چند مطالب از که
. دستمیآیدییی
40
جمعیت صفحه کلید روی فارسی حروف مختلف جایگشت های جمعیت اعضای
حروف. از برداری صورت به می توان را جمعیت عضو هر هستندصفحه از کلید یک با متناظر آن اندیس هر که گرفت نظر در فارسی
. است کلید طول با بردار هر } فارسی 33مثال حروف شامل همزه هعالوبکه حرف
( ) " در" جمعیت از عضو یک کروموزوم یک عنوان به میتوان را باشد ءحرف که گرفت , iنظر صفحه کلید از کلیدی با متناظر بردار این از ام
شمارة برچسب که .iاست است شده زده آن روی بر
مختلف ! چینش های 33تعداد
41
تناسب تابع
بر حروف چینش با کردن کار سختی و راحتی تعیین . است ارگونومیک پیچیده مساله یک صفحه کلید روی
طراحی برای را هدف چهار رومل هارت و نورمن: کرده اند ارائه صفحه کلید یک کارای
می دهند؛ 1. انجام دست دو که کاری برابری
دست؛ 2. دو با متناوب صورت به حروف تایپ بیشترین
و 3. انگشت؛ یک با متوالی حرف دو تایپ تکرار کمترین
کلیدهای ) 4. پایه ای کلیدهای روی بر حروف تایپ بیشترین .) وسط ردیف
42
تناسب تابع: معرفی کرد. را زیر اندازه گیری فاکتور می توان اول هدف دو برایChand :دو ههزین کردن تایپ برای دست یک از استفاده به مربوط
. هم سر پشت حرف: , می شود معرفی زیر انداز ه گیری فاکتور سوم هدف برایCfinger :دو ههزین کردن تایپ برای انگشت یک از استفاده به مربوط
. هم سر پشت حرفCergonomic :به ههزین توجه با حرف یک کردن تایپ به مربوط
. صفحه کلید روی بر حرف آن موقعیت
43
تناسب تابع
سه این مجموع از کروموزوم هر برای تناسب تابعمورد متن در که حروفی تمامی برای فاکتور
: , می آید بدست دارند وجود آزمایش برای استفاده
W مورد همجموع متن در موجود کلمات تمامیاست؛ آزمایش برای استفاده
wi هکلم i مجموع از است؛ W هام lj حرفj کلم از است؛ wi هام
W wl
jergonomicjjfingerjj
ij
lCllClliw
11hand )](),(),([C (layout) Fitness
44
ژنتیکی عملگرهای
. است شده استفاده جهش عملگر از تنها اینجا در اعضای ساختار که است این دورگه عملگر از استفاده عدم دلیل
هزینة والد کروموزوم دو کردن ترکیب که است طوری جمعیت . دارد باالیی زمانی
کار به جامعه مختلف اعضای برای صورت دو به را جهش عملگرجامع. یک مساله این در که همی بریم می کنیم انتخاب نخبگان
تشکیل را تناسب تابع دید از جمعیت اول تراز آن اعضایمی دهند.
, چهار محتویات تنها نخبگان جامعة از عضو هر برای جهش عملگر . برای حالیکه در می کند جابه جا تصادفی صورت به را ژن زوج
به تعداد این جامعه عادی . 12افراد می یابد افزایش جابه جایی
%
45
کارایی
ژنتیک : الگوریتم کردیم اجرا زیر پارامترهای با جمعیت اعضای نسل 100تعداد در که کروموزوم
صورت به تولیدشدهاند؛ ییییی تصادفیاول هجامع هدرصدتشکیلدهندیییی , است کل% 10نخبگان
؛ جمعیت اینکه بدون و مستقیم صورت به که اعضایی تعداد
, نسل به شود اعمال آن روی بر ژنتیکی عمگرهای , عضو؛ 3بعدیمیروندیییی
500وتعدادکلنسلها ی ییییی یی. نسل
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
47
چینش بهترین
ژنتیک الگوریتم این نهایت در که چینشی بهترینبهیییی یییی ییییی ییییی ییی, توجه با برایحروففارسیارائهدادهزینهاش
, تناسب حروف ههزین 815/0تابع کنونی چینشاست . فارسی
48
تکامل مدلهای
طول در زنده موجود هر طبیعی سیستمهای درسازگاری شرائط با که میگیرد یاد خود زندگی
نمونه. یک مختلف های نسل ترتیب همین به نمایدکسب را مختلفی های سازگاری زمان طول در
میکنند::سوال
و شخصی زندگی طول در موجود یک یادگیری بین رابطهچیست؟ زمان طول در نمونه یک های نسل یادگیری
49
Lamarckian evolution
Lamarck ارائه ای فرضیه نوزدهم قرن دانشمنددر زنده موجود یک تجربیات آن طبق که کرده
. میگذارد تاثیر آن فرزندان ژنتیکی ترکیب سمی غذای از گرفته یاد که موجودی مثال برای
به ژنتیکی بصورت را ویژگی این کند پرهیزبه مجبور دیگر آنها تا مینماید منتقل خود فرزندان
. نباشند پدیده این یادگیری : نمیکنند تائید را نظر این تجربی شواهد اما
ژنتیکی ترکیب در تاثیری هیچ فردی تجربیات یعنی. ندارد فرزندان
50
Baldwin Effect
تکامل بر را یادگیری تاثیر که دارد وجود دیگری نظریه . اثر که نظریه این میدهد میشود Baldwinتوضیح نامیده
: است استوار زیر مشاهدات مبنای بر قرار فشار تحت متغیری محیط طرف از موجودی اگر
با برخورد نحوه یادگیری توانائی که افرادی باشد، گرفته. دارند بقا برای بیشتری شانس باشند داشته را شرایط
جمعیتی میمانند باقی جدید شرایط تحت که موجوداتیفرایندهای که میدهند تشکیل را یادگیری توانائی با
تا میشود باعث و میدهد رخ سریعتر آنها در تکاملیبا مواجهه یادگیری به نیازی که بیاید بوجود نسلی
. باشند نداشته را جدید شرایط
51
های الگوریتم موازی اجرایژنتیک
پیاده برای خوبی قابلیت از ژنتیک های الگوریتم. هستند برخوردارد موازی بصورت سازی
به جمعیت موازی، سازی پیاده روش یک درنام با کوچکتری و demesگروههای شده تقسیم
قرار پردازش مورد محاسباتی گره یک در هرکداممیگیرند.
استاندارد الگوریتم یک گره هر روی GAدر برdeme . میشود اجرا
پدیده طریق از ها گره بین migrationانتقال . میپذیرد صورت
52
Evolving Neural Networks
مختلف GAاز های جنبه تکامل بعمل NNبرای زیادی استفاده. : . یادگیری تابع ساختارو وزنها، جمله از است آمده
از میتواند GAاستفاده عصبی شبکه یک وزنهای یادگیری برایاستاندارد روش از سریعتر عمل back propagationبسیار
نماید. از مشکلتر GAاستفاده عصبی شبکه ساختار یادگیری برای
ماتریس. یک از استفاده با کوچک های شبکه برای میباشدمتصل دیگری نرونهای چه به نرونی چه که میشود مشخصو. تبدیل ژنتیک الگوریتم های ژن به ماتریس این آنگاه است
. میگردد بررسی آن مختلف ترکیبات حلهائی راه عصبی شبکه یک یادگیری تابع آوردن بدست برای
از استفاده این GPنظیر عموما اما گرفته قرار استفاده مورد. اند کرده عمل کند بسیار روشها
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.
54
Genetic ProgrammingGP مسائل حل به تا میسازد قادر را کامپیوترها که است تکنیکی
. باشند شده ریزی برنامه آن برای صریح بطور آنکه بدون بپردازندGP هرعضو آن در که است تکاملی الگوریتمهای از روشی
. است کامپیوتری برنامه یک جمعیت اجرای و شده داده نمایش درخت یک بتوسط اغلب ها برنامه
با است برابر .parsبرنامه درخت کردن
+
Sin sqrt
x + ^ y x 2
F = sin(x) + sqrt( x^2 + y)
55
ها نمایشبرنامه
از استفاده خاص، GPبرای زمینه یک در هستند نیاز مورد زمینه آن در که ای پایه توابع میبایست
تعریف sin, cos, sqrt, +, -, etcنظیر کاربر توسطشوند
مشخص باید نیز ثوابت و متغیرها نظیر ترمینالها همچنینشوند
الگوریتم برنامه GPآنگاه بزرگ بسیار فضای درهستند بیان قابل اولیه مقادیر این توسط که هائی
. داد خوهد انجام را تکاملی جستجوی عمل یک
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
57
مثال
از مثالی کتاب آن Kozaدر در که شده مطرحیاد را الگوریتمی ها بلوک بتواند که میشود گرفته
بچیند هم روی ستون یک در هم روی طوری ها بلوک که است این مسئله هدف
کلمه که شوند بسازند universalچیده را
V U L A I
N
ESR
58
مثال
:جابجا را بلوک یک میتوان فقط مرحله هر در محدودیت : از. عبارتند ممکن های حرکت تنها نتیجه در نمود
اینکه یا و داد قرار میز روی میتوان را ستون آخر بلوک. نمود منتقل ستون انتهای به میز از را بلوک یک
: اولیه توابع :CS )current stack( بر را ستون انتهای در موجود بلوک نام
)Fمیگرداند ندارد ( وجود بلوکی که حالتی برایTP )top correct block( بلوک با همراه که را بلوکی آخرین نام
برمیگرداند دارند، را نظر مورد صحیح ترتیب زیرینش هایNN )next necessary( باالی در باید که بلوکی تا TPنام گیرد قرار
.universalترتیب دربیاید درست
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
60
مثال
تابع fitnessمقدار تعداد آزمایش این برگیرنده 166در در یک هر که مثال
شده دیده تدارک بودند ها بلوک برای متفاوتی اولیه آرایشبود.
تابعfitness که مثالهائی تعداد با است برابر برنامه یک. است آن حل به قادر برنامه
با برابر ای اولیه جمعیت با تصادفی 300برنامه برنامهتولید از پس و نموده بکار تا 10شروع میشود قادر نسل
تمامی که نماید پیدا ای :166برنامه نماید حل را مثال)EQ )DU )MT CS()NOT CS(( )DU )MS NN()NOT NN(( (
61
فیلتر : طراحی مثال
: مدار رابه اولیه ساده مدار یک که ای برنامه مسئله صورت. نماید تبدیل نیاز مورد پیچیده
: اولیه توابع مدار های بندی سیم و قطعات کردن اضافه برای تابعی مدار های بندی سیم و قطعات کردن حذف برای تابعی
تابعfitness نرم توسط آمده بدست مدار سازی شبیهبا SPICEافزار آن تطبیق میزان نمودن مشخص برای
. مداربرای خطای نظر مورد مختلف 101طرح فرکانس. میگرفت قرار بررسی مورد
اولیه : 640000جمعیت 89نرخ : crossoverدرصد 1نرخ : mutation درصد
62
فیلتر : طراحی مثال
با موازی کامپیوتر یک برروی مورد 64سیستم گره. گرفت قرار آزمایش
ایجاد تصادفی بصورت که ای اولیه نسل برایدر سازی% 98شدند شبیه امکان حتی مواقع
. نداشت وجود تولید از پس و یافته کاهش بتدریج نرخ 137این
نظر مورد مشخصات با که شد حاصل مداری نسل. میکرد الگوریتم صدق کارائی موارد اغلب به GPدر بستگی
تابع همچنین و نمایش .fitnessنحوه دارد