edu.cuny.tac.aa.strategy
Class CyclicBiddingStrategy

java.lang.Object
  extended by edu.cuny.tac.aa.GameInfo
      extended by edu.cuny.tac.aa.strategy.BiddingStrategy
          extended by edu.cuny.tac.aa.strategy.CyclicBiddingStrategy
All Implemented Interfaces:
edu.cuny.util.Parameterizable

public class CyclicBiddingStrategy
extends BiddingStrategy

This is a simple, non-adaptive, bidding strategy that is used in MetroClick for AA'09 qualifying rounds. It sets bids and spending limits up and down at prefixed values in a cyclic manner, partly aiming to fool opponents.

Version:
$Revision: 1 $
Author:
Jinzhong Niu

Field Summary
protected  int counter
          a counter that resets each cycle.
protected  int cycleInc
          an increase of cycle length after a cycle completes.
protected  int cycleLength
          the length of the current cycle.
static double[] DEFAULT_LEVELS
           
 int[][] DEFAULT_PHASES
          by default 1 day with high bid, 1 with medium bid, and the rest with low bids
static int HIGH_INDEX
           
protected static int INIT_CYCLE_LENGTH
           
protected  int initCycleLength
           
protected  double[] levels
           
protected  double limit
           
protected  double[] limitZoomers
          for low bids, medium bids, and high bids in order
static int LOW_INDEX
           
static int MEDIUM_INDEX
           
static java.lang.String P_CYCLE_INC
           
static java.lang.String P_CYCLE_LENGTH
           
static java.lang.String P_END
           
static java.lang.String P_LEVEL
           
static java.lang.String[] P_LEVELS
           
static java.lang.String P_LIMIT
           
static java.lang.String P_NUM
           
static java.lang.String P_PHASE
           
static java.lang.String P_START
           
protected  int[][] phases
          phases to set fixed bids
protected  double startLimitZoomer
           
 
Fields inherited from class edu.cuny.tac.aa.strategy.BiddingStrategy
advertiserInfo, bankStatus, bidBundles, constraintEffect, conversionsInCapacityWindow, dailyRecords, day, game, P_DEF_BASE, publisherInfo, queryReport, queryReports, querySpace, retailCatalog, salesReport, salesReports, slotInfo, specialty, startInfo, valueBundles
 
Fields inherited from class edu.cuny.tac.aa.GameInfo
BL, CAPACITY, CLICKS, COMPONENT, COMPONENT_NAMES, CONVERSIONS, COST, CPC, CTR, CVR, DAY_DIFF, DV, ERROR, Formatter, GAME_LENGTH, HIGH_CAPACITY, IMPRESSIONS, INCOME, INDIV_POPULATION_SIZE, LIMIT, LOW_CAPACITY, MANUFACTURER, MANUFACTURER_NAMES, MED_CAPACITY, NUM_OF_COMPONENTS, NUM_OF_MANUFACTURERS, NUM_OF_PRODUCTS, NUM_OF_USER_STAETS, P_AA, POSITION, PR_BST_NStoIS, PR_BST_NStoNS, PR_BURST, PR_F0toF0, PR_F0toF1, PR_F0toNS, PR_F1toF1, PR_F1toF2, PR_F1toNS, PR_F2toF2, PR_F2toNS, PR_IStoF0, PR_IStoF1, PR_IStoF2, PR_IStoIS, PR_IStoNS, PR_STD_NStoIS, PR_STD_NStoNS, PR_TtoNS, PR_TtoT, PROFIT_RATE, PROFIT_UNIT_RATE, PROMOTED, PROMOTED_IMPRESSIONS, REGULAR, REGULAR_IMPRESSIONS, REVENUE, USER_STATE_NAMES, USP
 
Constructor Summary
CyclicBiddingStrategy()
           
 
Method Summary
protected  edu.umich.eecs.tac.props.BidBundle prepareBidBundle(edu.umich.eecs.tac.props.BidBundle valueBundle)
           
 void setup(edu.cuny.util.ParameterDatabase parameters, edu.cuny.util.Parameter base)
           
 java.lang.String toString()
           
 
