edu.memphis.ccrg.lida.framework.strategies
Class SigmoidExciteStrategy

java.lang.Object
  extended by edu.memphis.ccrg.lida.framework.initialization.InitializableImpl
      extended by edu.memphis.ccrg.lida.framework.strategies.StrategyImpl
          extended by edu.memphis.ccrg.lida.framework.strategies.SigmoidExciteStrategy
All Implemented Interfaces:
Initializable, ExciteStrategy, Strategy

public class SigmoidExciteStrategy
extends StrategyImpl
implements ExciteStrategy

Default implementation of sigmoid excite. Uses two parameters in activation calculation. Can pass these parameters when the strategy is initialized. (see factoriesData.xml). Alternatively, parameters can be passed in the excite method call. Formula used: 1 / (1 + exp(-a* x + c))

Author:
Ryan J. McCall, Javier Snaider

Constructor Summary
SigmoidExciteStrategy()
           
 
Method Summary
 double excite(double currentActivation, double excitation, java.util.Map<java.lang.String,? extends java.lang.Object> params)
          Excites the current activation according to some internal excite function.
 double excite(double curActiv, double excitation, java.lang.Object... params)
          Excites the current activation according to some internal excite function.
 void init()
          If this method is overridden, this init() must be called first! i.e.
 
Methods inherited from class edu.memphis.ccrg.lida.framework.initialization.InitializableImpl
containsParameter, getParam, getParameters, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.initialization.Initializable
containsParameter, getParam, getParameters, init
 

Constructor Detail

SigmoidExciteStrategy

public SigmoidExciteStrategy()
Method Detail

init

public void init()
If this method is overridden, this init() must be called first! i.e. super.init(); Will set parameters with the following names:

a slope component of the decay function's linear scaling, 1 / (1 + exp(-a* x + c))
c intercept component of the decay function's linear scaling, 1 / (1 + exp(-a* x + c))
If any parameter is not specified its default value will be used.

Specified by:
init in interface Initializable
Overrides:
init in class InitializableImpl
See Also:
Initializable

excite

public double excite(double curActiv,
                     double excitation,
                     java.lang.Object... params)
Excites the current activation according to some internal excite function.

Specified by:
excite in interface ExciteStrategy
Parameters:
curActiv - activation of the entity before excite.
excitation - amount of activation to adds
params - optionally accepts 2 double parameters of sigmoid activation calculation.
Returns:
new activation amount

excite

public double excite(double currentActivation,
                     double excitation,
                     java.util.Map<java.lang.String,? extends java.lang.Object> params)
Excites the current activation according to some internal excite function.

Specified by:
excite in interface ExciteStrategy
Parameters:
currentActivation - activation of the entity before excite.
excitation - amount of activation to adds
params - optionally accepts 2 parameters of sigmoid activation calculation.
Returns:
new activation amount