I hope the comments will help.
Anyway please feel free to ask for precisions.
The application uses a network of 10*8 nodes.
You can paint (left/right buttons) the panel to change the network state.
You press compute to get the next stable state.
I'm a bit lazy, I 've put only '0', '1' and '2' digits in the dataset , but you can add more if you want (max 11 patterns)
Good luck !
The network implementation is divided into 2 classes :
HopfieldUnit.java which defines the behavior of an unit. (output computing and learning)
HopfieldNetwork.java which defines standard Hopfield Network. (asynchronous computing and a Hebbian offline learning method)
The file Patterns.java defines the patterns to be learnt . For now, 3 patterns ('0', '1', '2') are defined, but some others can be added directly.
The others are just UI stuff so let's ignore them