خانه / علوم پایه / زیست و زمین شناسی / مقاله کامل در مورد الگوریتم اجتماع مورچه (Ant Colony Algorithm)

مقاله کامل در مورد الگوریتم اجتماع مورچه (Ant Colony Algorithm)

۱- معرفی الگوریتم اجتماع مورچه
یکی از مسائلی که به وسیله ی زیست شنا سان مورد مطالعه قرار گرفته است درک این موضوع است که چگونه موجودات تقریبا کور مانند مورچه ها کوتاه ترین مسیر را از لانه ی خود تا منبع غذا و بر عکس پیدا می کنند.آن ها پی بردند که یک رسانه برای ابلاغ اطلاعات بین تک تک مورچه ها مورد استفاده قرار می-گیرد و برای تصمیم گیری درمورد این که کدام مسیر را انتخاب کنند به کار می رود که آن رسانه عبارت است از بو(اثر) ماده ای به نام فرومون.
الگوریتم های لانه ی مورچه از جمله روش های فرامکاشفه ای هستند که برای حل مسایل بهینه سازی سخت پیشنهاد شده اند. این الگوریتم ها در آغاز از رفتارهای اجتماعی پشت سرهم قرار گرفتن و تعقیب کردن الهام گرفته شد، که در جامعه ی مورچگان مشاهده گردید. یک اجتماع از عامل های ساده (مورچه¬ها) به طور غیر مستقیم از طریق تغییرات پویای (دینامیکی) محیط ارتباط برقرار می کنند (رد پاهایی از فرومون) و بنابراین بر اساس تجربه ی اجتماعی آن ها، یک راه¬حل برای یک مسئله ارائه می دهند.
در این مطالعه مدل کاوش مورچه ها Meta-Heurestic انتخاب شده است و درابتدا الگوریتمهای ساده شرح داده می شود و سپس به مطالعه سیستم AS (ant system) و سیستمACS (ant colony system) وMMAS(max-min ant system) و….. شرح داده می شود.

-۲- رفتار طبیعی مورچه

یک مورچه در حال حرکت مقداری فرومون دراندازه های گوناگون از خود بر روی زمین باقی می گذارد و بدین ترتیب مسیر را به وسیله ی بوی این ماده مشخص می سازد. هنگامی که یک مورچه به طور تصادفی و تنها حرکت میکند با روبه رو شدن با مسیری که توسط مورچه یا مورچه های قبلی انتخاب شده و دارای بوی فرومون است به احتمال زیاد آن را انتخاب می¬کند و با فرومونی که خود بر جای می گذارد بوی آن را در مسیر مذکور تقویت می نماید.
وقتی رفتار جمعی پدید می آید، گونه ای از رفتار خود تقویتی است، یعنی هرچه مورچه ها بو(اثر) ماده ی مذکور را دنبال کنند آن بو برای مورچه های پیرو آنها جذاب تر خواهد بود. فرایند گفته شده به وسیله ی یک حلقه توصیف می-شود، یعنی احتمال این که یک مورچه یک مسیر را انتخاب کند متناسب باتعداد مورچه هایی که قبلا آن مسیر را انتخاب کرده اند افزایش می یابد.
ایده این است که اگر در یک نقطه معین یک مورچه مجبور است از بین مسیرهای مختلف یکی را انتخاب کند، مسیرهایی را که توسط مورچه های قبلی بیشتر انتخاب شده اند، به عبارت دیگر سطح بوی آنها بالاتر است، با احتمال بیشتری انتخاب خواهد کرد. به علاوه سطح فرمون بالاتر معادل مسیرهای کوتاه تر خواهد بود.
الگوریتم های ACO بر پایه مدل احتمال پارامتری(مدل فرومون) قرار دارند.
مورچه های مصنوعی به طور افزایشی با اضافه کردن به جا و مناسب مولفه های راه حل تعریف شده به راه حل جزئی مورد نظر راه حلهایی را می سازند.

وقتی یک مسئله CO دارای محدودیت را در نظر می گیریم، محدودیتهای مسئله در رویه سازندهء مورچه ها ساخته می شوند به نحوی که در هر مرحله از فرایند ساخت فقط مولفه هایی از راه حل که عملی هستند می توانند به راه حل جزئی فعلی اضافه شوند. مولفه­های ci ЄC با پارامتر ردیابی فرومون  Ti متناظر می شوند و اتصالات  Lij ЄL  می توانند با پارامتر ردیابی فرومون Tij متناظر گردند.  مجموعهء کل این پارامترها با T نشان داده می­شود.

مقادیر این پارامترها ( مقادیر فرومون) به ترتیب با  نشان داده می شوند.

به علاوه مولفه ها و اتصالات به ترتیب می توانند با مقدار اکتشافی   متناظر گردند.

مجموعهء همه مقادیر را با H نشان می دهیم. . این مقادیر برای تصمیمات احتمالی مورچه ها در مورد چگونگی حرکت در گراف ساخت استفاده می گردند.احتمالات مربوط به گراف ساخت، احتمالات انتقال نامیده می شود.

