Алгоритъмът за оптимизация по метода на мравките (ant colony optimization, ACO) е вероятностен подход за решаване на изчислителни задачи, който може да бъде сведен до откриване на добри пътища през граф.

Основният такъв алгоритъм и неговите различни модификации образуват подмножество на класа алгоритми за метаевристична оптимизация.

За първи път предложен от проф. Марко Дориго в докторската му дисертация от 1992 година A. Colorni, M. Dorigo et V. Maniezzo, Distributed Optimization by Ant Colonies, actes de la première conférence européenne sur la vie artificielle, Paris, France, Elsevier Publishing, 134 – 142, 1991.M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Politecnico di Milano, Italie, 1992., оригиналният алгоритъм за оптимизация по метода на мравките е имал за цел да търси оптимален път в граф на базата на поведението на мравките, търсещи път между своята колония и даден източник на храна. Оттогава до днес оригиналната идея на Дориго е многократно разширявана и модифицирана, за да решава по-широк клас от изчислителни задачи, и в резултат са се появили няколко нови проблема и подхода, базирани на различни други аспекти от поведението на мравките.

Разясняване на понятието В реалността, истинските мравки (първоначално) се движат по случаен начин и при откриване на източник на храна се завръщат към гнездото на колонията си, като по целия обратен път полагат следи от вещество, наречено феромон, което служи за комуникация с останалите мравки. Ако други мравки се натъкнат на маршрута на първата мравка, те с голяма степен на вероятност престават да се движат по случаен начин, а поемат по оставената следа от феромон до източника на храна и в случай, че също открият храна, при връщането си полагат собствена следа от феромон върху вече съществуващата. По този начин количеството феромон се увеличава и маршрута до източника на храна става още по-привлекателен за следващите мравки.

Феромонът обаче има свойството да се изпарява с времето, което снижава способността му да привлича други мравки. Колкото повече време отнема на една мравка да премине разстоянието до източника на храната и обратно, толкова повече феромонът се изпарява. За сравнение, един по-кратък път между същите две крайни точки, бива извървян за по-кратко време и интензитетът на феромона остава по-висок. В контекста на алгоритъма на мравките, изветряването на феромона представлява предимство, тъй като се избягва сходимостта на алгоритъма към решение, представляващо локален оптимум. Ако не съществуваше ефектът с изпарението, то пътищата избрани от първите „мравки“ биха имали тенденцията да са прекомерно привлекателни за всички следващи, което на свой ред би ограничило значително изследваната от „мравките“ област на решенията.

По този начин, когато една мравка открие добър (т.е. кратък) път от мравуняка си до някакъв източник на храна, с голяма вероятност и други мравки ще последват пътя ѝ и постепенно положителната обратна връзка ще доведе до това всички мравки да следват един и същ път. Идеята на алгоритъма за оптимизация по метода на мравчената колония е да се имитира това поведение с „изкуствени (симулирани) мравки“, които се движат по дъгите на граф, представляващ областта на възможните решения, като откритият от мравките път представлява оптималното от тези решения.

Представяне на алгоритъма

Оригиналната идея за алгоритъма произлиза от наблюденията как мравки усвояват източници на храна и по-специално от наблюдението, че индивидуално ограничените откъм когнитивни възможности мравки, взети заедно, откриват най-кратък път между източника на храната и своя мравуняк.

Първата мравка открива източника на храна (F) по някакъв (без значение какъв) начин (a), завръща се в гнездото си (N), оставяйки след себе си следа от феромон (b). Мравките безразборно следват четири възможни пътя, но затвърждаването на някой от тях посредством полагането на повече феромон го прави по-привлекателен като най-краткия маршрут. Мравките поемат по най-краткия маршрут, като така дълги отрязъци от други маршрути губят привлекателността си, поради постепенното изпаряване на феромона от тях.

В серия от експерименти с мравчени колонии, с възможен избор между различни по дължина пътя водещи до един и същ източник на храна, биолози са наблюдавали, че мравките проявяват склонност да откриват най-късия път. S. Goss, S. Aron, J.-L. Deneubourg et J.-M. Pasteels, The self-organized exploratory pattern of the Argentine ant, Naturwissenschaften, volume 76, pages 579 – 581, 1989J.-L. Deneubourg, S. Aron, S. Goss et J.-M. Pasteels, The self-organizing exploratory pattern of the Argentine ant, Journal of Insect Behavior, volume 3, page 159, 1990 Моделът, обясняващ това поведение, е следният: Една мравка (наречена „блиц“) се движи повече или по-малко на случаен принцип в близост до колонията си; Ако тя се натъкне на източник на храна, тя се връща относително директно в мравуняка, като по обратния път оставя след себе си следа от феромон; Следите от феромон са привлекателни за другите мравки и тези, които се намират в съседство, са предразположени да поемат по оставената следа, следвайки я сравнително плътно; При завръщането си в мравуняка, тези мравки усилват следата от феромон по маршрута; Ако до един и същ източник на храня водят два пътя, за едно и също количество време повече на брой мравки ще изминат по-краткия, отколкото по-дългия път; Тъй като повече мравки ще избират по-късия път, той ще бъде подсилван с феромон от все повече мравки; По-дългият път в крайна сметка ще се загуби, тъй като феромонът е летливо вещество и се изпарява с времето; Накрая всички мравки решително ще избират пътя с високо насищане на феромон, следователно открит ще бъде най-късият път между източника на храната и мравчената колония.

