LibTopoART is a software library providing platform independent C# implementations of several neural networks based on the TopoART architecture. This architecture has been developed as a unified machine learning approach tackling frequent problems arising in cognitive robotics and advanced machine learning, such as online-learning, incremental learning from data streams, as well as learning and prediction from non-stationary data, noisy data, imbalanced data, and incomplete data.

The base neural network TopoART (TA) is an incremental neural network combining elements of several other approaches, in particular, Adaptive Resonance Theory (ART) and topology learning networks. It is capable of parallel stable on-line clustering of stationary or non-stationary data at multiple levels of detail. These capabilities are complemented by derived neural networks dedicated to tasks such as classification, episodic clustering, and regression.


The implementations provided by LibTopoART differ in some minor aspects from the ones used in the original publications:

  • The computations are more exact, since they are performed using the decimal type of C#, which has ten as its base and more precision than float or double.
  • New nodes are inserted at the beginning of the respective layer, which is intended to accelerate learning and node removal.
  • They allow for an arbitrary number of modules, not just two.
  • Each node receives a unique ID which is constant during its life time.

Besides TopoART, the current version of LibTopoART (v0.81) includes implementations of Episodic TopoART (episodic clustering of data streams), Hypersphere TopoART (clustering and topology-learning), TopoART-AM (associative memory), TopoART-C and Hypersphere TopoART-C (classification), and TopoART-R (regression). Future versions of LibTopoART will contain further neural networks based on TopoART.

LibTopoART is published under MIT licence. If you want to use it for scientific purposes, please cite the following paper:

Tscherepanow, Marko (2010). TopoART: A topology learning hierarchical ART network. In Proceedings of the International Conference on Artificial Neural Networks, LNCS 6354 (pp. 157–167). Berlin, Germany: Springer. (PDF)