480 likes | 700 Views
ACA. Ant Colony Algorithm. Samaneh sadegh. Zeynab Haji Hadi. پاييز 1389. عناوين مطالب. درباره مورچه ها. بررسی مقايسهای الگوريتم کلونی مورچهها و الگوريتم ژنتيک در حل مسئله فروشنده دورهگرد. بهینه سازی کلونی مورچه فرا مکاشفه ای.
E N D
ACA Ant Colony Algorithm Samanehsadegh ZeynabHajiHadi پاييز 1389
عناوين مطالب درباره مورچه ها بررسی مقايسهای الگوريتم کلونی مورچهها و الگوريتم ژنتيک در حل مسئله فروشنده دورهگرد بهینه سازی کلونی مورچه فرا مکاشفه ای کاربرد الگوريتم کلونی مورچهها در حل مسائل مسيريابی وسايل نقليه (MACS-VRPTW) سازماندهی گورستان و مراقبت از بچه ها ACA 2 Ant Colony Algorithm
درباره مورچه ها ACA 3 Ant Colony Algorithm
اولین پیشگامان • Eug´ene Marais (1872-1936)، اولین مطالعات روی کلونی موریانه ها • Maurice Maeterlinck (1862–1949)،انتشار زندگی مورچه سفید که بسیار از مقالات Marais استفاده کرده بود • Pierre-Paul Grass´e (1959)،مطالعات روی ساخت لانه موریانه ها • Grass :تعیین فرم ارتباط غیر مستقیم بین افراد به نام stigmergy • Deneubourg و همکاران (1990) ، مطالعه روی ارتباط از طریق فرومون بعنوان مثالی از stigmergy • Dorigo ، پیاده سازی اولین مدل الگوریتمی از رفتار تلاشگرانه در سال 1992 ACA 4 Ant Colony Algorithm
رفتار تلاشگرانه مورچه ها • چگونگی پیدا نمودن کوتاهترین مسیر • بدون بینایی • مرکزیت • مکانیسم همکاری فعال • نتایج مطالعات اولیه: • در ابتدا ، مکانیسم تصادفی برای پیدا نمودن غذا • بعد از پیدا شدن منبع غذا ، طرح فعالیت سازمان یافته تر • پیروی مورچه های بیشتر و بیشتر از مسیر یکسان • جادویی و خودکار،کوتاهترین مسیر انتخاب شده • رفتار پدید آمده نتیجه رد فرومون ACA 5 Ant Colony Algorithm
رفتار تلاشگرانه مورچه ها(ادامه) • رفتار هرج و مرج گرایانه – بازخورد مثبت: • ترشح فرومون توسط مورچه های تلاشگر • احتمال انتخاب بیشتر برای مسیر با غلظت فرومون بیشتر • مطلوبیت بیشتر مسیر بوسیله تقویت فرومون ذخیره شده • تابعیت سایر مورچه ها برای انتخاب مسیر یاد شده • Stigmergy • ارتباط غیر مستقیم،تغییر محیط بوسیله ترشح فرومون، تاثیر روی رفتار سایر مورچه ها ACA 6 Ant Colony Algorithm
رفتار تلاشگرانه مورچه ها(ادامه) • آزمایش پل: • احتمال انتخاب مسیر A برای مورچه بعدی: • nA(t) وnB(t):تعداد مورچه ها روی مسیر A و B در لحظه t • c درجه جذب یک مسیر ناشناخته : مقدار بیشترc ، مقدار فرومون رسوب شده مورد نیازبیشتر برای عدم انتخاب مسیر تصادفی • αتحت تاثیر استفاده از فرومون رسوب شده در فرایند تصمیم: مقدار بالاتر ،احتمال بیشتر برای عبور مورچه بعدی از مسیر با غلظت فرومون بالاتر ACA 7 Ant Colony Algorithm
رفتار تلاشگرانه مورچه ها(ادامه) • توسعه پل باینری: • افزایش احتمال انتخاب مسیر کوتاه تر متناسب با طول بین دو مسیر ACA 8 Ant Colony Algorithm
رفتار تلاشگرانه مورچه ها(ادامه) • شبیه سازی مورچه ها بعنوان عاملهای مصنوعی • هر مورچه عمل ساده اي انجام ميدهد، ولي در نهايت کلوني مورچه ها مسأله اي پيچيده را حل مي کنند. • تفاوت های مورچه های واقعی با مصنوعی: • حافظه: براي مورچههاي مصنوعي ميتوان يک حافظه در نظر گرفت که مسيرهاي حرکت را در خود نگه دارند. • موانع ساختگي: تغيير دادن جزئيات مسأله براي بررسي الگوريتم و رسيدن به جوابهاي متنوع. • حيات در محيط گسسته: مورچههاي واقعي نميتوانند جدا از کلوني به حيات خود ادامه دهند. ACA 9 Ant Colony Algorithm
الگوریتم های مورچه • الگوریتم های مبتنی بر جمعیت الهام گرفته از رفتار مشاهده شده بوسیله مورچه ها • همکاری بین افراد در این الگوریتم ها بر مبنای مکانیسم ارتباط stigmergic مشاهده شده در کلونی مورچه های واقعی • الگوریتم ها بر مبنای رفتار تلاشگرانه مورچه ها :بهینه سازی فرا مکاشفه ای کلونی مورچه ACA 10 Ant Colony Algorithm
بهینه سازی کلونی مورچه ساده ،SACO • یک پیاده سازی الگوریتمی از آزمایش پل باینری • در نظر گرفتن مسئله عمومی پیدا کردن کوتاهترین مسیر بین دو ند ACA 11 Ant Colony Algorithm
الگوریتم ،SACO ACA 12 Ant Colony Algorithm
SACO ساخت مسیر در • براي هر تكرار هر مورچه يك مسير افزايشي مي سازد(راه حل) • در ند i ، مورچه k ، ند بعدي j را برمبناي احتمال زير انتخاب مي كند • :مجموعه ندهاي در دسترس متصل به ند i براي مورچه k • وقتي به مقصد برسيم حلقه ها پاك مي شوند ACA 14 Ant Colony Algorithm
تبخیر فرومون • برای بهبود اکتشاف و جلوگیری از همگرایی زودرس • P: نرخ تبخیر فرومون • باعث می شود مورچه ها تصمیمات قبلی را فراموش کنند • P: کنترل تاثیر تاریخچه جستجو • برای مقادیر بزرگتر : تبخیر سریعتر فرومون ، جستجوی تصادفی ACA 14 Ant Colony Algorithm
بروز رسانی فرومون • که: • طول مسیر ساخته شده بوسیله مورچه k در زمان t • Nk: تعداد مورچه ها ACA 15 Ant Colony Algorithm
نکات مهم • ساخت راه حل نتیجه رفتار همکارانه ایست که از رفتار ساده افراد مورچه پدید آمده است • پیوند بعدی برای هر مورچه از مسیر بوسیله دیگر مورچه ها فراهم می شود • از طریق فرومون رسوب شده • اطلاعات استفاده شده براي كمك در امر تصميم گيري بوسيله محيط محلي مورچه ها محدود شده است ACA 16 Ant Colony Algorithm
سیستم مورچه • اولین الگوریتم ACO توسط Dorigo ابداع شده است • احتمال گذر • که • ԏij اثر بخشی بعدی از حرکت از ند i به j بر اساس شدت فرومون • ηij، تاثیر قبلی از حرکت از ند i به j – مطلوبیت حرکت ACA 17 Ant Colony Algorithm
سازش بین اکتشاف و بهره برداری • تعادل بین شدت فرومون τijاطلاعات هیوریستیک ηij • اگر α= 0یعنی • هیچ اطلاعات فرومون استفاده نشده و چشم پوشی از نتیجه جستجوی قبلی • تبدیل جستجو به جستجوی تصادفی حریصانه • اگر β= 0 یعنی • جذابیت حرکت چشم پوشی شده • الگوریتم جستجوی شبیه SACO • اطلاعات مکاشفه ای یک بایاس صریح به سمت جذابترین راه حل • مثال: ACA 18 Ant Colony Algorithm
AS بروز رسانی فرومون در • سه روش مختلف برای به رسوب فرومون ابداع شده است • AS چرخه- مورچه: • AS تراکم – مورچه: • AS کیفیت - مورچه: ACA 19 Ant Colony Algorithm
AS الگوریتم ACA 20 Ant Colony Algorithm
سیستم کلونی مورچه • ACS در چهار جنبه با AS متفاوت است: • قانون انتقال استفاده شده • قانون تعريف شده براي بروز رساني فرومون • در آن به روز رساني فرومون محلي تعريف شده است • يك ليست كانديد براي ندهاي مخصوص مورد توجه تعريف ميشود ACA 21 Ant Colony Algorithm
سیستم کلونی مورچه • ACS در چهار جنبه با AS متفاوت است: • قانون انتقال استفاده شده • قانون تعريف شده براي بروز رساني فرومون • بهترين مورچه سراسري اجازه تقویت غلظت فرومون روي لينكهاي متناظر با بهترين مسير • در آن به روز رساني فرومون محلي تعريف شده است • يك ليست كانديد براي ندهاي مخصوص مورد توجه تعريف ميشود ACA 22 Ant Colony Algorithm
سازماندهی گورستان و مراقبت از بچه ها :مورچه های واقعی • سازماندهی گورستان: • در بسیاری از گونه ها نمایش رفتار اجساد خوشه ای را برای تشکیل گورستان • به نظر می رسد هر مورچه انفرادی رفتار می کند، حرکت تصادفی در فضا برای برداشتن و یا گذاشتن اجساد • تصمیم به بلند کردن یا رها کردن جسد در محلی مبتنی براطلاعات مربوط به موقعیت فعلی مورچه ها • رفتار خیلی ساده فردی و پیدایش یک رفتار پیچیده از تشکیل خوشه • مراقبت از فرزندان: • لاروها مرتب می شوند ، طبقات مختلف با حلقه های متحد المرکز • لاروهای کوچکتر در مرکز و بزرگترها در حاشیه ACA 23 Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه • رفتارهای محلی: • آیتم ها در نواحی با تراکم کمتر برداشته می شوند • آیتم ها در محل هایی که از همان نوع وجود دارند گذاشته می شوند • فرضیات: • تنها یک نوع آیتم وجود دارد • آیتم ها به صورت تصادفی روی یک گرید دو بعدی قرار می گیرند • هر نقطه گرید تنها شامل یک آیتم است • مورچه ها هم صورت تصادفی بر روی شبکه قرار داده شده • مورچه ها در جهت تصادفی یک سلول در یک زمان حرکت می کنند ACA 24 Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه(ادامه) • یک مورچه بر اساس احتمال تصمیم به برداشتن یک آیتم می کند • ʎ بخشی از آیتم هاست که مورچه در همسایگی اش می بیند • >01Ƴ • احتمال انداختن بار توسط مورچه دارای بار • >01Ƴ ACA 25 Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه(ادامه) • محاسبه فراوانی آیتم: • هر مورچه موجودی T آخرین مرحله زمان را نگه می دارد • سپس • nλ تعداد آیتم های مورد مواجهه • توسعه برای بیش از یک آیتم: • A,B را بعنوان دو نوع آیتم در نظر می گیریم • احتمال برداشتن و گذاشتن را مشابه بالا در نظر می گیریم • جایگزینی ʎ با ʎA و ʎB وابسته به نوع آیتم مورد مواجهه ACA 26 Ant Colony Algorithm
Lumer-Faietaالگوریتم • یک مدل عمومی برای بردارهای داده خوشه ای با عناصر یا مقدار حقیقی • اندازه گیری شباهت ،d(ya, yb)- فاصله اقلیدسی • چگونگی گروه بندی آیتم ها • فاصله داخل خوشه ها كمينه باشد.به اين معني كه مسافت بين بردارهاي داده با يك خوشه بايد كوچك با شد تا يك خوشه متراكم و جمع و جور تشكيل شود. • مسافت بين خوشه ها بيشينه باشد كه خوشه هاي مختلف به خوبي از هم جدا باشند. ACA 27 Ant Colony Algorithm
:Lumer-Faietaالگوریتم تخمین تراکم • تخمین تراکم محلی با توجه به بردار ya: • 0>𝜸 مقياس عدم تشابه بين آیتم های ya و yb را تعريف مي كند • ثابت 𝜸 تعيين مي كند كه چه موقع دو آيتم بايد كنار يكديگر باشند و يا نباشند • مقدار 𝜸 خيلي بزرگ :ممكن است آيتم هاي خوشه ها با هم ادغام شوند در صورتي كه متعلق به يك خوشه نيستند • 𝜸 خيلي كوچك :خوشه هاي بسياري تشكيل مي شود يعني آيتم ها متعلق به يك خوشه هستند ولي در خوشه هاي جداگانه طبقه بندي مي شوند ACA 28 Ant Colony Algorithm
:Lumer-Faietaالگوریتم احتمالات • احتمال برداشتن: • احتمال گذاشتن: ACA 29 Ant Colony Algorithm
:Lumer-Faietaالگوریتم ACA 30 Ant Colony Algorithm
:Lumer-Faietaالگوریتم نکات • سایز گرید: • تعداد سایت ها باید از تعداد بردارهای داده بیشتر باشد • اگر تعداد سایتها و بردارهای داده برابر باشند؟ • تعداد مورچه ها: • باید تعداد مورچه ها کمتر از بردارهای داده باشد • اگر تعداد مورچه ها بیشتر از بردارهای داده باشد؟ ACA 31 Ant Colony Algorithm
مقايسه ACA و GA • حل مسئله فروشنده دورهگرد توسط الگوريتم کلونی مورچهها (1) τij(t+1) = (1-ρ) τij(t) + Δ τij(t) (2) (3) ACA 32 Ant Colony Algorithm
مقايسه ACA و GA در سيستم Ant-cycle : (4) در سيستم Ant-quantity : (5) در سيستم Ant-density : (6) ACA 33 Ant Colony Algorithm
شروع تعريف پارامترها، مقداردهی اوليه با توجه به فرمول (1)، تاوفتی سيکل اتمام نيافتهاست هر مورچه به رأس بعدی حرکت میکند. محاسبه هر مورچه؟ طول مسير و ثبت بهترين راه حل بروزرسانی فرومون با توجه به فرمول 2-4 به آخرين اجرا رسيدهاست؟ خير پايان نمايش بهترين جواب مقايسه ACA و GA ACA 34 Ant Colony Algorithm
مقايسه ACA و GA • حل مسئله فروشنده دورهگرد توسط الگوريتم ژنتيک • حالت نمايش : نشان دادن مسير در هر عضو : (7,4,9,5,6,1,2,8,10) • برازندگی : طول مسير طی شده ACA 35 Ant Colony Algorithm
شروع پايان تعريف پارامترها، مقداردهی اوليه نمايش بهترين جواب محاسبه برازندگی هر عضو شرط پايان برآورده شده است؟ بله خير 0 ←k t+1←t K ≥ N بله خير انتخاب دو والد بر اساس برازندگی اعضا بله round[0,1] < pc? عمليات جفتگيری دو والد درج والدهها در نسل P(t+1) پس از تغيير درج فرزندان حاصل در نسل P(t+1) پس از تغيير K+1←k مقايسه ACA و GA ACA 36 Ant Colony Algorithm
مقايسه ACA و GA ACA 37 Ant Colony Algorithm
مقايسه ACA و GA • هر دو الگوريتم به همگرايی زودرس تمايل دارند • انتخاب مقادير پارامترها از نظر تئوری ثابت نشده است و تنها با استفاده از تجربه میتوان به يک ترکيب بهينه دست يافت • هيچ الزام برای جستجوی فضا وجود نداردخاصی ACA 38 Ant Colony Algorithm
مقايسه ACA و GA • اما فقدان فرومون در مقداردهی اوليه منجر به سرعت کمتر در همگرايی میشود • الگوريتم ژنتيک توانايی انجام جستجوی سراسری سريع را دارد، اما از بازخورد اطلاعات سيستم استفاده نمیگردد • وقتی تعداد شهرها بسيار زياد باشد، الگوريتم ژنتيک نمیتواند در تعداد تکرار متناهی به جواب بهينه برسد • کلونی مورچهها بهتر عمل میکند ACA 39 Ant Colony Algorithm
MACS-VRPTW • مجموعهای از وسايل نقليه بايستی به تعدادی از مشتريان سرويس دهند • هدف کمينه سازی تعداد وسايل مورد استفاده و مسافت طی شده است • جواب مسئله مجموعهای از مسيرها میباشدکه در آن هرکدام از مشتريان فقط يکبار ملاقات شدهاند ACA 40 Ant Colony Algorithm
MACS-VRPTW ACA 41 Ant Colony Algorithm
MACS-VRPTW • ACS-VEI ← کمينه نمودن تعداد سفرها (وسايل نقليه) • ACS-TIME ← کمينه نمودن زمان کل سفر ACA 42 Ant Colony Algorithm
MACS-VRPTW ACA 43 Ant Colony Algorithm
MACS-VRPTW ACA 44 Ant Colony Algorithm
MACS-VRPTW ACA 42 Ant Colony Algorithm
MACS-VRPTW ACA 43 Ant Colony Algorithm
منابع MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows , In D. Corne, M. Dorigo and F. Glover, 1999 Comparative Analysis of Genetic Algorithm and Ant Colony Algorithm on Solving Traveling Salesman Problem , Kangshun Li, Lanlan Kang, Wensheng Zhang, Bing Li, 2008 Computational Intelligence, Second Edition,Andries P. Engelbrecht,2007 Ant Colony Optimization,Marco Dorigo and Thomas Stützle,2003 Ant-based Clustering Algorithms: A Brief Survey, O.A. Mohamed Jafar and R. Sivakumar,2010 ACA 44 Ant Colony Algorithm
يک امروز ارزش دو فردا را دارد Thanks For Your Patience! با تشکر از دکتر ميرزايی