Discussione sull’articolo "Growing Neural Gas: Implementazione in MQL5"

 

Il nuovo articolo Growing Neural Gas: Implementazione in MQL5 è stato pubblicato:

L'articolo mostra un esempio di come sviluppare un programma MQL5 che implementa l'algoritmo adattivo di clustering chiamato Growing neural gas (GNG). L'articolo è destinato agli utenti che hanno studiato la documentazione linguistica e hanno determinate capacità di programmazione e conoscenze di base nell'area della neuro informatica.

Quando si programma l'algoritmo dovremo ovviamente fare i conti con la necessità di memorizzare quelli che vengono chiamati "set". Avremo due insiemi: un insieme di neuroni e un insieme di bordi tra di loro. Mentre entrambe le strutture si evolveranno nel corso del programma (e stiamo pianificando sia di aggiungere che di rimuovere elementi), dovremmo anche fornire meccanismi per questo.

Naturalmente, potremmo provare a utilizzare array dinamici di oggetti, ma dovremmo eseguire numerose operazioni di copia-spostamento dei dati, che essenzialmente rallenterebbero il programma. Un'opzione più adatta per lavorare con le astrazioni con le proprietà specificate sono i grafici del programma e la loro versione più semplice: un elenco collegato.

Ricorderò ai nostri lettori il principio di funzionamento della lista collegata (Fig. 1). Gli oggetti della classe base contengono un puntatore allo stesso oggetto di uno dei membri, che consente di combinarli in strutture lineari, indipendentemente dall'ordine fisico degli oggetti in memoria. Inoltre, c'è la classe "carriage", che incapsula la procedura di spostamento attraverso l'elenco, l'aggiunta, l'inserimento e l'eliminazione di nodi, la ricerca, il confronto e l'ordinamento e, se necessario, altre procedure.


Autore: Alexey Subbotin