Sommario:
Definizione - Cosa significa algoritmo genetico?
Un algoritmo genetico è un metodo di ricerca euristica utilizzato nell'intelligenza artificiale e nell'informatica. Viene utilizzato per trovare soluzioni ottimizzate per la ricerca di problemi basati sulla teoria della selezione naturale e della biologia evolutiva. Gli algoritmi genetici sono eccellenti per la ricerca in set di dati complessi e di grandi dimensioni. Sono considerati in grado di trovare soluzioni ragionevoli a problemi complessi in quanto sono altamente in grado di risolvere problemi di ottimizzazione non vincolati e vincolati.
Techopedia spiega l'algoritmo genetico
Un algoritmo genetico fa uso di tecniche ispirate alla biologia evolutiva come la selezione, la mutazione, l'eredità e la ricombinazione per risolvere un problema. Il metodo più comunemente impiegato negli algoritmi genetici è quello di creare un gruppo di individui a caso da una data popolazione. Gli individui così formati vengono valutati con l'aiuto della funzione di valutazione fornita dal programmatore. Agli individui viene quindi fornito un punteggio che evidenzia indirettamente l'idoneità alla situazione data. I due migliori individui vengono quindi utilizzati per creare una o più prole, dopo di che vengono fatte mutazioni casuali sulla prole. A seconda delle esigenze dell'applicazione, la procedura continua fino a quando non viene derivata una soluzione accettabile o fino a quando non è trascorso un certo numero di generazioni.
Un algoritmo genetico differisce da un algoritmo di ottimizzazione classico, basato su derivati, in due modi:
- Un algoritmo genetico genera una popolazione di punti in ogni iterazione, mentre un algoritmo classico genera un singolo punto ad ogni iterazione.
- Un algoritmo genetico seleziona la popolazione successiva mediante calcolo usando generatori di numeri casuali, mentre un algoritmo classico seleziona il punto successivo mediante calcolo deterministico.
Rispetto all'intelligenza artificiale tradizionale, un algoritmo genetico offre molti vantaggi. È più robusto ed è suscettibile a guasti dovuti a lievi variazioni degli ingressi o alla presenza di rumore. Rispetto ad altri metodi di ottimizzazione come la prassi, la programmazione lineare, euristica, in primo luogo o in ampiezza, un algoritmo genetico può fornire risultati migliori e più significativi durante la ricerca di ampi spazi di stato multimodale, ampi spazi di stato o superfici n-dimensionali.
Gli algoritmi genetici sono ampiamente utilizzati in molti campi come la robotica, la progettazione automobilistica, il routing delle telecomunicazioni ottimizzato, la progettazione ingegneristica e la progettazione molecolare computerizzata.