uk.ac.liv.auction.agent
Class MixedStrategy

java.lang.Object
  extended byuk.ac.liv.auction.agent.AbstractStrategy
      extended byuk.ac.liv.auction.agent.MixedStrategy
All Implemented Interfaces:
AuctionEventListener, java.lang.Cloneable, Parameterizable, Prototypeable, Resetable, java.io.Serializable, Strategy

public class MixedStrategy
extends AbstractStrategy
implements Parameterizable, Resetable, java.io.Serializable

A class representing a mixed strategy. A mixed strategy is a strategy in which we play a number of pure strategies with different probabilities on each auction round.

Parameters

base.n
int >= 1
(the number of pure strategies)
base.i
classname, inherits uk.ac.liv.auction.agent.Strategy
(the class for pure strategy #i)
base.i.prob
double [0, 1]
(the probability of playing pure strategy #i)

Version:
$Revision: 1.19 $
Author:
Steve Phelps
See Also:
Serialized Form

Field Summary
protected  AbstractStrategy currentStrategy
          The strategy currently being played
protected  DiscreteProbabilityDistribution probabilities
          The probabilities for playing each strategy
protected  AbstractStrategy[] pureStrategies
          The pure strategy components
 
Fields inherited from class uk.ac.liv.auction.agent.AbstractStrategy
agent, auction, currentShout
 
Constructor Summary
MixedStrategy()
           
MixedStrategy(DiscreteProbabilityDistribution probabilities, AbstractStrategy[] pureStrategies)
           
 
Method Summary
 void addPureStrategies(java.util.Collection pureStrategies)
           
 int determineQuantity(Auction auction)
           
 void endOfRound(Auction auction)
           
 Strategy getCurrentStrategy()
           
 boolean modifyShout(Shout.MutableShout shout)
          Modify the price and quantity of the given shout according to this strategy.
 void reset()
          Reinitialise our state to the original settings.
 void setProbabilityDistribution(DiscreteProbabilityDistribution probabilities)
           
 void setup(ec.util.ParameterDatabase parameters, ec.util.Parameter base)
          Initialise this object from a parameter database.
 
Methods inherited from class uk.ac.liv.auction.agent.AbstractStrategy
eventOccurred, getAgent, initialise, modifyShout, protoClone, setAgent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

probabilities

protected DiscreteProbabilityDistribution probabilities
The probabilities for playing each strategy


pureStrategies

protected AbstractStrategy[] pureStrategies
The pure strategy components


currentStrategy

protected AbstractStrategy currentStrategy
The strategy currently being played

Constructor Detail

MixedStrategy

public MixedStrategy(DiscreteProbabilityDistribution probabilities,
                     AbstractStrategy[] pureStrategies)

MixedStrategy

public MixedStrategy()
Method Detail

setup

public void setup(ec.util.ParameterDatabase parameters,
                  ec.util.Parameter base)
Description copied from interface: Parameterizable
Initialise this object from a parameter database.

Specified by:
setup in interface Parameterizable

addPureStrategies

public void addPureStrategies(java.util.Collection pureStrategies)

setProbabilityDistribution

public void setProbabilityDistribution(DiscreteProbabilityDistribution probabilities)

modifyShout

public boolean modifyShout(Shout.MutableShout shout)
Description copied from class: AbstractStrategy
Modify the price and quantity of the given shout according to this strategy.

Overrides:
modifyShout in class AbstractStrategy
Returns:
false if no shout is to be placed at this time

endOfRound

public void endOfRound(Auction auction)
Specified by:
endOfRound in class AbstractStrategy

getCurrentStrategy

public Strategy getCurrentStrategy()

reset

public void reset()
Description copied from interface: Resetable
Reinitialise our state to the original settings.

Specified by:
reset in interface Resetable
Overrides:
reset in class AbstractStrategy

determineQuantity

public int determineQuantity(Auction auction)
Specified by:
determineQuantity in interface Strategy