ACA Ant Colony Algorithm Samanehsadegh Zeynab Haji Hadi 1389 پاييز عناوين مطالب درباره مورچه ها بهینه سازی کلونی مورچه فرا مکاشفه ای سازماندهی گورستان و مراقبت از بچه ها بررس ی.
Download
Report
Transcript ACA Ant Colony Algorithm Samanehsadegh Zeynab Haji Hadi 1389 پاييز عناوين مطالب درباره مورچه ها بهینه سازی کلونی مورچه فرا مکاشفه ای سازماندهی گورستان و مراقبت از بچه ها بررس ی.
ACA
Ant Colony Algorithm
Samanehsadegh
Zeynab Haji Hadi
1389 پاييز
عناوين مطالب
درباره مورچه ها
بهینه سازی کلونی مورچه فرا مکاشفه ای
سازماندهی گورستان و مراقبت از بچه ها
بررسی مقايسهای الگوريتم کلونی مورچهها و
الگوريتم ژنتيک در حل مسئله فروشنده
دورهگرد
کاربرد الگوريتم کلونی مورچهها در حل
مسائل مسيريابی وسايل نقليه
()MACS-VRPTW
ACA
Ant Colony Algorithm
درباره مورچه ها
ACA
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
Ant Colony Algorithm
رفتار تالشگرانه مورچه ها
چگونگی پیدا نمودن کوتاهترین مسیر
بدون بینای ی
مرکزیت
مکانیسم همکاری فعال
نتایج مطالعات اولیه:
در ابتدا ،مکانیسم تصادفی برای پیدا نمودن غذا
بعد از پیدا شدن منبع غذا ،طرح فعالیت سازمان یافته تر
پیروی مورچه های بیشتر و بیشتر از مسیر یکسان
جادوی ی و خودکار،کوتاهترین مسیر انتخاب شده
رفتار پدید امده نتیجه رد فرومون
ACA
Ant Colony Algorithm
رفتار تالشگرانه مورچه ها(ادامه)
رفتار هرج و مرج گرایانه – بازخورد مثبت:
ترشح فرومون توسط مورچه های تالشگر
احتمال انتخاب بیشتر برای مسیر با غلظت فرومون بیشتر
مطلوبیت بیشتر مسیر بوسیله تقویت فرومون ذخیره شده
تابعیت سایر مورچه ها برای انتخاب مسیر یاد شده
Stigmergy
ارتباط غیر مستقیم،تغییر محیط بوسیله ترشح فرومون ،تاثیر روی رفتار سایر مورچه ها
ACA
Ant Colony Algorithm
رفتار تالشگرانه مورچه ها(ادامه)
ازمایش پل:
احتمال انتخاب مسیر Aبرای مورچه بعدی:
nA(t) و):nB(tتعداد مورچه ها روی مسیر Aو Bدر لحظه t
c درجه جذب یک مسیر ناشناخته :مقدار بیشتر ، cمقدار فرومون رسوب شده مورد نیازبیشتر برای
عدم انتخاب مسیر تصادفی
α تحت تاثیر استفاده از فرومون رسوب شده در فرایند تصمیم :مقدار باالتر ،احتمال بیشتر برای عبور
مورچه بعدی از مسیر با غلظت فرومون باالتر
ACA
Ant Colony Algorithm
رفتار تالشگرانه مورچه ها(ادامه)
توسعه پل باینری:
افزایش احتمال انتخاب مسیر کوتاه تر متناسب با طول بین دو مسیر
ACA
Ant Colony Algorithm
رفتار تالشگرانه مورچه ها(ادامه)
شبیه سازی مورچه ها بعنوان عاملهای مصنوعی
هر مورچه عمل ساده اي انجام ميدهد ،ولي در نهايت کلوني مورچه ها مساله اي پيچيده را حل مي
کنند.
تفاوت های مورچه های واقعی با مصنوعی:
حافظه :براي مورچه هاي مصنوعي مي توان يک حافظه در نظر گرفت که مسيرهاي حرکت را در
خود نگه دارند.
موانع ساختگي :تغيير دادن جزئيات مساله براي بررسي الگوريتم و رسيدن به جواب هاي متنوع.
حيات در محيط گسسته :مورچه هاي واقعي نمي توانند جدا از کلوني به حيات خود ادامه
دهند.
ACA
Ant Colony Algorithm
الگوریتم های مورچه
الگوریتم های مبتنی بر جمعیت الهام گرفته از رفتار مشاهده شده بوسیله مورچه ها
همکاری بین افراد در این الگوریتم ها بر مبنای مکانیسم ارتباط stigmergicمشاهده شده در
کلونی مورچه های واقعی
الگوریتم ها بر مبنای رفتار تالشگرانه مورچه ها :بهینه سازی فرا مکاشفه ای کلونی مورچه
ACA
Ant Colony Algorithm
، SACOبهینه سازی کلونی مورچه ساده
یک پیاده سازی الگوریتمی از ازمایش پل باینری
در نظر گرفتن مسئله عمومی پیدا کردن کوتاهترین مسیر بین دو ند
ACA
Ant Colony Algorithm
الگوریتم، SACO
ACA
Ant Colony Algorithm
ساخت مسیر در SACO
براي هر تكرار هر مورچه يك مسير افزايشي مي سازد(راه حل)
jرا برمبناي احتمال زير انتخاب مي كند
در ند ، iمورچه ، kند بعدي
: مجموعه ندهاي در دسترس متصل به ند iبراي مورچه k
وقتي به مقصد برسيم حلقه ها پاك مي شوند
ACA
Ant Colony Algorithm
تبخیر فرومون
برای بهبود اک تشاف و جلوگیری از همگرای ی زودرس
:Pنرخ تبخیر فرومون
باعث می شود مورچه ها تصمیمات قبلی را فراموش کنند
:Pکنترل تاثیر تاریخچه جستجو
برای مقادیر بزرگ تر :تبخیر سریعتر فرومون ،جستجوی تصادفی
ACA
Ant Colony Algorithm
بروز رسانی فرومون
که:
طول مسیر ساخته شده بوسیله مورچه kدر زمان t
:Nk تعداد مورچه ها
ACA
Ant Colony Algorithm
نکات مهم
ساخت راه حل نتیجه رفتار همکارانه ایست که از رفتار ساده افراد مورچه پدید امده است
پیوند بعدی برای هر مورچه از مسیر بوسیله دیگر مورچه ها فراهم می شود
از طریق فرومون رسوب شده
اطالعات استفاده شده براي كمك در امر تصميم گيري بوسيله محيط محلي مورچه ها محدود شده
است
ACA
Ant Colony Algorithm
سیستم مورچه
اولین الگوریتم ACOتوسط Dorigoابداع شده است
احتمال گذر
که
ԏij اثر بخشی بعدی از حرکت از ند iبه jبر اساس شدت فرومون
،ηij تاثیر قبلی از حرکت از ند iبه – jمطلوبیت حرکت
ACA
Ant Colony Algorithm
سازش بین اک تشاف و بهره برداری
تعادل بین شدت فرومون τijاطالعات هیوریستیک ηij
اگر α= 0یعنی
هیچ اطالعات فرومون استفاده نشده و چشم پوشی از نتیجه جستجوی قبلی
تبدیل جستجو به جستجوی تصادفی حریصانه
اگر β= 0یعنی
جذابیت حرکت چشم پوشی شده
الگوریتم جستجوی شبیه SACO
اطالعات مکاشفه ای یک بایاس صریح به سمت جذابترین راه حل
مثال:
ACA
Ant Colony Algorithm
بروز رسانی فرومون در AS
سه روش مختلف برای به رسوب فرومون ابداع شده است
AS چرخه -مورچه:
AS تراکم – مورچه:
AS کیفیت -مورچه:
ACA
Ant Colony Algorithm
AS الگوریتم
ACA
Ant Colony Algorithm
سیستم کلونی مورچه
ACS در چهار جنبه با ASمتفاوت است:
قانون انتقال استفاده شده
قانون تعريف شده براي بروز رساني فرومون
در ان به روز رساني فرومون محلي تعريف شده است
يك ليست كانديد براي ندهاي مخصوص مورد توجه تعريف ميشود
ACA
Ant Colony Algorithm
سیستم کلونی مورچه
ACS در چهار جنبه با ASمتفاوت است:
قانون انتقال استفاده شده
قانون تعريف شده براي بروز رساني فرومون
بهترين مورچه سراسري اجازه تقویت غلظت فرومون روي لينكهاي متناظر با بهترين
مسير
در ان به روز رساني فرومون محلي تعريف شده است
يك ليست كانديد براي ندهاي مخصوص مورد توجه تعريف ميشود
ACA
Ant Colony Algorithm
سازماندهی گورستان و مراقبت از بچه ها
:مورچه های واقعی
سازماندهی گورستان:
در بسیاری از گونه ها نمایش رفتار اجساد خوشه ای را برای تشکیل گورستان
به نظر می رسد هر مورچه انفرادی رفتار می کند ،حرکت تصادفی در فضا برای برداشتن و یا
گذاشتن اجساد
تصمیم به بلند کردن یا رها کردن جسد در محلی مبتنی براطالعات مربوط به موقعیت فعلی
مورچه ها
رفتار خیلی ساده فردی و پیدایش یک رفتار پیچیده از تشکیل خوشه
مراقبت از فرزندان:
الروها مرتب می شوند ،طبقات مختلف با حلقه های متحد المرکز
الروهای کوچک تر در مرکز و بزرگ ترها در حاشیه
ACA
Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه
رفتارهای محلی:
ایتم ها در نواحی با تراکم کمتر برداشته می شوند
ایتم ها در محل های ی که از همان نوع وجود دارند گذاشته می شوند
فرضیات:
تنها یک نوع ایتم وجود دارد
ایتم ها به صورت تصادفی روی یک گرید دو بعدی قرار می گیرند
هر نقطه گرید تنها شامل یک ایتم است
مورچه ها هم صورت تصادفی بر روی شبکه قرار داده شده
مورچه ها در جهت تصادفی یک سلول در یک زمان حرکت می کنند
ACA
Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه(ادامه)
یک مورچه بر اساس احتمال تصمیم به برداشتن یک ایتم می کند
ʎ بخشی از ایتم هاست که مورچه در همسایگی اش می بیند
Ƴ1>0
احتمال انداختن بار توسط مورچه دارای بار
Ƴ1>0
ACA
Ant Colony Algorithm
الگوریتم خوشه بندی مورچه پایه(ادامه)
محاسبه فراوانی ایتم:
هر مورچه موجودی Tاخرین مرحله زمان را نگه می دارد
سپس
nλتعداد ایتم های مورد مواجهه
توسعه برای بیش از یک ایتم:
A,B را بعنوان دو نوع ایتم در نظر می گیریم
احتمال برداشتن و گذاشتن را مشابه باال در نظر می گیریم
جایگزینی ʎبا ʎAو ʎBوابسته به نوع ایتم مورد مواجهه
ACA
Ant Colony Algorithm
الگوریتم Lumer-Faieta
یک مدل عمومی برای بردارهای داده خوشه ای با عناصر یا مقدار حقیقی
اندازه گیری شباهت - d(ya, yb)،فاصله اقلیدسی
چگونگی گروه بندی ایتم ها
فاصله داخل خوشه ها كمينه باشد.به اين معني كه مسافت بين بردارهاي داده با يك خوشه بايد
كوچك با شد تا يك خوشه متراكم و جمع و جور تشكيل شود.
مسافت بين خوشه ها بيشينه باشد كه خوشه هاي مختلف به خوبي از هم جدا باشند.
ACA
Ant Colony Algorithm
الگوریتم :Lumer-Faieta
تخمین تراکم
تخمین تراکم محلی با توجه به بردار :ya
𝜸>0 مقياس عدم تشابه بين ایتم های yaو ybرا تعريف مي كند
ثابت 𝜸 تعيين مي كند كه چه موقع دو ايتم بايد كنار يكديگر باشند و يا نباشند
مقدار 𝜸 خيلي بزرگ :ممكن است ايتم هاي خوشه ها با هم ادغام شوند در صورتي كه
متعلق به يك خوشه نيستند
𝜸 خيلي كوچك :خوشه هاي بسياري تشكيل مي شود يعني ايتم ها متعلق به يك خوشه
هستند ولي در خوشه هاي جداگانه طبقه بندي مي شوند
ACA
Ant Colony Algorithm
الگوریتم :Lumer-Faieta
احتماالت
احتمال برداشتن:
احتمال گذاشتن:
ACA
Ant Colony Algorithm
:Lumer-Faieta الگوریتم
ACA
Ant Colony Algorithm
الگوریتم :Lumer-Faieta
نکات
سایز گرید:
تعداد سایت ها باید از تعداد بردارهای داده بیشتر باشد
اگر تعداد سایتها و بردارهای داده برابر باشند؟
تعداد مورچه ها:
باید تعداد مورچه ها کمتر از بردارهای داده باشد
اگر تعداد مورچه ها بیشتر از بردارهای داده باشد؟
ACA
Ant Colony Algorithm
مقايسه ACAو GA
حل مسئله فروشنده دورهگرد توسط الگوريتم کلونی مورچهها
)(1
+ Δ τij(t+1) = (1-ρ) τ
)(2
)ij(t)τij(t
)(3
ACA
Ant Colony Algorithm
GA وACA مقايسه
: Ant-cycle در سيستم
(4)
: Ant-quantity در سيستم
(5)
: Ant-density در سيستم
(6)
ACA
Ant Colony Algorithm
مقايسه ACAو GA
شروع
تعريف پارامترها،
مقداردهی اوليه
با توجه به فرمول ( ،)1تاوفتی سيکل اتمام نيافتهاست هر مورچه به رأس بعدی حرکت میکند.
محاسبه هر مورچه؟ طول مسير و ثبت بهترين راه حل
بروزرسانی فرومون با توجه به فرمول 4-2
خير
به آخرين اجرا رسيدهاست؟
نمايش بهترين جواب
پايان
ACA
Ant Colony Algorithm
مقايسه ACAو GA
حل مسئله فروشنده دورهگرد توسط الگوريتم ژنتيک
حالت نمايش :نشان دادن مسير در هر عضو :
)(7,4,9,5,6,1,2,8,10
برازندگی :طول مسير طی شده
ACA
Ant Colony Algorithm
مقايسه ACAو GA
شروع
تعريف پارامترها،
مقداردهی اوليه
پايان
محاسبه برازندگی هر عضو
نمايش بهترين جواب
شرط پايان برآورده شده است؟
خير
بله
k←0
t ← t+1
بله
K≥N
خير
انتخاب دو والد بر اساس برازندگی اعضا
بله
?round[0,1] < pc
عمليات جفتگيری دو والد
درج والدهها در نسل )P(t+1پس از
تغيير
درج فرزندان حاصل در نسل )P(t+1پس از
تغيير
k ← K+1
ACA
Ant Colony Algorithm
GA وACA مقايسه
ACA
Ant Colony Algorithm
مقايسه ACAو GA
هر دو الگوريتم به همگراي ی زودرس تمايل دارند
انتخاب مقادير پارامترها از نظر تئوری ثابت نشده است و تنها با استفاده از تجربه میتوان به
يک ترکيب بهينه دست يافت
هيچ الزام برای جستجوی فضا وجود نداردخاصی
ACA
Ant Colony Algorithm
مقايسه ACAو GA
اما فقدان فرومون در مقداردهی اوليه منجر به سرعت کمتر در همگراي ی میشود
الگوريتم ژنتيک تواناي ی انجام جستجوی سراسری سريع را دارد ،اما از بازخورد اطالعات
سيستم استفاده نمیگردد
وقتی تعداد شهرها بسيار زياد باشد ،الگوريتم ژنتيک نمیتواند در تعداد تکرار متناهی
به جواب بهينه برسد
کلونی مورچهها بهتر عمل میکند
ACA
Ant Colony Algorithm
MACS-VRPTW
مجموعهای از وسايل نقليه بايستی به تعدادی از مشتريان سرويس دهند
هدف کمينه سازی تعداد وسايل مورد استفاده و مسافت طی شده است
جواب مسئله مجموعهای از مسيرها میباشدکه در ان هرکدام از مشتريان فقط يکبار
مالقات شدهاند
ACA
Ant Colony Algorithm
MACS-VRPTW
ACA
Ant Colony Algorithm
MACS-VRPTW
← ACS-VEI کمينه نمودن تعداد سفرها (وسايل نقليه)
← ACS-TIME کمينه نمودن زمان کل سفر
ACA
Ant Colony Algorithm
MACS-VRPTW
ACA
Ant Colony Algorithm
MACS-VRPTW
ACA
Ant Colony Algorithm
MACS-VRPTW
ACA
Ant Colony Algorithm
MACS-VRPTW
ACA
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
Ant Colony Algorithm
يک امروز ارزش دو فردا را دارد
!Thanks For Your Patience
با تشکر از
دک تر ميرزاي ی