Discussion de l'article "Gaz neuronal en croissance : Implémentation en MQL5"

 

Un nouvel article Gaz neuronal en croissance : Implémentation en MQL5 a été publié :

L'article étale un exemple de comment élaborer un programme MQL5 mettant en implémentant l'algorithme adaptatif de groupement appelé Growing neural gas (GNG). L'article est destiné aux utilisateurs qui ont étudié la documentation du langage et qui ont certaines compétences en programmation et des connaissances de base dans le domaine de la neuro-informatique.

Lors de la programmation de l'algorithme, nous devrons évidemment faire face à la nécessité de stocker ce que l'on appelle des "ensembles". Nous aurons deux ensembles – un ensemble de neurones et un ensemble de bords entre eux. Bien que les deux structures évoluent au cours du programme (et nous prévoyons à la fois d'ajouter et de supprimer des éléments), nous devrions également fournir des mécanismes pour cela.

Bien sûr, nous pourrions essayer d'utiliser des tableaux d'objets dynamiques, mais nous devrions effectuer de nombreuses opérations de copie-déplacement de données, ce qui ralentirait essentiellement le programme. Une option plus appropriée pour travailler avec des abstractions avec les propriétés indiquées est les graphes de programme et leur version la plus simple - une liste chaînée.

Je rappellerai à nos lecteurs le principe de fonctionnement de la linked list (Fig. 1). Les objets de la classe de base contiennent un pointeur vers le même objet que l'un des membres, ce qui permet de les combiner dans des structures linéaires, sans tenir compte de l'ordre physique des objets en mémoire. De plus, il existe la classe "carriage", qui encapsule la procédure de déplacement à travers la liste, l'ajout, l'insertion et la suppression de nœuds, la recherche, la comparaison et le tri, et, si nécessaire, d'autres procédures.


Auteur : Alexey Subbotin