net.sourceforge.jabm.strategy
Class RlStrategyWithImitation

java.lang.Object
  extended by net.sourceforge.jabm.strategy.AbstractStrategy
      extended by net.sourceforge.jabm.strategy.AbstractRlStrategy
          extended by net.sourceforge.jabm.strategy.RlStrategy
              extended by net.sourceforge.jabm.strategy.RlStrategyWithImitation
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, EventListener, Taggable, ImitableStrategy, ImitatingStrategy, Strategy, org.springframework.beans.factory.InitializingBean

public class RlStrategyWithImitation
extends RlStrategy
implements ImitableStrategy, ImitatingStrategy

See Also:
Serialized Form
 

Field Summary
protected  org.springframework.beans.factory.ObjectFactory<Strategy> mutationFactory
           
protected  cern.jet.random.engine.RandomEngine prng
           
 
Fields inherited from class net.sourceforge.jabm.strategy.RlStrategy
learner
 
Fields inherited from class net.sourceforge.jabm.strategy.AbstractRlStrategy
actions, currentStrategy, initialPropensities, strategyFactory
 
Fields inherited from class net.sourceforge.jabm.strategy.AbstractStrategy
agent, scheduler
 
Constructor Summary
RlStrategyWithImitation(Agent agent, org.springframework.beans.factory.ObjectFactory<Strategy> strategyFactory, StimuliResponseLearner learner)
           
RlStrategyWithImitation(org.springframework.beans.factory.ObjectFactory<Strategy> strategyFactory, StimuliResponseLearner learner)
           
 
Method Summary
 Strategy createMimicStrategy()
           
 void disposeOfAction(int action)
           
 org.springframework.beans.factory.ObjectFactory<Strategy> getMutationFactory()
           
 cern.jet.random.engine.RandomEngine getPrng()
           
 void imitate(Agent otherAgent)
           
 void mutate()
           
 void setMutationFactory(org.springframework.beans.factory.ObjectFactory<Strategy> mutationFactory)
           
 void setPrng(cern.jet.random.engine.RandomEngine prng)
           
 
Methods inherited from class net.sourceforge.jabm.strategy.RlStrategy
afterPropertiesSet, clone, execute, getLearner, getNumberOfActions, getTag, initialise, setAgent, setInitialPropensities, setLearner, setTag, subscribeToEvents
 
Methods inherited from class net.sourceforge.jabm.strategy.AbstractRlStrategy
getInitialPropensities, getStrategyFactory, setStrategyFactory, unsubscribeFromEvents
 
Methods inherited from class net.sourceforge.jabm.strategy.AbstractStrategy
eventOccurred, fireEvent, getAgent, getScheduler, onSimulationFinished, setScheduler, subscribeToEvents
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sourceforge.jabm.strategy.Strategy
clone, execute, getAgent, setAgent, subscribeToEvents, unsubscribeFromEvents
 
Methods inherited from interface net.sourceforge.jabm.event.EventListener
eventOccurred
 

Field Detail

prng

protected cern.jet.random.engine.RandomEngine prng

mutationFactory

protected org.springframework.beans.factory.ObjectFactory<Strategy> mutationFactory
Constructor Detail

RlStrategyWithImitation

public RlStrategyWithImitation(Agent agent,
                               org.springframework.beans.factory.ObjectFactory<Strategy> strategyFactory,
                               StimuliResponseLearner learner)

RlStrategyWithImitation

public RlStrategyWithImitation(org.springframework.beans.factory.ObjectFactory<Strategy> strategyFactory,
                               StimuliResponseLearner learner)
Method Detail

imitate

public void imitate(Agent otherAgent)
Specified by:
imitate in interface ImitatingStrategy

createMimicStrategy

public Strategy createMimicStrategy()
Specified by:
createMimicStrategy in interface ImitableStrategy

getPrng

public cern.jet.random.engine.RandomEngine getPrng()

setPrng

public void setPrng(cern.jet.random.engine.RandomEngine prng)

mutate

public void mutate()
Specified by:
mutate in interface ImitatingStrategy

disposeOfAction

public void disposeOfAction(int action)

getMutationFactory

public org.springframework.beans.factory.ObjectFactory<Strategy> getMutationFactory()

setMutationFactory

public void setMutationFactory(org.springframework.beans.factory.ObjectFactory<Strategy> mutationFactory)