Skip to content

UHBiocomputation/UHNetSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Hopfield Net simulator

A Java tool for exploring Hopfield Networks.

Instructions for using the simulator

  1. Clone the source code
  2. Open a console (Select Run and type "cmd" in Windows) and make sure you're in the bin directory.
  3. Type: java NetSim.
  4. Choose "Begin a new network" and click "Next".
  5. Enter "Network size" of 100 say and click "Next".
  6. Select "Create a new training set" and click "Finish".
  7. Check out the toolbar buttons in the three windows by moving the cursor over them.
  8. In the "Training Set" window draw a "T" by clicking the cells.
  9. In the "Network state" window, train the network.
  10. Check all patterns are stable.
  11. Corrupt the "T" in the "Network state" window and run one iteration repeatedly and watch as the "T" reemerges.
  12. Do the same but this time select "Run to convergence".
  13. Add another pattern to the training set and check that it is learnt.
  14. Try out some noisy versions of the trained patterns.
  15. Add a third pattern and experiment.
  16. In the "Training set" window get rid of all your patterns and create 10 random patterns with "Pattern bias" 0.5 (equal number of 1's and -1's).
  17. Check if they are learnt.
  18. In the "Test Patterns" window, generate a set of test patterns with Hamming Distane of 5, for example.
  19. Make a test pattern current network state.
  20. Mismatched units are displayed as gray blocks.
  21. Run to convergence and compare them again.
  22. Do the same test for other test patterns.
  23. Try another set of test patterns with different Hamming Distance.
  24. Create a new network of size 9 and train it with a pattern.
  25. From the "Network state" window display the network's state transition diagram.
  26. Select "Attraction" to display the number of states attracted by each attractor state.
  27. Click one of the attractors and see which state it is by looking at the "Network state" window.
  28. Display a new network dynamic using asynchronous random (replace) update rule.
  29. Overload the network and observe the dynamics.

About

A Java tool for exploring Hopfield Networks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published