Transcript Slide 1
دانشگاه امیرکبیر دانشکده مهندسی پزشکی الگوریتمهای تکاملی (الگوریتم ژنتیک) درس :کاربرد فن اوری اطالعات پزشکی استاد محترم :جناب اقاي دك تر توحيد خواه ارایه كننده :عابد فامیلی()87233509 فهرست مقدمه تاریخچه تعاریف مرحل الگوریتم ژنتیک روشهای نمایش روشهای انتخاب روشهای تغییر (اپراتورهای ژنتیکی) مثال مزایا معایب چند نمونه از کاربرد هاي الگوريتم هاي ژنتيک کاربرد هاي الگوريتم ژنتيک در پزشكي منابع مقدمه قانون انتخاب طبيعي بدين صورت است كه تنها گونههاي ي از يك جمعيت ادامه نسل ميدهند كه بهترين خصوصيات را داشته باشند و انهاي ي كه اين خصوصيات را نداشته باشند به تدريج و در طي زمان از بين ميروند. انتخاب درست ترین ها نه بهترین ها تاریخچه • الگوريتم هاي ژنتيك با توجه به نظريه داروين در مورد تكامل شكل گرفتند. محاسبات تکاملي درسال 1960به وسيله ي شخصي به نام Rechenbergمرسوم شد در دهه هفتاد ميالدي دانشمندي از دانشگاه ميشيگان به نام جان هلند ايده اصلی استفاده از الگوريتم ژنتيك را در بهينهسازيهاي مهندسي مطرح كرد در سال John Koza 1992از ژنتيک الگوريتم در برنامه اي استفاده کرد که کارهاي مشخصي انجام مي داد 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 10 برای تعیین محل بیتهای کپ ی شونده از یک رشته به نام Crossover Maskاستفاده میشود. Single-point crossover یک نقطه تصادفی در طول رشته انتخاب میشود . والدین در این نقطه به دوقسمت میشوند. هر فرزند با انتخاب تکه اول از یکی از والدین و تکه دوم از والد دیگر بوجود میاید. Children 11 Crossover Mask: 11111000000 Parents 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 Crossoverروشهای دیگر Two-point crossover Parents Crossover Mask: 00111110000 Children 1 1 1 00 01 0 00 00 1 0 0 0 1 1 0 1 00 01 0 00 10 1 0 0 0 0 0 0 1 00 01 0 00 10 0 1 0 1 0 0 1 00 01 0 00 00 0 1 0 1 Parents Uniform crossover ◦ Crossover Mask: 10011010011 Children 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 بیتها بصورت یکنواخت از والدین انتخاب میشوند 12 اپراتورهای ژنتیکی Mutation : اپراتور mutationبرای بوجود اوردن فرزند فقط از یک والد استفاده میکند . اینکار با انجام تغییرات کوچکی در رشته اولیه بوقوع میپیوندد. با استفاده از یک توزیع یکنواخت یک بیت بصورت تصادفی اتنخاب و مقدار ان تغییر پیدا میکند. معموال mutationبعد از انجام crossoverاعمال میشود. Child 1 1 1 0 1 0 1 0 1 0 0 0 13 Parent 1 1 1 0 1 0 0 1 0 0 0 مثال ما يک مربع 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دانشگاه صنعتي امير كبير در زمينه الگوريتم ژنتيك متشکرم