Discussione sull’articolo "Algoritmi di ottimizzazione della popolazione: Algoritmo della scimmia (MA)"

 

Il nuovo articolo Algoritmi di ottimizzazione della popolazione: Algoritmo della scimmia (MA) è stato pubblicato:

In questo articolo prenderò in considerazione l'algoritmo di ottimizzazione Monkey Algorithm (MA). La capacità di questi animali di superare ostacoli difficili e di raggiungere le cime degli alberi più inaccessibili ha costituito la base dell'idea dell'algoritmo MA.

L'area esplorata dalle scimmie è un paesaggio di funzioni di fitness, quindi la montagna più alta corrisponde alla soluzione del problema (consideriamo il problema di massimizzazione globale). Dalla sua posizione attuale, ogni scimmia sale fino a raggiungere la cima della montagna. Il processo di scalata è progettato per migliorare gradualmente il valore della funzione obiettivo. Poi, la scimmia effettua una serie di salti locali in una direzione casuale nella speranza di trovare una montagna più alta e il movimento verso l'alto viene ripetuto. Dopo aver eseguito un certo numero di salite e salti locali, la scimmia ritiene di aver esplorato sufficientemente il paesaggio nelle vicinanze della sua posizione iniziale. 

Per esplorare una nuova area dello spazio di ricerca, la scimmia esegue un lungo salto globale. I passaggi precedenti vengono ripetuti un numero specifico di volte nei parametri dell'algoritmo. La soluzione del problema è dichiarata essere il più alto dei vertici trovati dalla popolazione di scimmie. Tuttavia, la MA spende un tempo computazionale significativo nella ricerca di soluzioni ottimali locali nel processo di scalata. Il processo di salto globale può accelerare il tasso di convergenza dell'algoritmo. Lo scopo di questo processo è forzare le scimmie a trovare nuove opportunità di ricerca per non cadere nella ricerca locale. L'algoritmo presenta vantaggi quali una struttura semplice, un'affidabilità relativamente elevata e una buona ricerca di soluzioni ottimali locali.

Il MA è un nuovo tipo di algoritmo evolutivo che può risolvere molti problemi di ottimizzazione complessi caratterizzati da non linearità, non differenziabilità e alta dimensionalità. La differenza rispetto agli altri algoritmi è che il tempo impiegato da MA è dovuto principalmente all'uso del processo di scalata per trovare soluzioni ottimali locali. Nella prossima sezione descriverò i componenti principali dell'algoritmo, le soluzioni presentate, l'inizializzazione, la salita, l'osservazione e il salto.

Autore: Andrey Dik