Искусственный рой пчел – В чем отличие от PSO

Искусственный рой пчел в чем отличие от ПСО

Интуиция и реализация кода для алгоритма ABC, и исследование, где он превосходит оптимизацию роя частиц

Изображение, созданное DALL · E 3 на основе предложения «Нарисуйте научно-фантастическое изображение пчел, стоящих друг против друга в сражении»

В своей последней статье я поделился интуицией, реализацией и полезностью оптимизации роя частиц (PSO) в статье в рамках моей серии алгоритмов, вдохновленных природой. Сегодня я объясню, как работает алгоритм искусственного пчелиного роя (ABC).

Разве пчелы не являются частью роя? Не являются ли эти два алгоритма просто двумя сторонами одной медали?

В этой статье я сразу перейду к интуиции ABC. Затем я предоставлю математические основы, а затем реализацию на Python. Наконец, я сформулирую проблему, которую PSO не может решить, но ABC с легкостью делает это, и объясню аспекты ABC, которые делают это возможным.

Интуиция

Подобно обучению с подкреплением и эволюционным алгоритмам, основным приводом, лежащим в основе ABC, является баланс между исследованием и эксплуатацией.

Те, кто только знакомится с алгоритмами интеллекта роя, могут сначала испытывать страх перед ассоциацией с биологией и думать, что здесь применяется сложное математическое моделирование, чтобы точно воспроизвести то, что происходит в природе. Так как переменные обычно представлены греческими буквами в учебниках, это способствует ложному представлению о сложности.

Однако это совсем не так, по крайней мере, для ABC. Вам не нужно ничего знать о пляске пчел. В этом алгоритме нет ничего более сложного, чем математика старшей школы.

По сути, речь идет об осуществлении локального направленного поиска в перспективных местах, сохранении результатов только в случае улучшения целевой функции, а также об осуществлении глобального случайного поиска при длительных периодах без прогресса.

Затем создатели этого алгоритма украсили его изысканными названиями и привязали их к работающим пчелам, наблюдателям и разведчикам.

Формулировка решения

Подобно PSO, ABC – это метаэвристический алгоритм?

Что такое «метаэвристический», вы можете спросить?