Головна Алгоритми та AI Оптимізація роєм частинок — рій інтелект

🐝 Оптимізація роєм частинок — рій інтелект

Рій частинок шукає на 2D ландшафті вартості, кожну тягне до її особистого та глобального найкращого. Дивіться, як зграя сходиться до глобального мінімуму на кількох тестових функціях.

Алгоритми та AI2DСередній60 FPS
particle-swarm ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про оптимізацію роєм частинок

Оптимізація роєм частинок (Particle Swarm Optimisation, PSO) — це популяційна метаевристика, натхненна колективною поведінкою зграй птахів і косяків риб. Кожна частинка рою має позицію в просторі пошуку та вектор швидкості; її притягує як власна найкраща відома позиція, так і глобально найкраща позиція, знайдена будь-яким членом рою. Метод був запропонований Кеннеді та Еберхартом у 1995 році й широко застосовується для задач неперервної оптимізації в інженерії, навчанні нейронних мереж і фінансовому моделюванні.

У цій симуляції ви можете регулювати розмір рою, коефіцієнт інерції (ω), когнітивний коефіцієнт (c₁) і соціальний коефіцієнт (c₂), щоб спостерігати, як вони керують швидкістю збіжності та ризиком передчасної стагнації. Кольорові сліди показують, як окремі частинки досліджують 2D-ландшафт придатності, перш ніж рій колективно наближається до глобального мінімуму.

Поширені запитання

Як частинка оновлює свою швидкість у PSO?

На кожному кроці часу нова швидкість дорівнює v = ω·v + c₁·r₁·(pBest − x) + c₂·r₂·(gBest − x), де ω — інерція, c₁ і c₂ — коефіцієнти прискорення, а r₁, r₂ — незалежні випадкові числа в [0, 1]. Типові початкові значення: ω = 0,729, c₁ = c₂ = 1,494, що задовольняють умови збіжності, виведені Клерком і Кеннеді у 2002 році.

Що таке коефіцієнт інерції і чому він важливий?

Коефіцієнт інерції ω масштабує попередню швидкість частинки, балансуючи дослідження (висока ω) і використання (низька ω). Поширена стратегія — почати з ω ≈ 0,9 і лінійно зменшувати до 0,4 протягом прогону, заохочуючи широкий пошук на початку та точну збіжність пізніше. Встановлення ω ≥ 1 зазвичай призводить до розходження рою.

Чи може PSO застрягти в локальних оптимумах?

Так — PSO не гарантує знаходження глобального оптимуму. На мультимодальних функціях, як-от тести Растригіна чи Аклі, передчасна збіжність відбувається, коли всі частинки скупчуються навколо локального мінімуму до того, як околиця буде достатньо досліджена. Засоби боротьби включають збільшення розміру популяції, випадкову повторну ініціалізацію застійних частинок або гібридизацію з локальним пошуком.

У чому різниця між глобальною та локальною топологією найкращого?

У глобальній (gbest) топології кожну частинку притягує єдина найкраща позиція, знайдена будь-якою частинкою. У кільцевій (lbest) топології кожна частинка бачить лише малу околицю, що уповільнює збіжність, але покращує дослідження на оманливих мультимодальних ландшафтах. Симуляція використовує топологію gbest для наочності.

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

Обидва є популяційними метаевристиками, але PSO не має операторів схрещування чи мутації. Натомість обмін інформацією відбувається неявно через правило оновлення швидкості. PSO зазвичай швидше сходиться на неперервних задачах, але позбавлений механізму рекомбінації, який допомагає генетичним алгоритмам виходити з локальних оптимумів на комбінаторних задачах.

Для яких реальних задач використовується PSO?

PSO застосовували для проєктування антен, оптимізації розташування вітрових електростанцій, налаштування гіперпараметрів глибоких нейронних мереж, планування енергомереж і оптимізації портфеля. Його сила — у задачах з неперервними багатовимірними просторами пошуку, де інформація про градієнт недоступна або дорого обчислюється.

Які тестові функції зазвичай використовують для перевірки PSO?

Стандартні тести включають функції Sphere (унімодальна, проста), Розенброка (вузька вигнута долина), Растригіна (сильно мультимодальна з 10ⁿ локальними мінімумами), Аклі та Грівенка. Набори змагань CEC надають стандартизовані тестові набори з відомими глобальними оптимумами для чесного порівняння алгоритмів.

Чи впливає розмір рою на продуктивність?

Більші рої ретельніше досліджують простір пошуку, але потребують більше обчислень функції на ітерацію. Емпірично рої розміром 20–50 частинок добре працюють на задачах низької розмірності (n ≤ 30), тоді як задачі вищої розмірності можуть виграти від 100–200 частинок. Занадто малий рій різко підвищує ризик передчасної збіжності.

Чи є PSO детермінованим?

Ні. Випадкові числа r₁ і r₂ в оновленні швидкості роблять кожен прогін стохастичним. Тому результати різняться між прогонами, і порівняння алгоритмів мають наводити статистику (медіану, найкращий, найгірший результат) за кількома незалежними прогонами — зазвичай 25–51 прогін на тестову функцію, як рекомендують настанови бенчмаркінгу CEC.

Що таке обмеження швидкості (velocity clamping) і навіщо воно потрібне?

Обмеження швидкості обмежує кожну компоненту швидкості діапазоном [−Vmax, +Vmax], щоб частинки не вилітали за межі простору пошуку за один крок. Без обмеження на задачах високої розмірності неконтрольовані швидкості можуть призвести до розходження рою. Поширений вибір — Vmax = 0,1 × (діапазон області) на вимір.

Схожі симуляції