بعد از مقدار دهی اولیه به مقادیر فرومون ، در هر مرحله ، هر مورچه یک راه حل را می سازد. سپس این راه حلها برای به روزرسانی مقادیر فرومون استفاده می گردند

در ابتدا، کلیهء مقادیر فرومون با یک مقدار کوچک مشابه ph>0 مقداردهی می شوند. در فاز ساخت، یک مورچه با افزودن مولفه هایی به راه حل جزئی فعلی ، به تدریج یک راه حل را ایجاد می کند.اگر هیچ نودی وجود نداشته باشد =۰ و در غیر اینصورت فرآیند انجام و به می رسد.ودر صورت افتادن در حلقه باید ان مسیر حذف و دوباره عملیات انجام گردد. در مقادیر بالا برای  مقدار فرمون را تقویت میکندو دراین حال گره های اصلی بدست آمده وحلقه ها از بین می روند.وبرای فرمون اضافه شده استفاده می گردد.

وبرای هر مسیر پیموده شده  برای K مورچه :

و این بدین معنی است که تعداد عبور ومرور برای هر مسیر طی شده بصورت معمولی باشد در هر بار مقدار F(xk(t)) فرمون بدست می آید و اگر  برای همه یکسان باشد بنابراین تنها مسیری متفاوت خواهد بود که کوتاهتر باشد.و همچنین مقدار کاهش فرمون  F(xk(t))/1 خواهد بود.

بنا براین مقدار طول مسیرها مقدار F  را کاهش داده و مورچه ها مجبور می شوند مسیر کوتاهتر را پیدا نموده وتغییر مسیر دهند و مانع همگرایی قبل از موعد گردند والگوریتم ان بصورت زیر خواهد بود.

  • مقادیر ضمنی : رفتار مورچه ها در طول مسیر متفاوت تحت تاثیر بقیه مورچه ها قرار دارد.
  • مقادیر صریح: مقادیر فرمون تولید شده متناسب با مقدار فرمون محیط است.

در الگوریتم باید شدت تکرار   قبل از استحکام مسیرهای جدید برای انها محاسبه شود.             با

مقدار نرخ تغییر  فرمون است زیرا  برای کنترل یادآوری مسیر قبلی است

در مقادیر بالا فرمون بسرعت رشد می کند و اگر  کم شود نرخ رشد کاهش می یابد  =۱ باشد جستجو کاملا تصادفی خواهد بود.برای مورچه ها انتخاب مسیر بعدی وابسته به اطلاعاتی است که مورچه های دیگر از طریق فرمون بجا گذاشته اند بنابراین در یک محیط محلی انتخاب مسیر بعدی تصادفی نخواهد بود.

SACO:

۱)بطور معمول در گرافهای ساده نزدیکترین مسیر انتخاب می شوند.

۲) در گرافهای بزرگتر،اگر در پارامترهای انتخابی حساسیت کم باشد کارایی کم می شود :

الف:همگرایی در مسیرهای کوتاه برای تعداد مشخص مورچه خوب است.

ب:اگر =۰ یعنی تغییرات نداریم و الگوریتم همگرا نیست.

ج:اگر کم باشد در مسیر کوتاه همگرایی داریم برای مقادیر بالا باید رفتار همگرا داشته باشد.

 

Early ant algorithm:

در مطالعه الگوریتم ACO تصمیم گیری برای طول مسیر بود که با افزایش طول مسیر کارایی آن پایین می امدو تغییراتی نیز برای اضافه شدن اطلاعات(فرمون) و اکتشاف لینکهاو حافظه برای هر دوره و بروز زسانی لینکها باید داشته باشیم.

Ant system:

اولین الگوریتم پیشرفته بوسیله دوریگو مورد مطالعه قرار گرفت و این پیشرفت روی SACO ،بوسیله تغییرات در  وتغییرات در اکتشاف لینکها و اضافه نمودن حافظه می باشد.

در AS تغییرات نود I  به j بصورت:

اولویت اثردر  محاسبه هیورستیک  به هنگام حرکت از نود I به j  در مقدار اثرگذار بوده ومقدار  کم میگردد.

مقدار تمرکز فرمون در هنگام حرکت باید نگهداری شود.

پس پارامترهای  و  در حفظ شده و باالگوریتم اکتشافی GREEDY مقدارآنها محاسبه می گردد.

مسائلی که درآنها هزینه و یا فاصله کمینه  مورد نیاز است   با  محاسبه می شوند.

وبرای طی نشدن مسیری خاص می توان یک لیست ممنوع تولید کرد(حلقه مانع که نباید توسط مورچه ها طی شود )ومورچه در هنگام دیدن یک نود جدید آن را با لیست ممنوع مقایسه وسپس تصمیم می گیرد که انرا طی کند یا نه؟

