uchicago.src.repastdemos.neural
Class Employee

java.lang.Object
  extended by uchicago.src.sim.network.DefaultNode
      extended by uchicago.src.sim.network.DefaultDrawableNode
          extended by uchicago.src.repastdemos.neural.Employee
All Implemented Interfaces:
AutoStepable, Drawable2DGridNode, DrawableNonGridNode, Moveable, NonGridDrawable, Node
Direct Known Subclasses:
TrainedEmployee

public class Employee
extends DefaultDrawableNode
implements AutoStepable

This class represents the agents who are to perform an action for the Boss. The agent learns to perform the correct action by training a neural network based on the commands received, and whether they were scolded for the action they did perform, or praised.

Version:
$Revision: 1.1 $ $Date: 2005/08/12 20:04:54 $
Author:
Jerry Vos

Nested Class Summary
 
Nested classes/interfaces inherited from class uchicago.src.sim.network.DefaultNode
DefaultNode.OrderedHashMap
 
Field Summary
static int BOSS_A
           
static int BOSS_B
           
protected  org.joone.io.MemoryInputSynapse desiredNetworkOutput
          This is used to store the output that we want to train the network towards
static int DO_NOTHING
           
static int DO_SOMETHING
           
protected  org.joone.engine.DirectSynapse inputForRetrieval
          This is the input synapse used to grab information from the network.
protected  org.joone.io.MemoryInputSynapse inputForTraining
          This is used to store the input that results in the desired output
protected  RepastNeuralWrapper net
          This is the neural network used by this employee
 
Fields inherited from class uchicago.src.sim.network.DefaultDrawableNode
item
 
Fields inherited from class uchicago.src.sim.network.DefaultNode
inEdges, inMap, label, outEdges, outMap
 
Constructor Summary
Employee()
           
Employee(double x, double y)
           
 
Method Summary
protected  void doNothing()
           
protected  void doSomething()
           
 void draw(SimGraphics g)
          Draws this Drawable2DGridNode.
 double getActionPerformed()
           
 double[] getCommands()
           
 double getError()
           
 void postStep()
          normally the method for swapping in new public data and otherwise handling the results/cleanup of a step
 void praise(Boss boss)
           
 void preStep()
          normally the method for setting up an agent for the next step
 void receiveCommand(int bossID, int command)
           
static void resetIndices()
           
 void scold(Boss boss)
           
 void step()
          normally the method that performs the actual actions of a step
 
Methods inherited from class uchicago.src.sim.network.DefaultDrawableNode
allowResizing, calcSize, contains, getBorderColor, getBorderWidth, getColor, getFont, getHeight, getLabelColor, getNode, getWidth, getX, getY, setBorderColor, setBorderWidth, setColor, setDrawable, setDrawableNoCopy, setFont, setHeight, setLabelColor, setNodeLabel, setWidth, setX, setX, setY, setY
 
Methods inherited from class uchicago.src.sim.network.DefaultNode
addInEdge, addInEdges, addOutEdge, addOutEdges, clearInEdges, clearOutEdges, getEdgesFrom, getEdgesTo, getFromNodes, getId, getInDegree, getInEdges, getInNodes, getNodeLabel, getNumInEdges, getNumOutEdges, getOutDegree, getOutEdges, getOutNodes, getRandomFromNode, getRandomNodeIn, getRandomNodeOut, getRandomToNode, getToNodes, hasEdgeFrom, hasEdgeTo, hasEdgeToOrFrom, makeRandomInEdge, makeRandomOutEdge, removeEdgesFrom, removeEdgesTo, removeInEdge, removeOutEdge
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface uchicago.src.sim.gui.DrawableNonGridNode
getOutEdges
 
Methods inherited from interface uchicago.src.sim.gui.Drawable2DGridNode
getOutEdges
 

Field Detail

DO_NOTHING

public static final int DO_NOTHING
See Also:
Constant Field Values

DO_SOMETHING

public static final int DO_SOMETHING
See Also:
Constant Field Values

BOSS_A

public static final int BOSS_A
See Also:
Constant Field Values

BOSS_B

public static final int BOSS_B
See Also:
Constant Field Values

net

protected RepastNeuralWrapper net
This is the neural network used by this employee


desiredNetworkOutput

protected org.joone.io.MemoryInputSynapse desiredNetworkOutput
This is used to store the output that we want to train the network towards


inputForTraining

protected org.joone.io.MemoryInputSynapse inputForTraining
This is used to store the input that results in the desired output


inputForRetrieval

protected org.joone.engine.DirectSynapse inputForRetrieval
This is the input synapse used to grab information from the network. DirectSynapses work the best for this type of usage, that is, when a single input pattern will be applied to the network.

Constructor Detail

Employee

public Employee(double x,
                double y)
         throws RepastException
Throws:
RepastException

Employee

public Employee()
         throws RepastException
Throws:
RepastException
Method Detail

resetIndices

public static void resetIndices()

preStep

public void preStep()
             throws NeuralException
Description copied from interface: AutoStepable
normally the method for setting up an agent for the next step

Specified by:
preStep in interface AutoStepable
Throws:
NeuralException

step

public void step()
          throws NeuralException
Description copied from interface: AutoStepable
normally the method that performs the actual actions of a step

Specified by:
step in interface AutoStepable
Throws:
NeuralException

postStep

public void postStep()
Description copied from interface: AutoStepable
normally the method for swapping in new public data and otherwise handling the results/cleanup of a step

Specified by:
postStep in interface AutoStepable

draw

public void draw(SimGraphics g)
Description copied from interface: Drawable2DGridNode
Draws this Drawable2DGridNode.

Specified by:
draw in interface Drawable2DGridNode
Specified by:
draw in interface NonGridDrawable
Overrides:
draw in class DefaultDrawableNode
Parameters:
g - the SimGraphics object used for drawing

scold

public void scold(Boss boss)

praise

public void praise(Boss boss)

receiveCommand

public void receiveCommand(int bossID,
                           int command)

doNothing

protected void doNothing()

doSomething

protected void doSomething()

getActionPerformed

public double getActionPerformed()

getCommands

public double[] getCommands()

getError

public double getError()
Returns:
returns the neural network's error