Мравките използват околната среда като средство за комуникация. Те обменят информация индиректно, чрез полагане на феромон по пътя си. Това средство за общуване има локален обхват, тъй като само мравка, която се намира на място, на което е положен феромон, получава информация от предходната мравка. Такава система се нарича „стигмергия“ и може да бъде открита в много животински съобщества (изучавана е при строежа на термитни стълбове).

Така този механизъм за решаване на дадена задача, която се оказва твърде сложна, за да е по силите на единични агенти („мравки“), е добър пример за самоорганизираща се система. Тази система се основава на положителна обратна връзка (полагането на феромон привлича други мравки, които следвайки следата сами я подсилват) и на отрицателна обратна връзка (излиняването на пътя поради изпарението на феромона, което предотвратява системата да се препълни с информация и да се срине). На теория, ако количеството феромон остава по всички пътища непроменено във времето, то никой маршрут няма да се изяви като по-привлекателен пред останалите. На практика, поради съществуващите обратните връзки в системата, дори и слабите вариации в привлекателността на дадени пътища позволяват даден маршрут да бъде предпочетен, което с нарастващия брой на мравките, които го избират, води и до изявяването му като оптимален. Алгоритъмът еволюира от състояние на неустойчивост (когато никой път в графа не е по-привлекателен от останалите) към състояние на устойчивост (при което маршрутът се състои от най-привлекателните, т.е. най-често прохождани дъги в графа).

Разширения на понятието Следват някои от най-популярните вариации на алгоритмите за оптимизация по метода на мравките.

Оптимизация чрез елитни мравки Това е първата по време модификация на алгоритъма. При нея мравките, които към всяка отделна итерация дават най-добро решение, се обявяват за елитни мравки и те получават право да полагат специален феромон по маршрута си.

Минимаксна мравчена оптимизация Моделът се променя, като се добавят максимални и минимални количества феромон [τmax,τmin] Феромон се полага само по маршрута, отговарящ на глобално най-доброто решение или най-доброто решение за конкретната итерация.

Всички дъги се инициализират с τmax и повторно получават стойността τmax при наближаване на ситуация на стагнация. T. Stützle et H.H. Hoos, MAX MIN Ant System, Future Generation Computer Systems, volume 16, pages 889 – 914, 2000

Мравчена система, базирана на рангове Всички решения се ранжират по отношение на фитнес функцията им. После количеството отложен феромон се претегля за всяко решение, по такъв начин, че решенията с по-добри показатели на фитнес функцията да получат повече феромон от тези с по-слаби показатели.

Непрекъсната ортогонална мравчена система Механизмът за полагане на феромон при непрекъснатата ортогонална мравчена система е такъв, че позволява на мравките да търсят решения по един колаборативен и ефективен начин. Използвайки ортогоналния метод за дизайн (orthogonal design method), мравките могат да изследват избраните от тях региони от допустимата област бързо и ефикасно с подобрени възможности за глобално търсене и с по-висока точност.

Ортогоналният метод за дизайн и адаптивния метод на радиусите за приспособяване (adaptive radius adjustment method) също могат да бъдат разширени към други оптимизационни алгоритми, предоставяйки по-добри възможности за решаване на задачи от практиката.X Hu, J Zhang, and Y Li (2008). Orthogonal methods based ant colony search for solving continuous optimization problems. Journal of Computer Science and Technology, 23(1), pp.2 – 18.

Сходимост При някои версии на алгоритъма е възможно да се докаже сходимост (т.е. че е възможно да се открие глобален оптимум за крайно време). Първото доказателство за сходимост на алгоритъма за оптимизация по метода на мравките е дадено през 2000 година за граф-базирания алгоритъм на мравките, а впоследствие и за алгоритмите за системи от мравчени колонии и минимаксния алгоритъм за оптимизация. Както при повечето метаевристични методи, и тук е много трудно да се направи теоретична оценка на скоростта на сходимост.

През 2004, Злохин (Zlochin) и негови колеги M. Zlochin, M. Birattari, N. Meuleau, et M. Dorigo, Model-based search for combinatorial optimization: A critical survey, Annals of Operations Research, vol. 131, pp. 373 – 395, 2004. показват, че алгоритмите за мравчена оптимизация могат да се представят като вариации на стохастичното спускане по градиент (stochastic gradient descent), крос-ентропията (cross-entropy) и алгоритъма за оценка на разпределяне (estimation of distribution algorithm).

Приложения

Алгоритмите за оптимизация по метода на мравките са прилагани към множество задачи за комбинаторна оптимизация, вариращи от quadratic assignment to fold protein или routing vehicles. Много производни на тях методи са адаптирани към динамични задачи с реални променливи, стохастични задачи, многоцелеви и паралелни приложения.

Оптимизация по метода на мравките е използвана за достигане на почти оптимални решения на задачата за търговския пътник. Тези алгоритми имат предимство пред използването на симулирано закаляване и генетични алгоритми за сходни задачи, в случаите, когато графът може да се променя динамично: алгоритъмът на мравките може да се адаптира към промените в реално време. Това представлява интерес при задачи за маршрутизация в мрежа и при градски транспортни системи.

Много добър пример за приложението на алгоритъма на мравките е свързан с почти оптималните решения на задачата за търговския пътник. Първият алгоритъм от този клас, наречен Ant system („Система от мравки“) M. Dorigo, V. Maniezzo, et A. Colorni, Ant system: optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics--Part B, volume 26, numéro 1, pages 29 – 41, 1996. е прилаган за решаване на тази задача, при която целта е да се намери най-краткия маршрут за обхождане на множество от градове.