edu.memphis.ccrg.lida.framework.shared.activation
Interface Learnable

All Superinterfaces:
Activatible, Initializable
All Known Subinterfaces:
AttentionCodelet, Codelet, DetectionAlgorithm, FrameworkTask, PamLink, PamLinkable, PamNode, Scheme, StructureBuildingCodelet
All Known Implementing Classes:
AddLinkToPerceptTask, AddNodeStructureToPerceptTask, AddNodeToPerceptTask, AttentionCodeletImpl, BasicAttentionCodelet, BasicDetectionAlgorithm, BasicStructureBuildingCodelet, CodeletImpl, CueBackgroundTask, DefaultAttentionCodelet, ExcitationTask, FrameworkTaskImpl, LearnableImpl, MultipleDetectionAlgorithm, NeighborhoodAttentionCodelet, PamLinkImpl, PamNodeImpl, PropagationTask, SchemeImpl, SensoryMemoryBackgroundTask, StructureBuildingCodeletImpl, TriggerTask, UpdateCsmBackgroundTask

public interface Learnable
extends Activatible

An Activatible that additionally has a base-level activation. It is used mostly for learning. The classes that implement this interface have a decay and reinforce base level activation. If the base level activation reaches zero, the element should be deleted (decay away)

Author:
Javier Snaider, Ryan J. McCall

Field Summary
static double DEFAULT_BASE_LEVEL_ACTIVATION
          Default base-level activation for Learnable
static double DEFAULT_LEARNABLE_REMOVAL_THRESHOLD
          Default removal threshold for Learnable.
 
Fields inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Activatible
DEFAULT_ACTIVATIBLE_REMOVAL_THRESHOLD, DEFAULT_ACTIVATION
 
Method Summary
 void decayBaseLevelActivation(long ticks)
          decay the Base Level activation using the decay strategy.
 double getBaseLevelActivation()
          Returns base level activation.
 DecayStrategy getBaseLevelDecayStrategy()
          Gets decay strategy for the Base Level activation
 ExciteStrategy getBaseLevelExciteStrategy()
          Gets BaseLevelExciteStrategy
 double getLearnableRemovalThreshold()
          Gets learnableRemovalThreshold
 TotalActivationStrategy getTotalActivationStrategy()
          Returns TotalActivationStrategy
 void reinforceBaseLevelActivation(double amount)
          The Base Level activation of this node is increased using the excitation value as a parameter for the ExciteStrategy.
 void setBaseLevelActivation(double amount)
          Set base level activation.
 void setBaseLevelDecayStrategy(DecayStrategy strategy)
          Sets decay strategy for the Base Level activation
 void setBaseLevelExciteStrategy(ExciteStrategy strategy)
          Sets BaseLevelExciteStrategy
 void setBaseLevelRemovalThreshold(double threshold)
          Sets learnableRemovalThreshold
 void setTotalActivationStrategy(TotalActivationStrategy strategy)
          Sets TotalActivationStrategy
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Activatible
decay, excite, getActivatibleRemovalThreshold, getActivation, getDecayStrategy, getExciteStrategy, getTotalActivation, isRemovable, setActivatibleRemovalThreshold, setActivation, setDecayStrategy, setExciteStrategy
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.initialization.Initializable
containsParameter, getParam, getParameters, init, init
 

Field Detail

DEFAULT_LEARNABLE_REMOVAL_THRESHOLD

static final double DEFAULT_LEARNABLE_REMOVAL_THRESHOLD
Default removal threshold for Learnable. With this value the Learnable will never decay away because base-level activation is never negative.

See Also:
Constant Field Values

DEFAULT_BASE_LEVEL_ACTIVATION

static final double DEFAULT_BASE_LEVEL_ACTIVATION
Default base-level activation for Learnable

See Also:
Constant Field Values
Method Detail

getBaseLevelActivation

double getBaseLevelActivation()
Returns base level activation.

Returns:
activation representing the degree this Learnable has been learned.

setBaseLevelActivation

void setBaseLevelActivation(double amount)
Set base level activation. Used for initialization, not during regular execution, use reinforceBaseLevelActivation(double) instead.

Parameters:
amount - new base level activation amount

reinforceBaseLevelActivation

void reinforceBaseLevelActivation(double amount)
The Base Level activation of this node is increased using the excitation value as a parameter for the ExciteStrategy. This is primarily used for learning.

Parameters:
amount - the value to be used to increase the Base Level activation of this node

decayBaseLevelActivation

void decayBaseLevelActivation(long ticks)
decay the Base Level activation using the decay strategy. The decay depends on the time since the last decaying. It is indicated by the parameter ticks.

Parameters:
ticks - the number of ticks to decay

setBaseLevelExciteStrategy

void setBaseLevelExciteStrategy(ExciteStrategy strategy)
Sets BaseLevelExciteStrategy

Parameters:
strategy - the Excite strategy for the current activation.

getBaseLevelExciteStrategy

ExciteStrategy getBaseLevelExciteStrategy()
Gets BaseLevelExciteStrategy

Returns:
the excite strategy

setBaseLevelDecayStrategy

void setBaseLevelDecayStrategy(DecayStrategy strategy)
Sets decay strategy for the Base Level activation

Parameters:
strategy - the decay strategy for the Base Level activation.

getBaseLevelDecayStrategy

DecayStrategy getBaseLevelDecayStrategy()
Gets decay strategy for the Base Level activation

Returns:
the decay strategy for the Base Level activation.

setBaseLevelRemovalThreshold

void setBaseLevelRemovalThreshold(double threshold)
Sets learnableRemovalThreshold

Parameters:
threshold - threshold for removal of this Learnable

getLearnableRemovalThreshold

double getLearnableRemovalThreshold()
Gets learnableRemovalThreshold

Returns:
threshold for removal of this learnable

getTotalActivationStrategy

TotalActivationStrategy getTotalActivationStrategy()
Returns TotalActivationStrategy

Returns:
Strategy this Learnable uses to calculate total activation.

setTotalActivationStrategy

void setTotalActivationStrategy(TotalActivationStrategy strategy)
Sets TotalActivationStrategy

Parameters:
strategy - Strategy this Learnable uses to calculate total activation.