net.sourceforge.jabm.learning
Class NPTRothErevLearner

java.lang.Object
  extended by net.sourceforge.jabm.learning.AbstractLearner
      extended by net.sourceforge.jabm.learning.RothErevLearner
          extended by net.sourceforge.jabm.learning.NPTRothErevLearner
All Implemented Interfaces:
java.io.Serializable, DiscreteLearner, Learner, StimuliResponseLearner

public class NPTRothErevLearner
extends RothErevLearner

A modification of RothErev to address parameter degeneracy, and modified learning with 0-reward. These modifications are made in the context of using the RE algorithm for trader agents in a double auction. See:

"Market Power and Efficiency in a Computational Electricity Market with Discriminatory Double-Auction Pricing" Nicolaisen, Petrov & Tesfatsion
in IEEE Transactions on Evolutionary Computation Vol. 5, No. 5, p 504.

See Also:
Serialized Form
 

Field Summary
 
Fields inherited from class net.sourceforge.jabm.learning.RothErevLearner
deltaP, e, iteration, k, lastAction, probabilities, q, r, s1
 
Fields inherited from class net.sourceforge.jabm.learning.AbstractLearner
monitor
 
Constructor Summary
NPTRothErevLearner(int k, double r, double e, double s1, cern.jet.random.engine.RandomEngine prng)
           
NPTRothErevLearner(int k, cern.jet.random.engine.RandomEngine prng)
           
NPTRothErevLearner(int k, cern.jet.random.engine.RandomEngine prng, double[] propensities)
           
NPTRothErevLearner(cern.jet.random.engine.RandomEngine prng)
           
 
Method Summary
 double experience(int i, int action, double reward)
          The modified update function.
 
Methods inherited from class net.sourceforge.jabm.learning.RothErevLearner
act, bestAction, choose, dumpState, getE, getIteration, getK, getLastAction, getLearningDelta, getNumberOfActions, getProbabilities, getProbability, getR, getS1, protoClone, resetPropensities, reward, setExperimentation, setPropensities, setRecency, setScaling, toString, updateProbabilities, updatePropensities, validateParams, worstAction
 
Methods inherited from class net.sourceforge.jabm.learning.AbstractLearner
monitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sourceforge.jabm.learning.Learner
monitor
 

Constructor Detail

NPTRothErevLearner

public NPTRothErevLearner(int k,
                          double r,
                          double e,
                          double s1,
                          cern.jet.random.engine.RandomEngine prng)

NPTRothErevLearner

public NPTRothErevLearner(cern.jet.random.engine.RandomEngine prng)

NPTRothErevLearner

public NPTRothErevLearner(int k,
                          cern.jet.random.engine.RandomEngine prng,
                          double[] propensities)

NPTRothErevLearner

public NPTRothErevLearner(int k,
                          cern.jet.random.engine.RandomEngine prng)
Method Detail

experience

public double experience(int i,
                         int action,
                         double reward)
The modified update function.

Overrides:
experience in class RothErevLearner
Parameters:
i - The action under consideration
action - The last action chosen