#ifndef POSTEDPRICE_HPP
#define POSTEDPRICE_HPP
#include "bce.hpp"
private:
double price;
vector<double> prPlayerWins;
public:
PostedPrice(int nv,
double _price,
double _prPlayer0Wins):
price(_price)
{
prPlayerWins = vector<double>(2,0);
prPlayerWins[0] = _prPlayer0Wins;
prPlayerWins[1] = 1-_prPlayer0Wins;
}
double prior (
int state,
const vector<int> & types)
const {
}
const vector<int> & actions,
int obj) const {
if (obj<2)
{
double val = static_cast<double>(state)/(numStates-1);
int ownChoice = actions[obj];
int otherChoice = actions[1-obj];
if (ownChoice == 0)
return 0.0;
if (ownChoice == 1 && otherChoice ==1)
return prPlayerWins[obj]*(val-price);
if (ownChoice ==1)
return val-price;
}
else if (obj==2)
{
if (actions[0] == 1 || actions[1] == 1)
return price;
}
return 0;
}
};
#endif
The base class for games of incomplete information.
Definition: bceabstractgame.hpp:52
int numStates
The number of payoff relevant states.
Definition: bceabstractgame.hpp:65
virtual double objective(int state, const vector< int > &actions, int obj) const =0
Objective function.
virtual double prior(int state, const vector< int > &types) const =0
Prior over state and types.
BCEAbstractGame()
Default constructor.
Definition: bceabstractgame.cpp:25