clarion.system
Class DriveEquation

java.lang.Object
  extended by clarion.system.AbstractImplicitModule
      extended by clarion.system.AbstractEquation
          extended by clarion.system.DriveEquation
All Implemented Interfaces:
InterfaceHandlesFeedback

public class DriveEquation
extends AbstractEquation

This class implements a drive equation within CLARION. It extends the AbstractEquation class.

Usage:

This class implements one option for calculating drive strengths for a drive using:
DriveStrength = (DRIVE_GAIN * SYSTEM_GAIN * UNIVERAL_GAIN) * Deficit * Stimulus + Baseline

This class can be used as the implicit module within a drive for calculating a drive strength.

If you are using the drive equation, the input MUST contain a dimension with an ID equal to the ID of this drive associated with this equation that contains values with the IDs:

The above IDs must be of enumerated type RequiredEquationInputs. All other dimensions and values in the input will be ignored.

Note that if the drive, with which this equation is associated, belongs to both the BIS and BAS, the SYSTEM_GAIN should be set to the average of the gains of the two drives.

While it is completely within the capabilities of this system to use equations within CLARION, equations are NOT sub-symbolic or distributed in nature. Therefore, it is encouraged that you only use equations in the bottom level for testing and debugging purposes. Instead, you are advised to use a more sub-symbolic structure (such as a neural network) for the implicit modules within CLARION.

Version:
6.0.4.5
Author:
Nick Wilson

Nested Class Summary
static class DriveEquation.RequiredEquationInputs
          The enumerator to use for the IDs for the inputs that are required for this equation.
 
Field Summary
private  java.lang.Object ID
          The ID of the drive to which this equation is attached.
 
Fields inherited from class clarion.system.AbstractEquation
Feedback, NewInput
 
Fields inherited from class clarion.system.AbstractImplicitModule
ACTUATION_TIME, ChosenOutput, DECISION_TIME, GLOBAL_ACTUATION_TIME, GLOBAL_DECISION_TIME, GLOBAL_PERCEPTION_TIME, InputAsCollection, Output, PERCEPTION_TIME
 
Constructor Summary
DriveEquation(java.lang.Object id, java.util.Collection<Dimension> InputSpace, AbstractOutputChunkCollection<? extends AbstractOutputChunk> Outputs)
          Initializes a drive equation.
 
Method Summary
 boolean checkMatchCriterion()
          This method does nothing as it is not used by the CLARION Library for this equation.
 void forwardPass()
          Calculates the output activations based on the current input.
 
Methods inherited from class clarion.system.AbstractEquation
getFeedback, setFeedback
 
Methods inherited from class clarion.system.AbstractImplicitModule
getChosenOutput, getInput, getNumInput, getNumOutput, getOutput, getOutput, getResponseTime, setChosenOutput, setInput, setInput, setInput
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

private java.lang.Object ID
The ID of the drive to which this equation is attached.

Constructor Detail

DriveEquation

public DriveEquation(java.lang.Object id,
                     java.util.Collection<Dimension> InputSpace,
                     AbstractOutputChunkCollection<? extends AbstractOutputChunk> Outputs)
Initializes a drive equation.

Parameters:
InputSpace - The input space for the equation.
Outputs - The outputs for the equation.
Method Detail

forwardPass

public void forwardPass()
                 throws InvalidFormatException
Calculates the output activations based on the current input. This method should not be called until the setInput method has been called setting the input activations to the current state.

Specified by:
forwardPass in class AbstractImplicitModule
Throws:
InvalidFormatException - If the input to the equation does not contain the required equation inputs.

checkMatchCriterion

public boolean checkMatchCriterion()
This method does nothing as it is not used by the CLARION Library for this equation.

Returns:
False