AHaH Machine Learning

AHaH Machine Learning Java Library

This is the companion open-source code to the paper AHaH Computing—From Metastable Switches to Attractors to Machine Learning, published on Feb. 10th, 2014 at PLOS One. All source code referenced in the paper can be found here. The AHaH! project is a set of tools that can be used to solve a wide range of artificial intelligence and machine learning problems. All key functionality is based on operations that can be attained through use of an Anti-Hebbian and Hebbian (AHaH) Node. An AHaH Node is a perceptron neuron operating the AHaH plasticity rule. The AHaH Node has been mapped to physical memristor circuitry and NPU development is ongoing. By restricting machine learning algorithms to functions that can be attained with the AHaH Node, the AHaH! software provides a bridge between the CPU of today and the NPUs of tomorrow.


  • Metastable Switch Memristor Model
  • Functional and Circuit-based AHaH Node Models
  • Supervised and Unsupervised Classification
  • Unsupervised Feature Extraction and Clustering
  • Unsupervised Robotic Actuation
  • Combinatorial Optimization
  • Signal Prediction and Forecasting

What’s Next?

Now go ahead and study some examples, download the thing and provide feedback.


This Software is proprietary. By installing, copying, or otherwise using this Software, you agree to be bound by the terms of the license.


M. Alexander Nugent Consulting Research License. Non-Commercial Academic Use Only.

Future License

A new, more permissible collaborative license is now available for KDC members!