550 likes | 1.41k Views
دانشگاه امیرکبیر دانشکده مهندسی پزشکی الگوریتمهای تکاملی (الگوریتم ژنتیک) درس : کاربرد فن آوری اطلاعات پزشکی استاد محترم : جناب آقاي دكتر توحيد خواه ارایه كننده : عابد فامیلی(87233509). فهرست. مقدمه تاریخچه تعاریف مرحل الگوریتم ژنتیک روشهای نمایش روشهای انتخاب
E N D
دانشگاه امیرکبیر دانشکده مهندسی پزشکی الگوریتمهای تکاملی (الگوریتم ژنتیک) درس : کاربرد فن آوری اطلاعات پزشکی استاد محترم : جناب آقاي دكتر توحيد خواه ارایه كننده : عابد فامیلی(87233509)
فهرست • مقدمه • تاریخچه • تعاریف • مرحل الگوریتم ژنتیک • روشهای نمایش • روشهای انتخاب • روشهای تغییر (اپراتورهای ژنتیکی) • مثال • مزایا • معایب • چند نمونه از کاربرد هاي الگوريتم هاي ژنتيک • کاربرد هاي الگوريتم ژنتيک در پزشكي • منابع
مقدمه • قانون انتخاب طبيعي بدين صورت است كه تنها گونههايي از يك جمعيت ادامه نسل ميدهند كه بهترين خصوصيات را داشته باشند و آنهايي كه اين خصوصيات را نداشته باشند به تدريج و در طي زمان از بين ميروند. • انتخاب درست ترین ها نه بهترین ها
تاریخچه • الگوريتم هاي ژنتيك با توجه به نظريه داروين در مورد تكامل شكل گرفتند. • محاسبات تکاملي درسال 1960 به وسيله ي شخصي به نام Rechenberg مرسوم شد • در دهه هفتاد ميلادي دانشمندي از دانشگاه ميشيگان به نام جان هلند ايده اصلی استفاده از الگوريتم ژنتيك را در بهينهسازيهاي مهندسي مطرح كرد • در سال 1992 John Koza از ژنتيک الگوريتم در برنامه اي استفاده کرد که کارهاي مشخصي انجام مي داد Koza نام اين روش را Genetic Programming (GP) گذاشت .
تعاریف • الگوريتم ژنتيک (يا GA) يک تکنيک برنامه نويسي است که از تکامل ژنتيکي به عنوان يک الگوي حل مسئله استفاده ميکند. • ژن : به هر خصوصیت ژنتیکی یک ژن گفته می شود مثل رنگ چشم، طول قد، رنگ مو و ... • کروموزوم : به مجموعه ژنها که شامل اطلاعات ژنتیکی میباشد گفته میشود. • جمعیت (colony): به مجموعه کروموزومها گفته میشود. • تابع تناسب ) : ( Fitnessتابعیبرایارزیابییکفرضیهکهمقداریعددیبههرفرضیهنسبتمیدهد
مراحل الگوریتم ژنتیک اصول كار الگوريتم ژنتيك به صورت روند زير ارائه مي گردد • گام 1 – كد گذاري • گام 2 – انتخاب تصادفي جمعيت اوليه از مجموعه پاسخ ها • گام 3 – محاسبه ميزان سازگاري گروه پاسخ با تابع هدف ( Fitness ) • گام 4 – ايجاد جمعيت جديد با استفاده از عملگر هاي ژنتيك (تكثير تركيب و جهش) • گام 5 – تكرار مراحل سوم و چهارم تا هنگامي كه جواب نهايي همگرا گردد
روشهای نمایش ژنومها (کدکردن) • استفاده از رشته های باینری • کدکردن راه حل ها در آرايه اي از اعداد صحيح يا اعشاري • استفاده از يک رشته حروف،که هر حرف نمايش دهنده يک خصوصيت از راه حل است • برنامه نويسي ژنتيک (Genetic programming)
روشهای انتخاب • روش Elitist • روش Roulette • روش Scaling • روش Tournament
اپراتورهایژنتیکی Crossover : • اپراتور Crossover بااستفادهازدورشتهوالددورشتهفرزندبوجودمی آورد. • برایاینکارقسمتیازبیتهایوالدیندربیتهایفرزندانکپیمیشود. • انتخاببیتهائیکهبایدازهریکازوالدینکپیشوندبهروشهایمختلفانجاممیشود • single-point crossover • Two-point crossover • Uniform crossover • برایتعیینمحلبیتهایکپیشوندهازیکرشتهبهنام Crossover Mask استفادهمیشود.
Single-point crossover • یکنقطهتصادفیدرطولرشتهانتخابمیشود. • والدیندرایننقطهبهدوقسمتمیشوند. • هرفرزندباانتخابتکهاولازیکیازوالدینوتکهدومازوالددیگربوجودمیاید. Children Parents Crossover Mask: 11111000000
روشهایدیگر Crossover • Two-point crossover • Uniform crossover Crossover Mask: 00111110000 Children Parents Parents Crossover Mask: 10011010011 Children بیتهابصورتیکنواختازوالدینانتخابمیشوند
اپراتورهایژنتیکی Mutation : • اپراتور mutation برایبوجودآوردنفرزندفقطازیکوالداستفادهمیکند. اینکارباانجامتغییراتکوچکیدررشتهاولیهبوقوعمیپیوندد. • بااستفادهازیکتوزیعیکنواختیکبیتبصورتتصادفیاتنخابومقدارآنتغییرپیدامیکند. • معمولا mutation بعدازانجام crossover اعمالمیشود. Child Parent
مثال • ما يک مربع 3*3 داريم که مي خواهيم اعدادي بين 1تا15 را در اين مربع قرار دهيم به طوري که جمع اعداد در هر سطرو ستون برابر 24 شود.
ادامه مثال • گام اول :کدگذاری با استفاده از روش باینری و چون اين اعداد مقادير بين 0تا15 دارند مي توان آنها را با 4 بيت يا ژن داده نمايش داد • گامدوم : ايجاد کردن يک نسل ابتدايي براي شروع کار است که شامل تعدادي ژنوم تصادفي است
ادامه مثال • گام 3 – محاسبه ميزان سازگاري گروه پاسخ با تابع هدف( Fitness ) • هرچقدر که اعداد ما به جواب نزديکتر باشند عدد تناسب بزرگتر خواهد شد.
ادامه مثال • گام 4 – ايجاد جمعيت جديد با استفاده از عملگر هاي ژنتيك (تكثير تركيب و جهش). • بهترين روش براي تابع انتخاب(Fitness) در اين مسئله روشي به نام رولت(Roulette) است.اول يک عدد تصادفي بين 0 وعدد تناسب نسل قبلي انتخاب مي شود. تابع انتخاب به صورت زير خواهد بود
مزايا • عمومي بودن • هزينه قابل قبول • قابل تفسير بودن جوابها • پيشنهاد چندين جواب به صورت همزمان • موازي بودن الگوريتم
معايب • عدم ضمانت همگرايي به جواب بهينه در زمان محدود • ضعف تئوري • نياز به تنظيم پارامترها • كند بودن
چند نمونه از کاربرد هاي الگوريتم هاي ژنتيک • توپولوژي هاي شبکه هاي کامپيوتي توزيع شده. • بهينه سازي ساختار ملکولي شِميايي (شيمي) • مهندسي برق براي ساخت آنتنهاي Crooked-Wire Genetic Antenna • مهندسي نرم افزار • بازي هاي کامپيوتري • مهندسي مواد • مهندسي سيستم • رباتيک(Robotics) • تشخيص الگوو استخراج داده(Data mining) • آموزش شبکه هاي عصبي مصنوعي • ياددهي رفتار به رباتها با GA . • يادگيري قوانين فازي با استفاده از الگويتم هاي ژنتيک • درك زبان محاوره اي و يا خواندن متون
کاربرد هاي الگوريتم ژنتيک در پزشكي • توليد برنامه هاي درماني • بهينه سازي فرمولهاي دارويي وساختارهاي مولکولي • بهبود تشخيص • بهبود کيفيت تصميم گيري
منابع • اسلاید های دکتر عبادزاده – دانشکده کامپیوتر دانشگاه امیرکبیر • "الگوريتم هاي ژنتيک" مينا سراجيان ، ميترا حاجی علی مددی مرکز تحصيلات تکميلي درعلوم پايه زنجان • "الگوريتم ژنتيک آنچه کامپيوتر ميتواند از تکامل بياموزد" چارلز والبريج ترجمه محمود البرزي فصلنامه تحقيقات مديريت • مقاله الگوريتم ژنتيك و حل مساله TSP مهندس پيام خان تيموري • http://www.ciirang.com/forumdisplay.php?f=877 • http://www.ciirang.com/forumdisplay.php?f=877 • پاورپوينت دانشجويان ورودي 85 رشته MIT دانشگاه صنعتي امير كبير در زمينه الگوريتم ژنتيك
متشکرم سئوال؟پيشنهاد ؟