The Computational Beauty of Nature
Source code

assoc

retrieve associative memories

Full screen →

assoc -help
  or
assoc  [-pfile  ...]   [-tfile  string]  [-local  integer]
       [-cut  double]  [-pprob  double]  [-noise   double]
       [-seed integer] [-steps integer] [-inv] [-mag inte-
       ger] [-term string]

Attempts to reconstruct a corrupted image with a McCulloch-Pitts feedback neural network that acts as an associative memory. The weights of the network are determined via Hebb's rule after reading in multiple patterns. Weights can be pruned either by size, by locality, or randomly.

Attempt to reconstruct a potentially corrupted image from a McCulloch-Pitts feedback neural network that acts as an associative memory. The weights of the network are determined via Hebb's rule after reading in multiple patterns. Weights can be pruned either by size, locality, or randomly.

Miscellany

All pattern files must be in the PBM file format. You can

request that multiple patterns be stored into the weights by using the -pfile option multiple time.

The dimensions of the stored patterns and the test pattern must be identical.

For weight pruning, the program first checks to see if a weight is "non-local" which means that for a weight that connects two neurons either the row indices or column indices differ by the amount greater than the value specified by the -local option. (If a value for local -local is zero, then all weights are used.) Next, the program prunes weights that are too small in size as specified by the -cut option. If a weights has not been removed at this stage, then it will still be pruned with probability as specified by the -pprob option.

Bugs

No sanity checks are performed to make sure that any of the options make sense.

Options

-pfileFile with pattern to store.None
-tfileFile with test pattern.data/a.pbm
-locallocality of permitted weights0
-cutCutoff size for weights.0.0
-pprobProbability of random pruning.0.0
-noiseAmount of noise for test case.0.0
-seedRandom seed for initial state.0
-stepsNumber of time steps.1000
-invInvert all colors?False
-magMagnification factor.1
-termHow to plot points.None

assoc.c on GitHub