Computer Explorations of Fractals, Chaos,Complex Systems, and Adaptation

 · title page · home* · cover artwork · jacket text · table of contents · the author* · ordering information
 Book Contents
 · three themes · part synopses · selected excerpts · all figures from book · quotes from book · glossary from book · bibliography · slide show
 Source Code
 · overview &documentation · FAQ list* · download source code · java applets
 Miscellany
 · news* · reviews & awards · errata · for educators · bibliography (BibTeX format) · other links
 HOPFIELD Documentation

```

```

#### NAME

```       hopfield - solve a task assignment problem via a Hopfield
network

```

#### SYNOPSIS

```       hopfield -help
or
hopfield
[-specs  string]  [-dt double] [-tau double] [-gain
double] [-scale  double]  [-seed  integer]  [-steps
integer]  [-gray  integer]  [-inv]  [-mag  integer]
[-term string]

```

#### DESCRIPTION

```       Solve a task assignment problem via a Hopfield neural net-
work  while  plotting  the activations of the neurons over
time.  The program uses the K-out-of-N  rule  for  setting
the external inputs and synapse strength of the neurons.

```

#### OPTIONS

```       -specs string
Problem specification file.

-dt double
Time step increment.

-tau double
Decay term.

-gain double
Sigmoidal gain.

-scale double
Scaling for inputs.

-seed integer
Random seed for initial state.

-steps integer
Number of time steps.

-gray integer
Number of gray levels.

-inv   Invert all colors?

-mag integer
Magnification factor.

-term string
How to plot points.

```

#### MISCELLANY

```       As  mentioned  before, the weights and external inputs are

set according to the K-out-of-N rule which states that  if
we  have N neurons in a mutually connected sub-network and
that we wish this subset to converge with exactly  K  neu-
rons  activated,  then  each neuron should be connected to
every other neuron with a weights of  -2  and  receive  an
external  input  of (2K - 1).  Since we must produce solu-
tions that look like permutation matrices, each neuron  is
in  2  K-out-of-N  subsets, one for the column and one for
the row.  Thus, all neurons inhibit all other  neurons  in
the  same  column  or  row  with  -2 and must (on average)
receive a net input of 2 since they are all in  two  sets.
The external inputs are slightly adjusted to favor neurons
that represent more productive task performers.   See  the
source code for more details.

```

#### BUGS

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

The final cost of the solution is printed at  the  end  of
the  simulation;  however, no check is done to insure that
the system has actually converged.  Hence,  it  may  print
out nonsense results.

```

#### AUTHOR

```       Copyright (c) 1997, Gary William Flake.

Permission  granted  for any use according to the standard
GNU ``copyleft'' agreement provided that the author's com-
ments  are  neither  modified nor removed.  No warranty is
given or implied.

```