و فرمول محاسبه حلقه مانع:

پارامتر مقدار فرمون در اتصال   با مقدار  است.و برای مقادیر کم ، و پارامتر باید از آن بیرون رود.

 

برای مورچه بعدی  با مقدار  محاسبه می گردد.برای تشخیص سیکل:

در چرخه پیاده سازی شده فرمون با مقدار  در توابع اصلی بروز رسانی میشود و Q مقدار مثبت ان است. اگر سیکلی وجود دارد مقدار فرمون را بروز برسان.

برای آنکه بتوانیم تراکم مورچه ها را در سیکل محاسبه کنیم.

فرمون در مسیر با تراکم بالا محاسبه می گرددو برای کمیت مورچه ها نیز چون اطلاعات بصورت محلی ذخیره می گردندباید بروز زسانی شوند

در این الگوریتم تمامی مکانها به مورچه ها اعلام گردید و جایگاه مورچه ها نیز بصورت تصادفی قرار گرفت و کوتاهترین مسیر نیز اعلام شد.

T=0

Initialize all parameters i.e.

Place all ants k=1 ,…, nk

For each link (I,j) do

End

Repeat

For each ant k= 1,….,nk  do

xk (t)=0

repeat

from current node  I , select next node j with probability as defined in equation (23.6)

xk (t) = xk (t) {(I,j)}

until  full path has been constructed;

compute  f(xk (t));

end

for each link (I,j) do

apply evaporation using equation (23.5);

calculate  using equation(23.10)

update pheromone using  equation (23.4)

end

for each link ( I,j) do

ti,j (t +1)  = t I,j (t);

end

t= t+1;

until stopping condition is true;

return xk (t) : f(xk (t)) = min k=1,…,nk {f(x(t))};

 

تفاوت ACS  با AS :

۱)افزایش مسیرهای متفاوت برای  پیمودن

۲)در مسیرها فرمون متفاوت تولید می گردد.

۳)مکان فرمون محلی بروز می شود.

۴)لیست کاندید برای هر نود تعریف می شود.

در ACS قانون افزایشی موجب انجام پردازش تصادفی متناسب با مسیر می شود.توانایی اکتشاف واستخراج نودها بالا می رود.K مورچه در مکان نود جاری هستند پس به نود بعدی حرکت می کنند.

قانون افزایش برای ایجاد نود بعدی مقدار فرمون بیشتر است پس انتخاب نود بعدی بصورت تصادفی خواهد بود.

پارامتر برای افزایش اکتشاف واستخراج بهترین نود است در این الگوریتم در صورت یعنی مسیر کوتاهتر ومحکمتر شده است.

۱)بهترین تکرار ،جائیکه  بدست اورده و بهترین مسیر در زمان تکرار در نقطه بدست امده است.

۲)بهترین ناحیه سراسری ، جائیکه  بدست اورده است.

فرمون با مقدار  برای مسیرهای کوتاه مناسب بود پس مقدار قبلی با جدید اضافه می گردد.

ACS نزدیکترین همسایگی را نیز پیدا میکند و شرایط نودها در اولین برخورد قرار می دهد.در لیست شرایط بوسیله کاهش فاصله نود بعدی را انتخاب می کند و اگر لیست کاندید خالی بود نود بعدی انتخاب می گردد.و شرایط جدید نزدیکترین شرایط به قبلی باشد.

 

الگوریتم MAX-MIN

سیستم مورچه برای مسائل پیچیده ایستا استفاده می شود که ایستایی در اینجا برای همه مورچه ها مسیر یکسان را تعریف می کند و  در هنگام استخراج اکتشاف مقدار فرومون بالا می رود . (استاتزل و هاس) سیستم مورچه

max-min  را نا م MMAS برای حل مسئله ارائه دادند و تفاوت  آن با AS

شدت فرومون تطبیق داده شده در فاصله محدود است که مقدار بهترین فرومون با بیشترین مقدار را تایید می کندو در آن از مکانیسم هموار سازی فرومون استفاده می گردد.

ایستایی در نقطه تمرکز فرومون ti,j در بیشتریم مقدار و بهترین تکرار مسیر با فاکتور شاخه  با مقدار ۰.۰۵     هست. در نقطه ایستاییکاهش می یابد.

زیرا  به وسیله تعداد لینک های نود تعریف می شود.

خروجی الگوریتم max-min تغییر رنج برای همه  ti,j   گسترش می دهد. و در این نسخه tmin   , , t max  پارامترهای استاتیک وابسته هستندو مقدار جدید برای تابع فرومون تمرکز یافته در مقادیر بالاست و همچنین به رشد سریع فرومون و بهترین همگرایی کمک می کندو کاهش تغییرات در لینکهای پایین تئوری کاهش توانایی نامیده می شودو فرایند جستجوی سراسری در الگوریتم های بعدی مورد استفاده قرار می گیرد.

 

 

درباره ی sharafiyan

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *