close
Ugrás a tartalomhoz

particle swarm optimization

A Wikiszótárból, a nyitott szótárból


Főnév

particle swarm optimization (tsz. particle swarm optimizations)

  1. (informatika) részecskeraj optimalizálás

Particle Swarm Optimization (PSO) – magyarul: részecske-raj optimalizáció – egy metaheurisztikus optimalizáló algoritmus, amelyet Kennedy és Eberhart dolgozott ki az 1990-es években. Az algoritmus természetes viselkedésen alapul, különösen azokon a mintákon, ahogyan madárcsapatok vagy halrajok közösen mozognak, és alkalmazkodnak a környezetükhöz.



🧠 1. Alapötlet

A PSO egy raj-intelligencián alapuló módszer, ahol minden „részecske” egy-egy lehetséges megoldást képvisel a keresési térben, és a raj közösen keresi a globális optimumot.


⚙️ 2. Alapfogalmak

  • Részecske (particle): egy lehetséges megoldás
  • Pozíció: a részecske aktuális állapota a keresési térben
  • Sebesség: irány és mérték, amellyel a részecske mozog
  • Személyes legjobb (pBest): a részecske eddigi legjobb megoldása
  • Globális legjobb (gBest): az összes részecske közül a legjobb megoldás



🔄 3. Működési mechanizmus (lépések)

  1. Inicializálás: részecskék véletlenszerű helyeken a keresési térben
  2. Minden részecske:
    • Kiszámítja a célfüggvény értékét a pozíciójában
    • Frissíti saját legjobbját (pBest)
  3. A raj frissíti a globális legjobb megoldást (gBest)
  4. A részecskék sebessége és pozíciója frissül:

Ahol:

  • : tehetetlenségi súly
  • : tanulási együtthatók
  • : véletlen számok [0,1] intervallumból
  1. Ismétlés az iterációs határig vagy konvergenciáig



📈 4. Vizualizációs kép

Képzelj el madarakat egy mező felett, akik keresik a táplálékot (optimum). Minden madár:

  • Emlékszik, hol talált eddig sokat
  • Figyeli a többieket, és azok irányába mozog
  • Közösen próbálják megtalálni a legjobb pontot



🧪 5. Felhasználási területek

  • 🧬 Nemlineáris függvények optimalizálása
  • 🔄 Neurális hálók súlyainak optimalizálása
  • 📊 Clustering, jelfeldolgozás
  • 🧠 Feature selection, gépi tanulás
  • ⚙️ Ipari vezérlés és tuning (PID szabályozók optimalizálása)



🐍 6. Egyszerű Python példa (pyswarm könyvtárral)

from pyswarm import pso

def sphere(x):  # célfüggvény: minimuma x=0-nál
    return sum([xi**2 for xi in x])

lb = [-5, -5]  # alsó határok
ub = [5, 5]    # felső határok

best_position, best_value = pso(sphere, lb, ub)
print("Legjobb hely:", best_position)
print("Legjobb érték:", best_value)

⚖️ 7. Előnyök és hátrányok

✅ Előnyök:

  • Könnyen implementálható
  • Nem igényel derivált vagy gradiens
  • Párhuzamosítható
  • Jól működik komplex és többdimenziós keresési tereken

❌ Hátrányok:

  • Könnyen helyi minimumba ragadhat
  • Érzékeny a paraméterekre (sebesség, súly, c1, c2)
  • Nem garantált a globális optimum



🧾 8. Összefoglalás

A Particle Swarm Optimization (PSO):

  • Egy metaheurisztikus, inspirált optimalizáló algoritmus
  • Alapja a kollektív viselkedés: minden részecske tanul önmagától és társaitól
  • Hatékony megoldás nem konvex, többdimenziós, deriválható vagy nem deriválható problémákra
  • Számos mérnöki, tudományos és AI-alkalmazásban használható