org.simnet.networks
Class Hopfield

java.lang.Object
  extended by org.simnet.interfaces.Network
      extended by org.simnet.networks.Hopfield
All Implemented Interfaces:
EventListener, WorldListener

public class Hopfield
extends Network

Hopfield.


Field Summary
static int RANDOM_UPDATE
          Random update.
static int SEQUENTIAL_UPDATE
          Sequential update.
 
Fields inherited from class org.simnet.interfaces.Network
CONTINUOUS, DISCRETE
 
Constructor Summary
Hopfield()
          Default constructor.
Hopfield(int numNeurons, Layout layout)
          Creates a new hopfield network.
 
Method Summary
 void createConnections()
          Create full symmetric connections without self-connections.
 int getNumUnits()
           
 int getUpdateOrder()
           
 void randomizeWeights()
          Randomize weights symmetrically.
 void setUpdateOrder(int updateOrder)
          Sets the update order.
 void train()
          Apply hopfield training rule to current activation pattern.
 void update()
          Update nodes randomly or sequentially.
 
Methods inherited from class org.simnet.interfaces.Network
addNetwork, addNetworkList, addNetworkListener, addNeuron, addNeuron, addNeuronList, addWeight, addWeight, changeNeuron, changeSynapse, checkAllBounds, clearActivations, clearInputs, close, deleteNetwork, deleteNeuron, deleteNeuron, deleteWeight, deleteWeight, fireClampChanged, fireCouplingChanged, fireNetworkChanged, fireNeuronAdded, fireNeuronChanged, fireNeuronDeleted, fireSubnetAdded, fireSubnetDeleted, fireSynapseAdded, fireSynapseChanged, fireSynapseDeleted, getClampNeurons, getClampWeights, getCouplingList, getDepth, getFlatNetworkList, getFlatNeuronList, getFlatSynapseList, getId, getIndents, getInputNeurons, getInteractionMode, getListenerList, getNetwork, getNetworkList, getNetworkParent, getNetworkThread, getNeuron, getNeuron, getNeuronCount, getNeuronList, getOutputNeurons, getPrecision, getRoot, getRoundingOff, getState, getSynapse, getTime, getTimeLabel, getTimeStep, getTimeType, getType, getUnits, getWeight, getWeight, getWeight, getWeightCount, getWeightList, getWorkspace, init, initNeurons, initParents, initWeights, isRoot, isRoundOffActivationValues, isUpdateCompleted, randomizeNeurons, removeNetworkListener, round, roundAll, setClampNeurons, setClampWeights, setId, setInteractionMode, setLowerBounds, setNetworkList, setNetworkParent, setNetworkThread, setNeuronList, setPrecision, setRoundingOff, setRoundOffActivationValues, setTime, setTimeStep, setUpdateCompleted, setUpperBounds, setWeightList, setWeightsToZero, setWorkspace, toString, updateAllNetworks, updateAllNeurons, updateAllWeights, updateIds, updateInputs, updateTime, updateTimeType, updateTopLevel, updateWorldListeners, updateWorlds, worldChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RANDOM_UPDATE

public static final int RANDOM_UPDATE
Random update.

See Also:
Constant Field Values

SEQUENTIAL_UPDATE

public static final int SEQUENTIAL_UPDATE
Sequential update.

See Also:
Constant Field Values
Constructor Detail

Hopfield

public Hopfield()
Default constructor.


Hopfield

public Hopfield(int numNeurons,
                Layout layout)
Creates a new hopfield network.

Parameters:
numNeurons - Number of neurons in new network
layout - Neuron layout patern
Method Detail

createConnections

public void createConnections()
Create full symmetric connections without self-connections.


randomizeWeights

public void randomizeWeights()
Randomize weights symmetrically.

Overrides:
randomizeWeights in class Network

train

public void train()
Apply hopfield training rule to current activation pattern.


update

public void update()
Update nodes randomly or sequentially.

Specified by:
update in class Network

getNumUnits

public int getNumUnits()
Returns:
The number of neurons.

getUpdateOrder

public int getUpdateOrder()
Returns:
The update order.

setUpdateOrder

public void setUpdateOrder(int updateOrder)
Sets the update order.

Parameters:
updateOrder - The value to set