ACO یا Ant Colony Oprimization یک راه حل برای مسئلههای با فضای حالت بزرگ یا NP است که تقریبا همانند الگوریتمهای Genetic است ولی در عمل نسبت به آن بهتر است . آنچه در ادامه می آید قسمتی از یک مقاله در مورد کاربردهای Data Mining و ACO است .
مورچهها حشرههای مستقلی هستند که فعالیت اشتراکی دارند به ظاهر یک از مورچه فعال در یک کلونی مستقل از دیگری فعالیت میکند ولی در واقع کلیه مورچهها در قالب یک سیستم جهت حل یک مسئله پیچیده با هم همکاری میکنند . مسئله مهم در رابطه مورچهها و به طور کلی حشرات مسئله وابستگی بقا است . مورچهها غذا را جستجو میکنند و آن را به شکل مناسب نگهداری و انبار میکنند حل این مسئله نیاز به برنامهریزی پیشرفته دارد مورچهها این عملیات را بدون هر گونه کنترل مرکزی و نظارت متمرکز انجام میدهند به همین دلیل به حشرات به طور کلی گروه هوشمند میگویند .
در این مقاله ما به بررسی رفتار مورچههای واقعی ، در زمان جستجو ی غذا تمرکز میکنیم . مورچهها قادرند کوتاهترین مسیر را برای یافتن غذا از لانه خود به منبع غذا جستجو نمایند . هر این فرآیند بدون هیچ گونه اطلاعات تصویری از مسیر غذا صورت می گیرد .
مورچهها به صورت غیرمستقیم و از طریق مادهای به نام فرومون با هم ارتباط بر قرار میکنند و اطلاعات مربوط به مسیرها را در اختیار یکدیگر قرار میدهند مورچهها با ترشح مقدار معینی فرومون مسیر خود را مشخص و علامت گذاری میکنند سایر مورچهها با بررسی و مشاهده فرومون موجود در مسیر ، راه یافتن غذا را پیدا میکنند این فرایند میتواند باز خورد حلقه مثبت را شرح دهد ، به این ترتیب که یک مورچه میتواند با استفاده از یک تابع احتمالی مسیر خود را انتخاب کند . هر چه تعداد مورچه های عبور کرده از یک مسیر بیشتر باشد آنگاه احتمال آنکه آن مسیر توسط مورچه بعدی انتخاب شود ، بیشتر است . در ابتدا مو رچهها پس از خارج شدن از لانه خود با احتمال مساوی به جهات مختلف ، برای یافتن غذا حرکت میکنند . مورچهها در مسیرهای ناهموار با سرعت مساوی حرکت میکنند، در مسیر خود فرومون ترشح میکنند . بعد از اینکه یک مورچه در مسیر خود غذایی پیدا کرد به سرعت از همان مسیر به سمت لانه مراجعت میکنند و میزان ترشح فرومون را در مسیر افزایش میدهد . به این ترتیب سایر مو رچهها که مسیر های دیگر را تجربه کردهاند به تدریج به یک مسیر هدایت خواهندشد .
۱- مشخصات اصلی بهینهسازی به روش کلونی مورچهها الگوریتم بهینهسازی کلونی مورچهها بر اساس یک سری عامل بنا نهاده شدهاست، بطوریکه رفتار این عاملها از رفتار طبیعی مورچهها الهام گرفته شدهاست نکته اساسی در رفتار عاملها و یا مورچهها همان همکاری و انطباق است با استفاده از این سیستم و الگوریتم میتوان یک روش فرااکتشافی برای حل مسائل بهینهسازی ترکیبی ارائه کرد این روش فرا اکتشافی دارای دو ویژگی قدرت و تنوع است . به این ترتیب میتوان به طور موفقیتآمیزی از آن در حل مسائل بهینهسازی پیچیده استفاده کرد .
الگوریتم ACO شامل بخشهای زیر است :
هر مورچه در زمان حل مسئله با مسیرهای مختلف بر خورد میکند. هنگامی که یک مورچه از یک مسیر عبور میکند میزان فرومون جدید در آن مسیر را متناسب با کیفیت مسیر افزایش میدهد هنگامی که یک مورچه با چند مسیر مختلف مواجه میشود . احتمال انتخاب مسیری که میزان فرومون آن نسبت به سایر مسیرها بیشتر باشد افزایش مییابد . بنابر این مورچهها همواره کوتاهترین مسیر را برای پیدا کردن غذا جستجو میکنند . که این حالت میتواند حالت بهینه یا نزدیک به حالت بهینه باشد .
۲- مشخصات و ماهیت الگوریتمهای ACO
چنانچه بتوان ساختار مسئله را به صورت یک گراف نمایش داد آنگاه میتوان از الگوریتمهای ACO برای یافتن کوتاهترین مسیر در گراف که همانا پاسخ مسئله است استفاده کرد . هر مورچه بصورت تکاملی اقدام به تغییر یا ساخت بخشی از پاسخ مسئله مینماید ، عملکرد کلی مورچهها وابسته به یک تابع احتمالی و یک تابع اکتشافی وابسته به مسئله است . ساختار و ماهیت الگوریتمهای ACO بصورت زیر است :
ایجاد یک متد برای ارزیابی پاسخهای تولید شده . این متد بر اساس ساختار مسئله تعریف میشود.
ارائه یک تابع اکتشافی(H) وابسته به مسئله ، این تابع میزان کیفیت itemهای قابل اضافه کردن به پاسخ مسئله را ارزیابی میکند .
یک روتین جهت بههمگام سازی میزان فرومون مسیرها(P)
ارائه یک تابع احتمالی که به کمک آن بتوان مسیرها را جهت تولید پاسخ جستجو کرد . در این تابع از تابع اکتشافی و میزان فرومون موجود در مسیرها استفاده میشود .
منبع:دانشما،تاریخ انتشار:یکشنبه11مهر1389