Transcript Slide 1

‫دانشگاه صنعتی اصفهان‬
‫دانشکده برق و کامپیوتر‬
‫ارایه کننده‪ :‬حسین عابدی‬
‫دانشجوی رشته کامپیوتر – گرایش هوش مصنوعی‬
‫درس الگوریتم تکاملی – زمستان ‪1390‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪2‬‬
‫مقدمه‬
‫مزایای ‪ GE‬نسبت به ‪GP‬‬
‫‪Backus-Naur Form‬‬
‫زمینه بیولوژیکی‬
‫رویه ی نگاشت‬
‫الگوریتم تکاملی‬
‫بررسی چند مثال‬
‫کاربردها‬
‫جمع بندی‬
‫منابع‬
‫‪Grammatical Evolution‬‬
‫فهرست مطالب‬
‫مقدمه‬
"Grammatical Evolution is a system that can be used to
automatically generate programs in any language"
--- Michael O'Neill
Grammatical Evolution
3
‫مزایای ‪ GE‬نسبت به ‪GP‬‬
‫• استفاده از فرم ‪ BNF‬و تولید برنامه به هر زبان دلخواه‬
‫• استفاده از آخرین پیشرفتهای الگوریتمهای تکاملی‬
‫• استقالل شیوه تکامل از نحوه نگاشت‬
‫‪4‬‬
‫‪Grammatical Evolution‬‬
‫• تطابق کامل! با پروسهی نگاشت ژنوتیپ‪-‬فنوتیپ در‬
‫سیستمهای بیولوژیک‬
‫• سادگی پیاده سازی الگوریتم تکاملی‬
‫• کروموزومهای باینری با طول متغیر‬
GP ‫ نسبت به‬GE ‫مزایای‬
Grammatical Evolution
GP: Trees grow, or “bloat”.
GE:?!! Linear Chromosomes.
5
GP ‫ نسبت به‬GE ‫مزایای‬
Grammatical Evolution
6
‫‪Backus-Naur Form‬‬
‫• تکنیک نشانه گذاری زبان؛ مستقل از نوع زبان‬
‫• در سال ‪Peter Naur 1963‬استفاده از کلمات را در این زبان‬
‫به حداقل رسانده آنرا ساده تر کرد و ‪ALGOL 60‬را معرفی‬
‫نمود‪.‬‬
‫• این شیوه پیاده سازی زبان امروزه با عنوان ‪Backus Naur‬‬
‫)‪Form (BNF‬شناخته میشود‪.‬‬
‫‪7‬‬
‫‪Grammatical Evolution‬‬
‫• در سال ‪ ،johan Backus 1959‬یک برنامه نویس کامپیوتر در‬
‫‪IBM‬با الهام گرفتن از ایده قوانین تولید زبان ‪Noam‬‬
‫‪chamskey‬دستورالعمل های زبان جدیدی به نام ‪IAL‬را که‬
‫امروزه ‪ ALGOL58‬معروف است طراحی کرد‬
Backus-Naur Form
•
•
•
•
•
BNF: {N,T,P,S}
T: Terminals
N: Non-terminals
P: Production Rules
S: Start Symbol
Grammatical Evolution
8
GE: Grammatical Evolution
Grammatical Evolution
9
‫زمینه بیولوژیکی‪DNA :‬‬
‫‪10‬‬
‫‪A = Adenine T = Thymine‬‬
‫‪G = Guanine C = Cytosine‬‬
‫‪Grammatical Evolution‬‬
‫• عمدهی ایدهی ‪ GE‬از پروسههای بیولوژیکی تولید پروتئین از‬
‫روی مادهی ژنتیک موجود زنده الهام گرفته شده است‪.‬‬
RNA ‫ ساخت‬:‫زمینه بیولوژیکی‬
Grammatical Evolution
11
‫‪12‬‬
‫‪Grammatical Evolution‬‬
‫زمینه بیولوژیکی‪ :‬ساخت پروتئین‬
‫فنوتیپ و ژنوتیپ در ‪GE‬‬
‫• فنوتیپ نتیجهی بیان مادهی ژنتیکی به صورت پروتئین‬
‫است‪.‬‬
‫– فنوتیپ یک برنامهی کامپیوتری است که توسط یک رویهی‬
‫نگاشت ژنوتیپ‪-‬فنوتیپ از روی مادهی ژنتیکی(ژنوتیپ) تولید‬
‫میشود‪.‬‬
‫– کروموزوم ها(ژنوتیپ)‪ :‬رشتههای باینری با طولهای متغیر‬
‫– هر ‪ k‬بیت ‪ :‬یک کدون(‪ k=8‬فرض میشود)‪.‬‬
‫‪13‬‬
‫‪Grammatical Evolution‬‬
‫• در ‪:GE‬‬
‫‪14‬‬
‫‪Grammatical Evolution‬‬
‫تطابق ‪ GE‬و سیستم ژنتیک بیولوژیک‬
‫•‬
‫برای تعیین قانون تولید متناظر عدد صحیح حاصل‪:‬‬
‫•‬
‫برای مثال به قانون زیر توجه کنید‪.‬‬
‫•‬
‫حال اگر کدونی که خوانده میشود مقدار صحیح ‪ 6‬را نمایش دهد‪ ،‬آنگاه‪:‬‬
‫‪6 MOD 4 = 2‬‬
‫•‬
‫‪15‬‬
‫در نتیجه قانون ‪ 2‬انتخاب میشود‪.‬‬
‫‪Grammatical Evolution‬‬
‫رویهی نگاشت‬
‫تفاوت این نگاشت با روش استاندارد ‪EA‬‬
‫‪* many-to-one mapping process‬‬
‫‪16‬‬
‫‪Grammatical Evolution‬‬
‫• در ‪ EA‬تولید راهحل از روی یک فرد به صورت یک به یک است‬
‫• در ‪ GE‬از یک رویهی نگاشت چند‪-‬به‪-‬یک* استفاده شده است‪.‬‬
‫• قدرت ‪ GE‬نیز در همین رویهی نگاشت است‪.‬‬
‫آمینو اسیدها‬
Grammatical Evolution
17
‫خاصیت چندرمزینگی کد ژنتیکی‬
‫• در کل ‪ 43‬نوع ترکیب سه حرفی وجود دارد که از بین‬
‫این تعداد‪،‬‬
‫– ‪ 61‬رمز مخصوص آمینو اسید‬
‫• به طور متوسط برای هر آمینو اسید سه کدون وجود‬
‫دارد‪.‬‬
‫‪18‬‬
‫‪Grammatical Evolution‬‬
‫– سه رمز شروع و پایان ژنها روی ‪ DNA‬را تعیین میکنند‪.‬‬
‫‪19‬‬
‫‪Grammatical Evolution‬‬
‫خاصیت چندرمزینگی کد ژنتیکی‬
‫بررسی یک مثال‬
‫ بصورت مقادیر صحیح‬individual ‫یک‬
220 MOD 4 = 0
220 55 214 36
11
<expr>
30
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
Grammatical Evolution
20
‫بررسی یک مثال‬
‫ بصورت مقادیر صحیح‬individual ‫یک‬
55 MOD 4 = 3
220 55 214 36
11
<expr>
30
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
<var><op><expr>
Grammatical Evolution
21
‫بررسی یک مثال‬
‫ بصورت مقادیر صحیح‬individual ‫یک‬
214 MOD 2 = 0
220 55 214 36
11
<expr>
30
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
<var><op><expr>
X <op><expr>
Grammatical Evolution
22
‫بررسی یک مثال‬
36 MOD 4 = 0
220 55 214 36
11
<expr>
30
‫ بصورت مقادیر صحیح‬individual ‫یک‬
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
<var><op><expr>
X <op><expr>
X + <expr>
Grammatical Evolution
23
‫بررسی یک مثال‬
‫ بصورت مقادیر صحیح‬individual ‫یک‬
220 55 214 36
11
<expr>
30
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
<var><op><expr>
X <op><expr>
X + <expr>
Grammatical Evolution
24
‫بررسی یک مثال‬
‫ بصورت مقادیر صحیح‬individual ‫یک‬
220 55 214 36
11
<expr>
30
•
68 203 102 55 220 202 241 130 37 202 203 140 39 202 203 102
<expr><op><expr>
<var><op><expr>
X <op><expr>
X + <expr>
Grammatical Evolution
25
GE ‫مشخصات الگوریتم تکاملی‬
Initialization
Parent Selection
survival Selection
‫• انتخاب جمعیت اولیه‬
‫• انتخاب والدین‬
‫• انتخاب بازماندگان‬
Grammatical Evolution
‫• عملگرها‬
‫– باز ترکیبی‬
Recombination
Mutation
Duplication
‫– جهش‬
‫– کپی برداری‬
26
GE ‫مشخصات الگوریتم تکاملی‬
:‫• انتخاب جمعیت اولیه‬
• Random Initialization
• Sensible Initialization(50_50)
– Ramped half & Half(Koza)
Grammatical Evolution
‫• انتخاب والدین‬
 Rouletle Wheel Selection
 Q_Tournoment )‫(با جایگذاری و بدون جایگذاری‬
27
‫عملگرها‬
 Recombination:
– One Point Crossover
– Two Point Crossover
Grammatical Evolution
• Mutation:
– Binary Mutation
–
•
Codon Mutation(all , one)
Duplication
28
‫انتخاب بازماندگان‬
• Steady State Replacement Strategy
0<r<1
Q= r * p
P’
p’ = p’+Q
• Elitism Selection
Grammatical Evolution
1 <= e <= p
E= p‫ تا از بهترینهای‬e ‫انتخاب‬
P’=p’+E
p’ ‫تا از بدترینهای‬e ‫حذف‬
29
‫بررسی چند مثال‬
‫• مسألهی انتگرالگیری‬
‫• مسألهی برازش‬
‫‪30‬‬
‫‪Grammatical Evolution‬‬
‫• مسألهی ‪Santa Fe Trail‬‬
‫‪31‬‬
‫‪Grammatical Evolution‬‬
‫مسألهی برازش و انتگرالگیری‬
‫انتگرالگیری‬
F(x)=cos(x)+2x+1
Grammatical Evolution
32
‫‪33‬‬
‫‪Grammatical Evolution‬‬
‫نتایج مسألهی انتگرالگیری‬
‫برازش‬
Grammatical Evolution
34
‫نتایج مسألهی برازش‬
Grammatical Evolution
35
Santa Fe Trail Problem
Grammatical Evolution
36
Santa Fe Trail Problem
Grammatical Evolution
37
Grammatical Evolution
38
GE ‫روشهای برگرفته شده از‬
• GAuGE(genetic algorithm Using GE)
• Gramataical swarm
• mGGA(meta grammer Genetic
Algorithm)
Grammatical Evolution
39
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪40‬‬
‫مدلسازی اقتصادی‬
‫سیستمهای بازرگانی‬
‫خرید و فروش ارز‬
‫تضمین وام‬
‫طراحی سیستمهای دیجیتال با ‪Verilog‬‬
‫پردازش تصویر‬
‫تحقیقات زیست شناسی و پزشکی‬
‫کنترل و هدایت روبات‬
‫چک کردن گرامر زبان‬
‫داده کاوی برای آشکارسازی نفوذ در شبکه‬
‫‪Surface Generation‬‬
‫‪Grammatical Evolution‬‬
‫کاربردهای مختلف ‪GE‬‬
‫منابع‬
• [1] O’Neill M., Ryan C. (2001) “Grammatical Evolution,” IEEE
Transactions on Evolutionary Computation. 5(4), pp 349-358.
Grammatical Evolution
• [2] Jonatan Hugosson, Erik Hemberg, Anthony Brabazon,
Michael O’Neill , “Genotype representations in grammatical
evolution” , Applied Soft Computing 10 (2010) 36–43.
• [3] MICHAEL O’NEILL, CONOR RYAN, MAARTEN KEIJZER, MIKE
CATTOLICO; “Crossover in Grammatical Evolution”, Genetic
Programming and Evolvable Machines, 4, 67–93, 2003.
• [4]A. E. Eiben, J. E. Smith; “Introduction to Evolutionary
Computing”, Springer, 2003.
• [5] www.grammatical-evolution.org
• [6] www.grammaticalevolution.org
41
‫از حسن توجه شما متشکرم‬
Grammatical Evolution
42