751 likes | 2.26k Views
الگوريتم پرش قورباغه ها Shuffled Frog Leaping Algorithm. مريم توکل ی. زيرنظر دکتر ميرزائی. در سال 1993 پيدايش ايده الگوريتم ( ترکيب اطلاعات محلي به دست آمده براي به دست آوردن يک جواب بهينه جهاني) توسط Duan و Gupta در سال 1995 پيشنهاد الگوريتم PSO توسط Kennedy و Eberhart
E N D
الگوريتم پرش قورباغه هاShuffled Frog LeapingAlgorithm مريم توکلی زيرنظر دکتر ميرزائی
در سال 1993 پيدايش ايده الگوريتم ( ترکيب اطلاعات محلي به دست آمده براي به دست آوردن يک جواب بهينه جهاني) توسط Duan و Gupta • در سال 1995 پيشنهاد الگوريتم PSO توسط Kennedy و Eberhart • پيدايش چارچوب دقيق اين الگوريتم، درسال 2003 توسط EusuffوLansey بود • در سال 2004 توسط Liong و Atiquzzaman با ايده الگوريتمهاي Memetic ترکيب شد • در سال 2005 توسط Elbeltagi و گروهش مقايسه جامعي با ساير الگوريتم هاي تکاملي انجام شد و کارايي آن بررسي شد • درسال 2006 ارائه کنندگان SFLA, اين الگوريتم را براي مسائل بهينه سازي گسسته نيز استفاده کردند و نيز ففاکتوري به نام فاکتور بهينه سازي به آن افزودند. • در سال 2009 بهبود اين الگوريتم براي مسائل بهينه سازي پيوسته توسط Zhen ارائه شده است. • در اين سال ها و سال هاي بعد کارايي application هاي بسياري توسط اين روش بهبود پيدا کرد. تاريخچه
طبيعت الهام بخش • حرکت دسته جمعي گروهي از موجودات زنده مثل حرکت مورچه ها، پرواز پرندگان, پرش قورباغه ها و ... • دوعامل موثر در تکامل موجودات: ژنتيک و آموزش (با نام فرهنگ در جامعه انساني) • اساس اين الگوريتم بر تاثير همسايگي و تبادل اطلاعاتي است که بين افراد مختلف در يک نسل مبادله مي شود. زمينه ي زيستي
ژنتيک • ممتيک • ACO • PSO • پرش قورباغه ساير الگوريتم هايتکاملي
Meme در برابر Gene Meme يک بسته حاوي اطلاعات قابل انتقال ميباشد که قابليت جابجايي بين افراد مختلف را دارد. اين بسته ها برخلاف Geneها مي توانند در بين افراد هم نسل جابه جا شده يا با جشتجوي محلي توسط خود فرد بهبود داده شوند. هم چنين برخلاف Geneها که تنها بين والد و فرزند دست به دست مي شوند؛ Memeها بين هر دو فرد از جامعه قابليت جابجايي دارند مجموعه ي ويژه مم به عنوان يک مفهوم, مموتيپ ناميده ميشود. مم = ژن و مموتيپ = کروموزوم
Meme در برابر Gene Memeها توسط شخصي که دارنده آنهاست بهبود مييابند چيزي که در ژنها هيچ وقت اتفاق نميافتد. تعداد افرادي که ميتوانند يک Meme را از يک فرد خاص بدست آورند معمولاً بينهايت است.
ظهور ممتيک در برابر ژنتيک الگوريتم هاي ممتيک اولين بار توسط داوکينز ارائه شد. تفاوت: کروموزوم ها مي توانند قبل از درگيري در فرآيند تکامل به وسيله جستجوي محلي تجربه کسب کنند. (جمعيت شرکت کننده در فرايند تکامل بهينه هاي محلي دسته هاي مختلف است.) بدين ترتيب در نسل بعد کساني مي مانند که سازگاري يا تجربه بيش تري دارند
Shuffled Complex Evolution هردو نوع جستجوي محلي و جهاني جستجوي محلي با يک روند Memetic (روندي مشابه PSO) جستجوي جهاني با انتقال اطلاعات بين محل هاي موازي راه حل مسئله با رشته اي از Memeها که ارزش هاي بهينه را حمل مي کنند که مانند Genetic با تابع مناسب ارزش گذاري مي شود. SCE پايه الگوريتم SFL
ساخت جمعيت اوليه به صورت تصادفي • تکرار روند تکامل: • تقسيم جمعيت به دسته هاي زير جمعيت (براساس fitness آن ها) • جستجوي محلي روندي ممتيک هر زير جمعيت ها • انتقال اطلاعات بين دسته هاي محلي (Memeplex) • ادامه روند تکامل تا رسيدن به شرط خاتمه (جواب بهينه يا پايان تعداد تکرار مشخص) قالب SCE
PSO براي هريک از افراد يک موقعيت فيزيکي وسرعت در نظر مي گيرد که فرد بر اساس آن ها حرکت مي کند حرکت هر فرد با جستجوي محلي بهترين مکان تعيين مي شود. ارتباط فرد با هسايه هايش سبب مي شود که با بهينه شدن مکان آن ها، مکان فرد نيز تغيير کند نتيجه: حرکت اجتماع به سوي بهينه جهاني مي باشد
قالب SFLA ترکيب ايده هاي SCE و PSO اين الگوريتم را مي سازد SLFA: جهش در هم قورباغه بر پايه ممتيک موجودات زنده جستجو بر پايه تکامل Memeها و مبادله کردن اطلاعات به صورت سراسري مي باشد.
بر خلاف الگوريتم هايي مانند ژنتيک، تاکيد اين الگوريتم بر روي جمعيت نيست برروي Meme ها و تکامل آن هاست به افراد به عنوان حامل هاي ممتيک نگاه مي شود. جمعيتمجازياز قورباغهها
بر خلاف الگوريتم هايي مانند ژنتيک، تاکيد اين الگوريتم بر روي جمعيت نيست برروي Meme ها و تکامل آن هاست به افراد به عنوان حامل هاي ممتيک نگاه مي شود. اين الگوريتم به جاي شمردن افراد از يک مدل انتزاعي به نام جمعيت مجازي استفاده مي کند جمعيتمجازياز قورباغهها
جمعيت اوليه قورباغه ها به صورت تصادفي انتخاب مي شوند • جمعيت به صورت نزولي مرتب و زيردسته هاي موازي به صورت زير ساخته مي شوند(زيردسته ها، فرهنگ هاي مختف رادرقورباغه ها مي سازند!): • نفر اول دسته 1، نفر دوم دسته 2، ....، دسته m، m+1 در دسته اول... • در هر دسته Xb و Xwبهترين و بدترين مم دسته را نگه ميدارند و Xg بهترين مم جهاني را. روند الگوريتم SFL
روندي مشابه PSO براي بهبود Xwهاي هر گروه (نه همه ي افراد گروه) در هر سيکل استفاده مي شود. (تغيير جهت تحت تاثير جمعيت ) • اگر روند فوق پاسخ بهتري ساخت؛ جايگزين Xw قبلي مي شود. • و گرنه روند قبلي بر اساس بهينه جهاني انجام مي شود • اگر باز هم بهبود حاصل نشد؛ نقطه اي تصادفي جايگزين Xw مي شود. روند الگوريتم SFL
روند بالا بعداز تعداد مشخصي تکرار تکامل ممتيک، درهم ميشوند و گروههاي جديد شکل ميگيرد. • درهم کردن باعث ميشود کيفيت ممها بعد از اينکه قورباغهها در نواحي مختلف ايدههايشان را به يکديگر انتقال دادند, بالا برود. روند الگوريتم SFL
پارامترهاي بهينه سازي SFLA • مانند ساير الگوريتم هاي تکاملي پارامترها نقش مهمي در بازدهي نهايي دارند: • تعداد قورباغه ها • تعداد دسته هاي زير جمعيت (Memeplex) • تعداد نسل هاي هر زير جمعيت قبل از جابه جايي (Shuffling) • تعداد دورهاي جابه جايي • بيش ترين اندازه گام
انواع جستجوهاي SFLA • جستجوي محلي • جستجوي جهاني (جهش قورباغه ها)
پارامترهاي بهينه سازي SFLA(پارامترهايي که «بستگي به مسئله داره»!!) • مانند ساير الگوريتم هاي تکاملي پارامترها نقش مهمي در بازدهي نهايي دارند: • تعداد قورباغه هاي هر زيردسته: n • تعداد دسته هاي زير جمعيت (Memeplex)m: • تعداد نسل هاي هر زير جمعيت قبل از جابه جايي (Shuffling)q: • تعداد دورهاي جابه جاييN: • بيش ترين اندازه گامSmax: • مهم ترين عامل m*n است که به پيچيدگي مسئله بستگي دارد.
پارامترهاي بهينه سازي SFLA(پارامترهايي که «بستگي به مسئله داره»!!) • هرچه F بيشتر : بازدهي بهتر، بار محاسباتي بالاتر • کاهش تعداد n: کاهش تاثير استراتژي تکاملي • q بالاتر: زمان همگرايي رابطه غير مستقيم دارد. • N کمتر: جابجايي کمتر اطلاعات محلي و افزايش تاثير جستجوي محلي • اندازه گام کوچک: توانايي کمتر جستجوي سراسري، • اندازه گام بلند: احتمال واگرا شدن مسئله
محدوديت و بهبود SFLA • وقتي درحال بهبود بدترين حالت هستيم؛ محل جديد اين حالت محدود مي شود به: • و در ابعاد ديگر قادر به حرکت نيست؛ که سبب همگرايي به نقاط احتمالا اشتباه مي شود (به دليل محدوديت ديد)براي بهبود محدوديت بعد را برميداريم.
محدوديت و بهبود SFLA • Rand تصادفي بين 0و1 • C يک عدد ثابت بين 1و2 • ri اعداد تصادفي بين -1و1 • Wi,max ماکزيمم محدوده ديد قورباغه در بعد iام مي بيند. • Dmax بيشترين جابجايي ممکن براي قورباغه
TSP (نمونه دسته مسائل NP) محکي براي الگوريتم هاي تکاملي • بردار مکان هر قورباغه:يک راه حل براي TSP • iامين قورباغه به صورت زير مي باشد: • پارامترهاي برچسب هاي N شهر مي باشد. • تابع ارزيابي f(i) اندازه تور • طبق رابطه زير قوباغه هاي با بيشترين مقدار برازندگي احتمال بيشتري براي انتخاب در زير گروه را دارند: مسئله TSP
براي تغيير U(q) بدترين عضو گروه، منطقه اي تصادفي از XB را در Xwقرار مي دهيم؛ در صورتيکه اعداد ديگر دراين قسمت به وجود آمدند؛ براي آنها عدد تصادفي از ميان اعداد باقيمانده بدست مي آوريم: مسئله TSP
مقايسه SFLA با ساير الگوريتم ها (تابع Griewank)
کاربرد • پيچيدگي مسائل NP و محدوديت زماني • مسائل بهينه سازي گسسته (PSO براي مسائل پيوسته مورد استفاده قرار ميگيرد) • کاربردهاي شبکه اي: هدايت بسته ها، انتخاب بهترين محل براي Hub • برنامه هاي مديريت پروژه(!!!)
الگوريتم هاي مشابه • علاوه بر ممنتيک و PSO که اين الگوريتم رابطه تنگاتنگي با آنها دارد؛ دو الگوريتم زير بسيار مشابه اين الگوريتم مي باشند: • Jumping Frog Optimization • Discrete PSO • و همه ي اين الگوريتم ها در بهينه سازي هاي گسسته بيشتر کارايي دارند. • تفاوت؟!
منابع: • EmadElbeltagia, TarekHegazy, Donald Grierson (2004). Comparison among five evolutionary-based optimization algorithms • EmadElbeltaqia, TarekHegazy and Donald Grieson (2005), A modified shuffled frog-leaping optimization algorithm: applications to project management • Eusuff, M., K. Lansey, et al. (2006). "Shuffled frog-leaping algorithm: a memetic meta-heuristic for discrete optimization." Engineering Optimization • Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with Shuffled Frog-Leaping Algorithm. • و دو تا اسلايد ديگر!!!!!: • Shuffled Frog Learning • Shuffled Complex Evolution