The growing neural gas (GNG) algorithm is capable of incrementally learning the topology of arbitrary input data by observing random sample points.
I started out with a simple uniform random distribution sampled from a square, and then tried a more difficult dataset.


Beautifying the nodes and edges with attenuated lighting.



I then textured each node with its degree, entirely with a shader and texture array.


Implemented support for a utility factor (GNG-U), in order to handle non-stationary data.
Learning the topology of a sphere.

Learning the topology of a torus.

Learning the topology of complex and discontinuous piecewise data.

