Flock of Starlings Optimization
# Flock of Starlings Optimization

La Flock of Starlings Optimization ("FSO") è una metaeuristica ispirata la volo degli uccelli; essa fa parte della macroclassi di algoritmi cosiddetti della Swarm Intelligence.

Tale algoritmo prende le origini da un lavoro di Ballerini et al., nel quale viene proposta una "social behavior", che sembra essere alla base del volo degli uccelli. Tale regola semplicemente suggerisce il fatto che gli uccelli in volo mediano la propria velocità rispetto ad altri 7 individui scelti a caso nello stormo. Nell'FSO sono presenti un gruppo di individui, detti particelle, che si muovono attraverso due formule, la prima riguarda l'aggiornamento della velocità di ogni individuo, e la seconda il semplice aggiornamento della posizione come riportato di seguito:

(1) $v_{new}=w*v_{old}+\Lambda _{1}*(p-x_{old})+\Lambda _{2}*(g-x_{old})+\left({\frac {1}{N}}\right)\sum _{k=1}^{N}v_{k}$ (2) $x_{new}=x_{old}+\Lambda _{3}*v_{new}$

Come si può notare la (1) è identica alla regola di aggiornamento della velocità del PSO(Particle Swarm Optimization). Con esso condivide quindi il kernel di tutti gli algoritmi di Swarm Optimization, ma ha in più il termine della sommatoria. Tale sommatoria rappresenta l'implementazione di quella che viene chiamata regola topologica e conferisce all'algoritmo, qualora vengano visualizzate le traiettorie dei singoli individui, proprio una dinamica simile a quella di uno stormo di uccelli.

## Proprietà

L'FSO possiede ottime proprietà di esplorazione, risulta quindi utile il suo utilizzo in quei problemi di ottimizzazione in cui lo spazio delle soluzioni è molto grande. Inoltre, possiede buone capacità di escaping dai minimi locali, qualità questa richiesta qualora il problema sia multimodale, ovvero possiede più soluzioni equipollenti.

