Hopfield Network

Enter an input pattern by dragging mouse over the grid.  Blue represents "on" and white (hold shift key) represents "off".  

Input Pattern

Output Pattern

Energy =
Energy =

To "learn" the present input pattern, press the learn button.  Pressing it more than once will "strengthen" the pattern. However, neural nets learn not only the patterns you teach them, but also learn "spurious patterns" that are combinations of the recorded patterns.

Once you have taught the network a few patterns, enter a pattern in the input and press one of the "run" buttons to run the network that many iterations.  The "Run Synch" Button will take the network through a synchronous execution at each node.  The "Asynch" buttons will randomly choose either 10, 100, or 1000 successive nodes and evaluate them. 

The network will find the learned pattern that is closest to the input, showing the intermediate calculations and result in the "Output Pattern."  event type of "recall" activity is known as Content Associative Memory.