Genetic1. خدا نام به
ارائه موضوع:الگوریتم
ژنتیک
دهندگان ارائه:ریاضی لیال
عزتی سعیده ،
استاد:دکتر آقای جناب
دهخوارقانی رحیم
درس:داده و مصنوعی هوش
کاوی
کامپوتر گروه
بناب دانشگاه
بهار95
2. Genetic Algorithm 2 / 32
معرفی
جستجو های استراتژی
ژنتیک های الگوریتم جایگاه
معایب و مزایا
ها کاربرد
Evolutionary Algorithms (EA)
کار طرزGA
پارامترهایGA
الگوریتمی روند
ژنتیکی های اپراتور
جستجوی تفاوتGAهای روش با
دیگر
Genetic Programming
اپراتورcrossoverبرایGP
فهرست
3. Genetic Algorithm 3 / 32
•سال در نتيکژ يتمرالگو1970استشده ايهرا گلدبرگ و ديجونگ ، هالند توسط
.
•گربز جستجوفضايبا پيچيدهمسايل يساز بهينه ايرب يتمرالگو اينمناسب
است.
•است ي نويس برنامه تکنيک يک نتيکژ يتمرالگو.
•اهر يافتن ايرب کامپيوترعلم در جستجو تکنيک يک نتيکژ يتمرالگودر بهينه حل
است جستجو مسايل.
معرفی
4. Genetic Algorithm 4 / 32
استراتژیهای
جستجو
جستجو اتژیهایراست
کامل
ای مکاشفهقطعی
قطعی غيرجوابی تک
جمعيت بر مبتنی
تکاملی الگوريتمهای
تکاملی یيزر برنامه
تکاملی یاتژراست
نتيکژ الگوريتمهای
نتيکژ یيزر برنامه
توزيعتخمين الگوريتمهای
(Heuristic)
(Non-deterministic)
(Estimation of Distribution Algorithms)
(Evolutionary Algorithms)
(Population-based)
(Search Strategies)
5. Genetic Algorithm 5 / 32
روشهايجستجو
روشهايشمارشي روشهايجستجويتصادفي روشهايمحاسباتي
الگوريتمهايتکاملي کاري فلز آب
روشهايديگر الگوريتمهايژنتيک
موازي متوالي
های الگوریتم جایگاه
ژنتیک
6. Genetic Algorithm 6 / 32
معایب و مزایا
•کاملنبودن
•بهینهنبودن
•بودن باالاجرایی هزینه
•جوی و جستموازی
•جوی و جست فضای با مسائل در مطلوب نتیجه
بزرگ
•انتخاب و وجو جست مسیر در محدودیتی هیچ با
برو رو تصادفی های پاسخنیست.
•سازی پیادهساده
7. Genetic Algorithm 7 / 32
•سازی بهینه مسائل حل
•مصنوعی حیات سازی شبیه های سیستم(Artificial
life)
•برنامه تولید هوشمند های سیستم ساخت
تکاملی
•بندی دسته)(Classificationداده ، ها داده
کاوی((DMماشینی یادگیری و((ML.
•تخمین های روش و عددی محاسبات انواع
توابع
•تصاویر پردازش های الگوریتم از برخی
•بازی انواع در رفته بکار های الگوریتم
کامپوتری های
•الگو تشخیص و شناسایی های افزار نرم
•های سیستم و مصنوعی عصبی های شبکه آموزش
ها کاربرد
9. Genetic Algorithm 9 / 32
Evolutionary Algorithms (EA)
شوند می تقسیم نوع دو به ها روش این.اند مرتب هم به چه اگر
هستند مجزا هم از اما.
.1Genetic Algorithms:یک صورت به مسئله یک حل راه روش این در
bit Stringشود می داده نشان.
.2Genetic Programming:در که تصمیم درختان تولید به روش این
مثل نویسی برنامه های زبانlispگردازد می هستند استفاده مورد
باشند اجرا قابل که ساخت هایی برنامه توان می ترتیب این به.
10. Genetic Algorithm 10 / 32
از ای مجموعه که است صورت این به ژنتیک الکوریتم کار طرز
که ها فرضیهpopulationمتاوب طور به و تولید ،شود می نامیده
تکرار بار هر در سپس گردد می جایگزین جدیدی های فرضیه با
تناسب تابع یک از استفاده با ها فرضیه تمامی(Fitness)مورد
شوند می داده قرار ارزیابی.فرضیه بهترین از تعدادی آنگاه
را جدید جمعیت و انتخاب احتمال تابع یک از استفاده با ها
دهند می تشکیل.
کار طرزGA
11. Genetic Algorithm 11 / 32
های پارامتر
GAGA(Fitness,Fitness_threshold,p,r,m)
.1Fitness:عددی مقدار که فرضیه یک ارزیابی برای تابعی
دهد می نسبت فرضیه هر به(.تناسب تابع)
.2Fitness_threshold:می معین را پایان شرط که آستانه مقدار
کند.
.3P:گرفته نظر در جمعیت در باید که هایی فرضیه تعداد
شوند.
.4r:الگوریتم توسعه مرحله هر در که جمعیت از درصدی
crossoverشوند می جایگزین.
.5m:نرخmutation
12. Genetic Algorithm 12 / 32
الگوریتم خاتمه شرط
،باشند می تست و تولید پایه بر ژنتیک های الگوریتم که چونجواب
نمی و نیست مشخص مسالهجواب شده تولید های جواب از کدامیک که دانیم
تا است بهینهکنیم تعریف جمعیت در جواب شدن پیدا را خاتمه شرط.به
دلیل همینمی نظر در خاتمه شرط برای را دیگری معیارهای ،گیریم:
.1نسل مشخصی تعداد:میامثال را خاتمه شرط توانیم100حلقه چرخش دور
دهیم قرار برنامه اصلی.
.2متوالی نسل چند طی در جمعیت شایستگی بهترین در بهبود عدم
.3یاا و بیایاد تار پاائین مشخصی مقدار یک از جمعیت شایستگی واریانس
مشخص متوالی نسل چند طی در اینکه،نکند تغییر.
.4شود کمتر خاصی حد یک از جمعیت شایستگی بهترین.
می نیز دیگری شرایطمی همچنین و کنیم تعریف توانیمترکیبی توانیم
13. Genetic Algorithm 13 / 32
الگوریتمی روند
•زیر روند صورت به ژنتیك الگوریتم كار اصول
گردد مي ارائه:
•گام1–گذاري كد
•گام2–مجموعه از اولیه جمعیت تصادفي انتخاب
ها پاسخ
•گام3–تابع با پاسخ گروه سازگاري میزان محاسبه
هدف( Fitness )
•گام4–عملگر از استفاده با جدید جمعیت ایجاد
ژنتیك هاي(جهش و تركیب تكثیر)
•گام5–كه هنگامي تا چهارم و سوم مراحل تكرار
گردد همگرا نهایي جواب.
14. Genetic Algorithm 14 / 32
CrossOver:
از فرزند رشته که کند می استفاده والد رشته دو از روش این
آید می وجود به والد رشته دو این.
سه به شوند کپی والدین از یک هر از باید که هایی بیت انتخاب
شوند می انجام زیر روش:
.1single -point crossover
.2Two -point crossover
.3Uniform crossover
ژنتیکی های اپراتور
.1Crossover
.2mutation
کپی های بیت محل تعیین برای
نام به رشته یک از شونده
crossover maskشود می استفاده.
جدیدی موجودات بازترکیبی عملیات
شود می باعث تنها و کند نمی تولید
شوند بهتر موجود موجودات که.
17. Genetic Algorithm 17 / 32
Uniform CrossOver
کنیم انتخاب بازترکیبی نقاط بعنوان را کروموزوم نقاط تمام اگر
آن بهUniform Crossoverمیگوئیم.
است صورت بدین اخیر مورد دو این برای را کار روش:
مثل ثابتی احتمال باPcعملcrossoverرادهیم می انجام
است زیر صورت به کار روش:
کروموزوم های قسمت از یک هر ازای به:
کنیم می تولید یک و صفر بین تصادفی عدد یک
مثل ثابتی مقدار از عدد این اگرPcژنهای ،باشد کوچکتر
کنیم می جابجا را ها کروموزوم از نقطه آن مابعد.
Crossover mask
18. Genetic Algorithm 18 / 32
Mutation
•ویژگیتصادفیبودنوامکانفرارازنقاطبهینهمحلیرافراهم
میآورد.
برایانجامجهشبهاینصورتعملمیکنیم:
بصورتتصادفیتعدادیازکروموزومهایفرزندراانتخابمیکنیمبهصورت
تصادفیمقادیریکیاچندژنویراتغییرمیدهیم.
همچنیندرهنگامپیادهسازیبهصورتزیرعملمیکنیم:
بهازایهرکروموزوماعمالزیرراانجاممیدهیم:
یکعددتصادفیبینصفرویکتولیدمیکنیم.
اگرعددتولیدشدهکوچکترازPm،بودبهازایهرژناعمالزیررا
انجاممی،دهیمدرغیراینصورتازجهشدادنکروموزومصرفنظرمی
کنیم.
یکعددتصادفیبینصفرویکتولیدمیکنیم.
اگرعددتولیدشدهکوچکترازPg،بودژنمربوطهراجهشمیدهیم.
انواعMutatuin:
.1بیتی جهش(Bitwise
Mutation)
.2ابتکاری جهش
(Heuristic)
ااشجهاااادایجا ااثباعا
در اتهاناخواس اراتاتغیی
ادشا اتجمعیاهو ،اثباعا
اوداتاموج ادناآم اودابوج
شود می جدید.واقاع در
اهاب ابتانس اشاجه اریابرت
ایناهم ازانی اازترکیبیاب
باشد می مطلب.صورتی در
استفاده جهش از فقط که
اهاک اتااس اناممک ،ایماکن
را بهینه جواب بتوانیم
ااااما ،اایمکنا ااداپیا
19. Genetic Algorithm 19 / 32
والد0000000000000
فرزند0011000100100
به باینری فرم به های کروموزوم برای جهش مثال بعنوان
باشد می زیر صورت:
بیتی جهش( Bitwise Mutation)
20. Genetic Algorithm 20 / 32
Mutation و Crossover
مقایسه
گرانه جو و جست یا explorative
والدین اطالعات ترکیب جدید اطالعات کردن اضافه
گسترشی یا Exploitive
محل به بزرگ های پرش انجام با
را جدید نواحی و رفته والدین در هایی
کند می ایجاد.
به تصادفی کوچک تغییرات انجام با
وسعت شده کشف نواحی به نواحی
بخشد می.
MutationCrossover
21. Genetic Algorithm 21 / 32
تابعتناسب
تابعfitnessمعیاریبرایرتبهبندیفرضیههاستکهکمک
میکندتافرضیههایبرتربراینسلبعدیجمعیتانتخابشوند.
نحوهانتخاباینتابعبستهبهکاربرموردنظردارد:
: classificationدرایننوعمسایلتابعتناسبمعموالبرابراست
بادقتقانوندردستهبندیمثالهایآموزشی.
22. Genetic Algorithm 22 / 32
22
انتخابفرضیهها
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%
B
2/6 = 33%
•روشهایدیگر:
•tournament selection
•rank selection
•روش این در:
•فضاي بهتر اعضاء
دارند بیشتري.
•شانس بنابراین
بیشتري انتخاب
دارند.
23. Genetic Algorithm 23 / 32
روشجستجویGAدارد تفاوت عصبی های شبکه مثل دیگر روشهای با.شبکه در
عصبیروشGradient descentبصورتدیگری مشابه فرضیه به ای فرضیه از هموار
حالیکه در میکند حرکتGAممکناست
اساسی تفاوت که نماید جایگزین فرزندی با را والد فرضیه ناگهانی بصورت
باشد داشته آن والد با.ازرو ایناحتمال
افتادن گیرGAمییابد کاهش محلی مینیمم در.وجود این باGAمشکل با
که روبروست دیگریcrowdingمیشود نامیده
ای پدیدهسازگاری که عضوی آن در که است
دار جمعیت افراد بقیه از بیشتری بسیاردبه
تولید مرتب طوراع تولید با و کرده نسلضای
درصد مشابهای عمدهاشغال را جمعیت ازمی
کند.
حل راه از استفاده
Ranking
جستجوی تفاوتGAبا
دیگر روشهای
24. Genetic Algorithm 24 / 32
بدون بپردازند مسائل حل به تا میسازد قادر را کامپیوترها که است تکنیکی
برنامه آن برای صریح بطور آنکه
باشند شده ریزی.GPهرعضو آن در که است تکاملی الگوریتمهای از روشی
است کامپیوتری برنامه یک جمعیت.
اغلب ها برنامهبهتوسطبرابر برنامه اجرای و شده داده نمایش درخت یک
با استparsدرخت کردن.
Genetic Programming
+
sin
x
sqrt
+
y^
x 2
F = sin(x) + sqrt( x^2 + y)
25. Genetic Algorithm 25 / 32
اپراتورcrossoverبرایGP
parents+
sin
x
^
2
+
sin
x
sqrt
+
y
childrens+
sin
x
^
2
+
yx ^
x 2
^
x 2
+
sin
x
sqrt
+
y+
yx
28. Genetic Algorithm 28 / 32
1-ايجادجمعيتاوليه
مشخصاايربايجادجمعيتاوليه،دردرمو
يتمرالگونتيکژيباينر،مشکلچندانييمرندا،
فقطکافياستمتناظرباهرکدامازاعضاي
جمعيت،يکبردارتصادفيبامولفههايصفرو
يکايجادکنيم.
2–يابيزارمرتبوجمعيت يسازجواب حذف واضافي هاي
1-يسپرتعداد شدنمعينياررتکاز(
Generation ، نسل ، Iteration )
2-سيدنرحد بهمطلوبيجواب از
3-يسپرتعداد شدنمعيني، هارارتکاز
بهبودمشاهده نبدوي خاصدرنتيجه
خالصه
29. Genetic Algorithm 29 / 32
نتیجه
در زیادي بسیار قدرت داراي كه هستند هایيالگوریتم ژنتیك هايالگوریتم
،هستند مسئله جواب یافتن
در را ها الگوریتم این اصلي كاربرد بتوان شاید كه داشت توجه باید اما
داراي كه گرفت نظر در مسائلي
در انسان براي هاحالت همه بررسي اعمال و هستند بزرگ بسیار حالت فضاي
نرمال هايزمان(بشر عمر حد در)نیست ممكن.
داراي باید مسئله مختلف حاالت بین احتما كه داشت توجه باید طرفي از
باشیم منطقي و مناسب پیوستگي.
حركتي داراي كه دهدمي ما به را امكان این ژنتیك هايالگوریتم نهایت در
باشیم هدف سوي به مسئله فضاي در سریع.
جواب سوي به مسئله حاالت فضاي در كه كنیم تصور توانیممي كه ايگونه به
30. Genetic Algorithm 30 / 32
منابع
1.https://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D
9%88%D8%
B1%DB%8C%D8%AA%D9%85_%DA%98%D9%86%D8%AA%DB
%8C %DA%A9
2.http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&so
urce=web&
cd=4&ved=0ahUKEwjTkvKF3fLJAhVB44MKHccpAYkQFgg6MA
M&url
=http%3A%2F%2Fceit.aut.ac.ir%2F~shiry%2Flecture%2FDSS%2F
GA.ppt
&usg=AFQjCNGJEmoV68oTejxF9KCAFernYdWaJQ&bvm=bv.110
15184 a4,d.eWE&cad=rj
3. algorithms.html-
http://www.beytoote.com/scientific/midanid/genetic
32. Genetic Algorithm 32 / 32
قدردانی
مهمتریننه باشیم بهترین کنیم سعی همیشه
تشکر با
اوالسیز ساغ