Methods inherited from class edu.cuny.tac.aa.strategy.BiddingStrategy
calculateBidBundle, createDailyRecord, displayDailyReport, displayGameReport, endOfDay, estimateCapacityConstraintEffect, estimateCVR, estimateUSP, estimateValue, estimateValues, getAdvertiserInfo, getBankStatus, getConstraintEffect, getDailyRecords, getDay, getPublisherInfo, getQuerySpace, getRetailCatalog, getSlotInfo, getSpecialty, getStartInfo, handleAdvertiserInfo, handleBankStatus, handlePublisherInfo, handleQueryReport, handleRetailCatalog, handleSalesReport, handleSimulationStatus, handleSlotInfo, handleStartInfo, isComponentSpecialty, isLastDayBidding, isManufacturerSpecialty, isSpecialty, messageReceived, setAdvertiserInfo, setBankStatus, setConstraintEffect, setDailyRecords, setPublisherInfo, setQuerySpace, setRetailCatalog, setSlotInfo, setSpecialty, setStartInfo, simulationFinished, simulationSetup
 
Methods inherited from class edu.cuny.tac.aa.GameInfo
isHighCapacity, isLowCapacity, isMedCapacity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

P_LIMIT

public static final java.lang.String P_LIMIT
See Also:
Constant Field Values

P_PHASE

public static final java.lang.String P_PHASE
See Also:
Constant Field Values

P_NUM

public static final java.lang.String P_NUM
See Also:
Constant Field Values

P_START

public static final java.lang.String P_START
See Also:
Constant Field Values

P_END

public static final java.lang.String P_END
See Also:
Constant Field Values

P_LEVEL

public static final java.lang.String P_LEVEL
See Also:
Constant Field Values

P_LEVELS

public static final java.lang.String[] P_LEVELS

HIGH_INDEX

public static final int HIGH_INDEX
See Also:
Constant Field Values

MEDIUM_INDEX

public static final int MEDIUM_INDEX
See Also:
Constant Field Values

LOW_INDEX

public static final int LOW_INDEX
See Also:
Constant Field Values

P_CYCLE_LENGTH

public static final java.lang.String P_CYCLE_LENGTH
See Also:
Constant Field Values

P_CYCLE_INC

public static final java.lang.String P_CYCLE_INC
See Also:
Constant Field Values

INIT_CYCLE_LENGTH

protected static final int INIT_CYCLE_LENGTH
See Also:
Constant Field Values

initCycleLength

protected int initCycleLength

cycleLength

protected int cycleLength
the length of the current cycle.


cycleInc

protected int cycleInc
an increase of cycle length after a cycle completes.


counter

protected int counter
a counter that resets each cycle.


DEFAULT_LEVELS

public static final double[] DEFAULT_LEVELS

levels

protected double[] levels

DEFAULT_PHASES

public int[][] DEFAULT_PHASES
by default 1 day with high bid, 1 with medium bid, and the rest with low bids


phases

protected int[][] phases
phases to set fixed bids


limit

protected double limit

limitZoomers

protected double[] limitZoomers
for low bids, medium bids, and high bids in order


startLimitZoomer

protected double startLimitZoomer
Constructor Detail

CyclicBiddingStrategy

public CyclicBiddingStrategy()
Method Detail

setup

public void setup(edu.cuny.util.ParameterDatabase parameters,
                  edu.cuny.util.Parameter base)
Specified by:
setup in interface edu.cuny.util.Parameterizable
Overrides:
setup in class BiddingStrategy

prepareBidBundle

protected edu.umich.eecs.tac.props.BidBundle prepareBidBundle(edu.umich.eecs.tac.props.BidBundle valueBundle)
Specified by:
prepareBidBundle in class BiddingStrategy
Returns:
the bids for the coming day

toString

public java.lang.String toString()
Overrides:
toString in class BiddingStrategy