الگوريتم ژنتيک

download report

Transcript الگوريتم ژنتيک

‫به نام خالق لوح و قلم‬
‫موضوع ارائه ‪:‬‬
‫الگوريتم ژنتيک‬
‫توسط دانشجويان ‪:‬‬
‫محسن‬
‫اکبري دانا‬
‫محمد ميرزائيان‬
‫دوره ‪ :‬کارشناسي‬
‫ناپيوسته‬
‫‪1‬‬
‫‪2‬‬
‫مقدمه‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫الگوريتم ژنتيک در سال ‪ 1970‬توسط هالند ‪ ،‬ديجونگ و گلدبرگ ارايه شده است ‪.‬‬
‫اين الگوريتم براي بهينه سازي مسايل پيچيده با فضاي جستجو ناشناخته مناسب‬
‫است ‪.‬‬
‫به طور مختصر گفته مي شود که الگوريتم ژنتيک يک تکنيک برنامه نويس ي است که‬
‫از تکامل ژنتيکي به عنوان يک الگوي حل مساله استفاده مي کند ‪.‬‬
‫الگوريتم ژنتيک يک تکنيک جستجو در علم کامپيوتر براي يافتن راه حل بهينه در‬
‫مسايل جستجو است ‪.‬‬
‫الگوريتم ژنتيک يکي از انواع الگوريتم الگوريتم تکاملي است که از علم زيست شناس ي‬
‫و مسئله انتخاب طبيعي داروين مثل وراثت‪ ،‬جهش ‪ ،‬انتخاب ناگهاني ‪ ،‬انتخاب‬
‫طبيعي و ترکيب الهام گرفته شده است ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪3‬‬
‫معرفي واژگان الگوريتم ژنتيک‬
‫از آنجا که الگوريتم ژنتيک از دو علم کامپيوتر و ژنتيک طبيعي نشات‬
‫گرفته است واژه هاي مورد استفاده اش مخلوطي است از واژه هاي‬
‫طبيعي و مصنوعي ‪ ،‬مفاهيم اوليه که در فهم الگوريتم ژنتيک بسيار‬
‫حياتي هستند ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪4‬‬
‫کروموزوم‬
‫اساس الگوريتم ژنتيک تبديل هر مجموعه جواب به يک کدينگ است ‪ .‬اين‬
‫کدينگ را اصطالحا کروموزم مي گويند‪ .‬به کروموزوم ‪ ،‬فرد ‪ ،‬رشته ‪،‬‬
‫ساخت نيز گفته شده است ‪ .‬همچنين مي توان آنها را ژنوتيپ نيز ناميد‬
‫کروموزوم انسان‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪18 :‬‬
‫‪5‬‬
‫فنوتيپ يا تابع برازندگي‬
‫هر کروموزوم متناظر با يک مجموعه جواب از مسئله است ‪ .‬مجموعه‬
‫متناظر با هر کروموزوم را يک فنوتيپ مي گويند ‪.‬‬
‫ژن‬
‫عناصر تشکيل دهنده يک کروموزوم که معموال اعداد هستند را ژن مي‬
‫گويند‪.‬‬
‫ژن ها را ترکيب ‪ ،‬نشان و کاشف نيز ناميده اند ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪6‬‬
‫جمعيت‬
‫مجموعه اي از کروموزوم ها را يک جمعيت مي گويند‬
‫نسل‬
‫هر تکرار از الگوريتم را يک نسل مي گويند‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫مثال ساده با حروف الفبا‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫‪7‬‬
‫تعداد کل صفحات ‪:‬‬
‫‪8‬‬
‫ساختار کلي الگوريتم ژنتيک‬
‫ابتدا بيش از هر چيزي بايد مکانيزمي براي تبديل هر جواب به يک‬
‫کروموزوم تعريف کرد ‪ ،‬پس از آن که يک مجموعه از کروموزوم ها که در‬
‫حقيقت مجموعه اي از جواب هاي مسئله هستند به عنوان يک جمعيت‬
‫آعازين تهيه مي گردند ‪ .‬اين مجموعه که اندازه آن دلخواه است و توسط‬
‫کاربر تعريف مي شود اغلب به صورت تصادفي ايجاد مي گردند ‪.‬‬
‫بعد از اين مرحله بايد با بکارگيري عمليات ژنتيک اقدام به ايجاد‬
‫کروموزوم هاي جديد موسوم به فرزند نمود ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪9‬‬
‫بعد از ايجاد فرزندان با استفاده از عمل تحول اقدام به انتخاب‬
‫برازنده ترين کروموزوم ها نمود ‪ ،‬بدين صورت يک نسل از الگوريتم‬
‫طي شده است ‪ ،‬الگوريتم بعد از چندين نسل بتدريج به سمت جواب‬
‫بهينه همگرا مي شود ‪ .‬شرط توقف الگوريتم نيز طي کردن تعداد‬
‫معيني تکرار است که پيش از آغاز الگوريتم توسط کاربر تعيين مي‬
‫شود ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫ايجاد جمعيت اوليه‬
‫‪10‬‬
‫اولين مرحله بعد از تعيين تکنيکي که براي تبديل هر جواب به يک‬
‫کروموزوم به کار مي رود ايجاد يک جمعيت اوليه از کروموزم هاست‬
‫‪ .‬در اين مرحله جواب اوليه معموال به صورت تصادفي توليد مي شود‬
‫‪ .‬البته در بعض ي موارد با توجه به نوع مسئله و براي باال بردن‬
‫سرعت همگرايي الگوريتم از روش ابتکاري نيز استفاده مي گردد ‪.‬‬
‫به هر حال عمومي ترين و فراگير ترين روش ‪ ،‬استفاده از يک رويکرد‬
‫تصادفي است ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪11‬‬
‫روش هاي انتخاب و ايجاد فرزندان‬
‫‪ -1‬تقاطع ( ‪) Crossover‬‬
‫در اين روش دو کروموزوم براي معاوضه سگمنت هاي کدشان انتخاب مي شوند ‪ ،‬اين فرآيند‬
‫بر اساس فرآيند ترکيب کروموزوم ها در طول توليد مثل در موجودات زنده شبيه سازي شده‬
‫است ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪12‬‬
‫‪ -2‬جهش ژني ‪Mutation‬‬
‫قبل از اين که کروموزوم ها در نسل بعدي قرار بگيرند احتمال دارد دچار جهش يا‬
‫تغيير ناگهاني شوند ‪ .‬جهش يک تغيير ناگهاني در ژن است ‪ ،‬در طبيعت سرطان ها‬
‫حاصل جهش هاي ژني هستند ‪.‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪13‬‬
‫‪ -3‬جاگذاري (‪)Insertion‬‬
‫در اين روش يک کروموزوم را به صورت تصادفي انتخاب مي کنيم و ‪ 2‬نقطه تصادفي را از‬
‫آن کروموزوم بر مي گزينيم سپس ژن انتخاب شده سمت راست را با سمت راست ژن‬
‫سمت چپ همسايه مي کنيم به صورت شکل زير‪:‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫مراحل الگوريتم ژنتيک‬
‫مراحل الگوريتم ژنتيک عبارتند از ‪:‬‬
‫‪ -1‬ايجاد جمعيت اوليه‬
‫‪ -2‬ارزيابي و مرتب سازي جواب ها و حذف اعضاي اضافي جمعيت ( در‬
‫صورت وجود )‬
‫‪ -3‬انتخاب عده اي از بهترين اعضاي جمعيت به عنوان والد ها بر حسب‬
‫شايستگي ‪ ،‬انجام عمل تقاطع ميان آن ها و ايجاد جمعيتي از فرزندان‬
‫‪ -4‬انتخاب عده اي از اعضاي جمعيت به صورت تصادفي و انجام عمل‬
‫جهش ( ‪)Mutaion‬‬
‫‪ -5‬ادغام جمعيت اصلي‪ ،‬جمعيت فرزندان و جهش يافتگان‬
‫‪ -6‬در صورتي که شرايط خاتمه محقق شده اند ‪ ،‬رفتن به مرحله ‪ ، 7‬در‬
‫غير اينصورت بازگشت به مرحله ‪2‬‬
‫‪ -7‬پايان‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫‪14‬‬
‫تعداد کل صفحات ‪:‬‬
‫‪15‬‬
‫در ادامه يک نمونه از مسائل ساده اي که الگوريتم ژنتيک براي آن جواب ارائه‬
‫دهد بررس ي خواهيم کرد ‪ ،‬اين مسئله جز مسائل ‪Benchmark Problem‬‬
‫باشد‪.‬‬
‫مي‬
‫مي‬
‫تابع ‪Sphere‬‬
‫تعريف اين تابع به صورت زير مي باشد ‪:‬‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫‪16‬‬
‫جمعيت و حذف جواب هاي اضافي‬
‫ايجادمرتب ساز‬
‫‪ – 2‬ار‪1‬ز‪-‬يابي و‬
‫جمعيتياوليه‬
‫مشخصا براي ايجاد جمعيت اوليه ‪ ،‬در مورد‬
‫چندانيرارندا(ريم ‪،‬‬
‫تعدادمشکل‬
‫شدنباينري ‪،‬‬
‫ينتيک‬
‫الگوريتم‬
‫سپر ژ‬
‫معيني از تک‬
‫‪-1‬‬
‫فقط کافي است متناظر با هر کدام از اعضاي‬
‫‪، Generation‬‬
‫‪Iteration‬ر)و‬
‫نسل ‪،‬مولفه هاي صف‬
‫تصادفي با‬
‫جمعيت ‪ ،‬يک بردار‬
‫کنيم ‪.‬به حد مطلوبي از جواب‬
‫سيدن‬
‫‪2‬‬
‫يک‪ -‬ر‬
‫ايجاد‬
‫‪ -3‬سپري شدن تعداد معيني از تکرارها ‪،‬‬
‫بدون مشاهده بهبود خاص ي در نتيجه‬
‫محسن اکبري دانا‪/‬محمد ميرزائيان‬
‫تعداد کل صفحات ‪:‬‬
‫منابع ‪:‬‬
‫]‪ [1‬الگوريتم هاي فراابتکاري در بهينه سازي‬
‫ترکيبي ‪ ،‬تاليف دکتر مصطفي زنديه ‪ ،‬دکتر‬
‫عالم تبريز ‪ ،‬مهندس عليرضا محمد‬
‫اکبر‬
‫رحيمي ‪ ،‬انتشارات صفار‪ ،‬اشراقي‬
‫‪[2] Goldberg, D.E., 1989, "Genetic algorithm in search‬‬
‫‪,Optimization and Machine Learning" ,Addison-Wesley‬‬
‫‪,Wokingham ,England.‬‬
‫‪[3]Chaudhry,S.S and Luo,W.,2005". Application genetic‬‬
‫‪algorithm in production and operation management : a‬‬
‫‪review". International Journal of Production Research,‬‬
‫‪43,19,4083-4101.‬‬
‫پايان نامه کارشناسي ارشد ‪ ،‬ميثم‬
‫]‪[4‬‬
‫ربيعي ‪ ،‬دانشکده مهندسي صنايع دانشگاه‬
‫صنعتي خواجه نصير الدين طوسي ‪ ،‬حل مسئله‬
‫پذيرصفحات‬
‫تعداد کل‬
‫ميرزائيان‬
‫اکبري دانا‪/‬محمد‬
‫مرحله اي انعطاف‬
‫کارگاهي دو‬
‫محسنجريان‬
‫‪:‬‬
‫در پايان جا‬
‫دارد از توجه‬
‫شما دانشجويان‬
‫گرامي و‬
‫استادگرانقدر‬
‫دکتر داور پناه‬
‫پايان‬
‫کمال تشکر را‬
‫‪18‬‬