ссылка Википедия На самом деле я начал. Я прочитал статью и занялся кодированием. Я решал злую вариацию проблемы коммивояжера. Это удивительная метаэвристика. В принципе, любой тип поисковой задачи, которую можно поместить в граф (узлы и ребра, симметричные или нет), можно решить с помощью ACO.
Обратите внимание на разницу между глобальными и локальными трассами с феромонами. Местные феромоны препятствуют муравьям одного поколения пересекать один и тот же путь. Они не дают модели сходиться. Глобальные феромоны являются аттракторами и должны захватывать как минимум одного муравья на поколение. Они поощряют оптимальные пути в течение нескольких поколений.
Лучшее предложение, которое я имею, - просто поиграть с алгоритмом. Установите базовый решатель TSP и некоторую базовую визуализацию колоний. Тогда повеселись. Концептуально работать с муравьями - это круто. Вы программируете их базовое поведение, а затем освобождаете их. Я даже полюбил их. :)
ACO - это более жадная форма генетических алгоритмов. Играть с ними. Измените их коммуникативное поведение и поведение пакета. Вы быстро начнете видеть программирование сети / графика совершенно по-другому. Это их самое большое преимущество, а не рецепт, который большинство людей видит в этом.
Вы просто должны поиграть с этим, чтобы действительно понять это. Книги и исследовательские работы дают только общее понимание. Как велосипед, ты просто должен начать кататься. :)
ACO, безусловно, моя любимая абстракция для задач с графами.