Algoritmo evolutivo

Un algoritmo evolutivo (EA) è un algoritmo che utilizza meccanismi ispirati dalla natura e risolve i problemi attraverso processi che emulano i comportamenti degli organismi viventi. EA è un componente sia dell'informatica evolutiva che dell'informatica bio-ispirata.

Gli EA si ispirano ai concetti dell'evoluzione darwiniana. Negli EA, le soluzioni giocano il ruolo dei singoli organismi in una popolazione. Il mix di potenziali soluzioni a un problema viene popolato prima in modo casuale. Quindi la popolazione viene testata per il fitness: quanto bene e quanto velocemente risolve un problema. Successivamente, gli individui più adatti vengono selezionati per la riproduzione. Il ciclo ricomincia quando viene valutata l'idoneità della popolazione e vengono eliminati gli individui meno in forma.

Poiché i meccanismi con cui funzionano gli EA sono ispirati dall'evoluzione e dagli organismi viventi, le funzioni potrebbero includere la selezione, la riproduzione, la mutazione e la ricombinazione. Il processo adattativo di scelta delle migliori soluzioni disponibili a un problema in cui la selezione avviene in base all'idoneità è analogo alla sopravvivenza di Darwin del più adatto. Le soluzioni algoritmiche che funzionano meglio tra le opzioni disponibili si riproducono; i meno adatti, essendo eliminati, non lo fanno. Testando l'idoneità in base alle prestazioni misurate, l'ottimizzazione avviene nel corso delle generazioni attraverso funzioni come la mutazione.

Gli EA sono eccellenti nell'ottimizzazione delle soluzioni. È importante notare, tuttavia, che mentre gli EA ottimizzano in modo efficace, non trovano necessariamente la soluzione ottimale. Invece, gli EA trovano costantemente soluzioni funzionanti e misurano le prestazioni l'una contro l'altra, il che può o meno trovare la migliore soluzione possibile in assoluto. I requisiti computazionali relativamente elevati degli EA, che possono anche essere presi in considerazione, sono in gran parte dovuti alla complessità della determinazione dell'idoneità. Questa complessità può essere ridotta mediante l'approssimazione della forma fisica.