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

java.lang.Object
  extended by edu.memphis.ccrg.lida.framework.strategies.StrategyImpl
      extended by edu.memphis.ccrg.lida.framework.strategies.SigmoidDecayStrategy
All Implemented Interfaces:
Initializable, DecayStrategy, Strategy, java.io.Serializable

public class SigmoidDecayStrategy
extends StrategyImpl
implements DecayStrategy

Default implementation of sigmoid decay. 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 decay method call. Formula used: 1 / (1 + exp(-a* x + c))

Author:
Javier Snaider & Ryan
See Also:
Serialized Form

Constructor Summary
SigmoidDecayStrategy()
           
 
Method Summary
 double decay(double currentActivation, long ticks, java.util.Map<java.lang.String,? extends java.lang.Object> params)
           
 double decay(double currentActivation, long ticks, java.lang.Object... params)
          Decays the current activation according to some internal decay function.
 void init()
          This is a convenience method to initialize this Object.
 
Methods inherited from class edu.memphis.ccrg.lida.framework.strategies.StrategyImpl
getParam, 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
getParam, init
 

Constructor Detail

SigmoidDecayStrategy

public SigmoidDecayStrategy()
Method Detail

init

public void init()
Description copied from interface: Initializable
This is a convenience method to initialize this Object. It is called from init(Map parameters). Subclasses can overwrite this method in order to initialize this Object. But make sure to call super.init(); at the beginning of the implementation of this method.

Specified by:
init in interface Initializable
Overrides:
init in class StrategyImpl

decay

public double decay(double currentActivation,
                    long ticks,
                    java.lang.Object... params)
Description copied from interface: DecayStrategy
Decays the current activation according to some internal decay function.

Specified by:
decay in interface DecayStrategy
Parameters:
currentActivation - activation of the entity before decay.
ticks - The number of ticks to decay.
params - optional parameters
Returns:
new activation

decay

public double decay(double currentActivation,
                    long ticks,
                    java.util.Map<java.lang.String,? extends java.lang.Object> params)
Specified by:
decay in interface DecayStrategy
Parameters:
currentActivation - activation of the entity before decay.
ticks - how much time has passed since last decay
params - parameters
Returns:
new activation amount