Discussione sull’articolo "Algoritmi di ottimizzazione della popolazione: Ricerca dell'Armonia (Harmony Search HS)"

 

Il nuovo articolo Algoritmi di ottimizzazione della popolazione: Ricerca dell'Armonia (Harmony Search HS) è stato pubblicato:

In questo articolo, studierò e testerò il più potente algoritmo di ottimizzazione - la ricerca dell’armonia (HS), ispirata al processo di ricerca dell'armonia sonora perfetta. Quale algoritmo è ora leader nella nostra valutazione?

Il lavoro della logica HS è simile a quello di un musicista nel creare un'armonia perfetta. Il musicista cerca di cambiare le varie tonalità fino a trovare l'armonia perfetta. Successivamente, l'insieme delle armonie trovate vengono memorizzate. In un problema di ottimizzazione, le armonie subiscono varie modifiche; se i risultati della modifica sono favorevoli, allora la memoria viene rinnovata aggiungendo armonie e rimuovendo gli elementi indesiderati... Tutto questo può sembrare piuttosto confuso. Che cos'è l'armonia? Cosa sono le tonalità? Cerchiamo di capire l'algoritmo usando i nostri termini.

Che cos'è un brano musicale? Naturalmente non sono un musicista (ed è un peccato), ma un programmatore. Ma ai fini del rilevamento dell'algoritmo, sarà sufficiente applicare il concetto di "nota". Un brano musicale è composto da note (accordi). La Figura 1 mostra schematicamente il "meccanismo" di costruzione di un brano musicale. La selezione delle note corrisponde a un brano musicale, facilmente determinabile anche senza un orecchio per la musica o una formazione musicale. Chi vuole indovinare può lasciare un commento qui sotto. 

L'ottimizzazione dell'algoritmo HS consiste nel muovere le barre verdi con le note attraverso la barra blu del brano stesso. L'intervallo della barra verde è un'ottava, che è costituita da singole note. Il prodotto (barra blu) corrisponde a una delle soluzioni di ottimizzazione. Le note sulla barra verde sono i corrispondenti parametri di ottimizzazione del problema. La memoria del musicista memorizza diverse versioni del brano (diverse varianti di barre blu), questa è la popolazione dell'algoritmo.

HSachord

Figura 1. Selezione delle note in un pezzo musicale (ricerca dell'armonia). La barra blu è un pezzo. Le barre verdi sono un insieme di note 

L'esempio della Figura 1 corrisponde alla soluzione di un problema discreto, in cui ci sono otto fasi nel parametro. L'esempio è fornito per facilitare la comprensione del funzionamento dell'algoritmo. Tuttavia, in un compito arbitrario, può esserci qualsiasi passo dei parametri ottimizzati e ci sono anche note intermedie - semitoni. I parametri corretti per risolvere il problema corrispondono alle note corrette del brano.

Autore: Andrey Dik