ГоловнаСтаттіАлгоритми

Оптимізація зграй частинок: Пояснення розумності зграї

У 1995 році спостереження за зірками, що кружляють та вигинаються як одна зграя, стало градієнт-вільним алгоритмом, який знаходить глобальні оптимуми майже без налаштувань.

mysimulator teamОновлено — червень 2026≈ 9 хв читання▶ Відкрити симуляцію

Політ птаха, перетворений на алгоритм

Інсайт Кеннеді та Еберрта 1995 року був хибним: хороші рішення приваблюють сусідів. Так само як птах коригує політ, щоб наздогнати свою зграю, пам'ятаючи, де він особисто знайшов найкращу їжу, кожне частинка в PSO (метод популяційної оптимізації) має соціальну пам’ять — найкращу відому позицію зграї, gbest, і когнітивну пам’ять, її власну найкращу відому позицію, pbest. PSO належить до ширшої родини алгоритмів на основі зграйного інтелекту (разом із Оптимізацією колоній мурах та Швидкою бджолиною колонією), усі з яких мають властивість виникнення: майже оптимальна глобальна поведінка від простих локальних правил, без централізованого контролю.

Обновление уравнения скорости

Колония из N частиц инициализируется в случайных позициях в пространстве поиска. На каждом шаге каждая частица обновляет свою скорость от трех сил — инерция (поддержание движения в текущем направлении), когнитивное притяжение к своей собственной лучшей известной позиции и социальное притяжение к глобальной лучшей позиции стаи — затем обновляет свое положение, просто добавляя новую скорость. Случайные скаляры r1 и r2 пересчитываются для каждой частицы, по каждому измерению, на каждом шаге, что является необходимым: без этой случайности частицы в симметричной конфигурации могли бы зафиксироваться в идентичном движении, а стая обрушилась бы в детерминированный шаблон.

v(t+1) = ω·v(t) + c1·r1·(pbest − x(t)) + c2·r2·(gbest − x(t))
x(t+1) = x(t) + v(t+1)

Typical: ω 0.4→0.9 (linearly decayed), c1 = c2 = 1.5–2.0
Clerc's constriction values: ω = 0.729, c1 + c2 ≤ 4

Збіжність, застій та виправлення топології кільця

Клерк і Kennedy (2002) формалізували умови збіжності PSO: без контролю параметрів рої може коливатися і ніколи не стабілізується, але область (ω, c1, c2) простору — трикутник збіжності — гарантує стабільний шлях. Найпоширеніша помилка - передчасне збіжнення, коли весь рой обвалюється на локальний оптимум до того, як досліджується простір, зазвичай через те, що соціальний коефіцієнт c2 домінує або втрачено різноманітність. Заходи корегування включають випадкові перезапуски для застиглих частинок або перехід від єдиної спільної gbest до локальної топології кільця, де кожна частинка бачить лише своїх найближчих сусідів — повільніше збігається, але набагато стійкіша до потрапляння в один бас.

Партиторія проти генетичних алгоритмів та імітованого віджигу

Партиторія, генетичні алгоритми та імітований віджиг є усіма градієнтом-незалежними, але вони відрізняються за механізмом: партиторія безперервно переміщує популяцію через швидкість і постійну пам’ять (pbest, gbest); генетичний алгоритм застосовує кросування та мутації з тиском вибору та без будь-якої індивідуальної пам'яті; імітований віджиг спотворює окреме рішення за графіком охолодження. На практиці партиторія часто є переважною для безперервних, низько-середніх розмірностей (≤100 вимірів) через її простоту реалізації та здатність до збіжності за кілька десятків ітерацій — від інженерного дизайну та налаштування PID до оптимізації розташування вітряних електростанцій та пошуку гіперпараметрів.

Frequently asked questions

Що означають три терміни в оновленні швидкості PSO?

Інерція (ω·v) – це імпульс, частинка продовжує рухатися у своєму поточному напрямку. Когнітивний термін (c1·r1·(pbest−x)) тягне частинку назад до її власного найкращого раніше досягнутого положення. Соціальний термін (c2·r2·(gbest−x)) тягне її до найкращого відомого положення зграї. Випадкові скаляри r1 та r2 передискретизуються в кожну вимірюваність на кожному кроці, що запобігає застряганню зграї в детермінованому градієнтоподібному шаблоні.

Що викликає передчасне збіжнення в PSO та як це виправити?

Передчасне збіжнення відбувається, коли вся зграя сходиться на локальному оптимумі до того, як досліджується весь простір пошуку, зазвичай через те, що соціальний коефіцієнт c2 занадто великий відносно c1 або зграя втратила різноманітність. Заходи пом’якшення включають випадкові перезапуски для частинок, які застрягли, перехід до топології локального сусідства (lbest, ring) замість єдиної спільної глобальної найкращої, або просто збільшення розміру зграї.

Як PSO порівнюється з генетичним алгоритмом?

Обидва є на основі популяцій та безградієнтні, але PSO переміщує частинки безперервно через оновлення швидкості, кероване пам’яттю (pbest, gbest), тоді як генетичний алгоритм застосовує кросування та мутацію з тиском відбору та без постійної пам'яті для кожної окремої особини. PSO схиляється до швидшого збігу на безперервних проблемах з низькою або середньою розмірністю, тоді як GA більш природні для комбінаторних проблем і структурної варіації.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте the simulation і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію the simulation

Що ви знайшли?

Додати кроки відтворення (опційно)