MultiAgentDecisionProcess
BGCG_Solver Class Referenceabstract

BGCG_Solver is a base class for collaborative graphical bayesian games. More...

#include <BGCG_Solver.h>

Inheritance diagram for BGCG_Solver:
[legend]

Public Member Functions

 BGCG_Solver (const boost::shared_ptr< const BayesianGameCollaborativeGraphical > &bgcg, size_t nrSolutions=1)
 (default) Constructor More...
 
boost::shared_ptr< const
BayesianGameCollaborativeGraphical
GetBGCG () const
 
BGCG_Solveroperator= (const BGCG_Solver &o)
 Copy assignment operator. More...
 
virtual double Solve ()=0
 The methods that performs the planning. More...
 
virtual ~BGCG_Solver ()
 Copy constructor. More...
 
- Public Member Functions inherited from BayesianGameIdenticalPayoffSolver
void AddSolution (const JointPolicyPureVector &jp, double value)
 
void AddSolution (const JointPolicyPureVectorForClusteredBG &jp, double value)
 
void AddSolution (LIndex jpolIndex, double value)
 
 BayesianGameIdenticalPayoffSolver (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t nrDesiredSolutions=1)
 (default) Constructor More...
 
double Evaluate (const JointPolicyPureVector &jpolBG) const
 
double Evaluate (const JointPolicyPureVectorForClusteredBG &jpolBG) const
 
boost::shared_ptr< const
BayesianGameIdenticalPayoffInterface
GetBGIPI () const
 
double GetExpectedReward () const
 
const boost::shared_ptr
< JointPolicy
GetJointPolicy () const
 
const JointPolicyPureVectorGetJointPolicyPureVector () const
 
virtual boost::shared_ptr
< JointPolicyDiscretePure
GetNewJpol () const
 returns a new policy to be used with this BayesianGameIdenticalPayoffSolver More...
 
boost::shared_ptr< JPPVValuePairGetNextSolutionJPPV () const
 
boost::shared_ptr
< PartialJPDPValuePair
GetNextSolutionPJPDP () const
 
size_t GetNrDesiredSolutions () const
 
size_t GetNrFoundSolutions () const
 Gets the found number of solutions. More...
 
double GetPayoff () const
 
std::ofstream * GetResultsOFStream () const
 
std::ofstream * GetTimingsOFStream () const
 
bool GetWriteAnyTimeResults () const
 
bool IsEmptyJPPV () const
 
bool IsEmptyPJPDP () const
 
virtual bool IsExactSolver () const =0
 Methods should indicated whether they compute exact (optimal) solutions or not. More...
 
void PopNextSolutionJPPV ()
 
void PopNextSolutionPJPDP ()
 
void SaveSolution (const std::string &filename) const
 
void SetAnyTimeResults (bool turn_on, std::ofstream *results, std::ofstream *timings)
 Turns Anytime results on and of. More...
 
virtual void SetCBGlowerBound (double lowerbound)=0
 
virtual void SetCBGupperBound (double ub)=0
 
virtual void SetDeadline (double deadlineInSeconds)
 To limit the amount of time the solver uses. More...
 
void SetNrDesiredSolutions (size_t n)
 Gets the desired number of solutions to be returned. More...
 
std::string SoftPrintSolution () const
 
virtual ~BayesianGameIdenticalPayoffSolver ()
 Destructor. More...
 

Protected Attributes

boost::shared_ptr< const
BayesianGameCollaborativeGraphical
_m_bgcg
 

Additional Inherited Members

- Protected Member Functions inherited from BayesianGameIdenticalPayoffSolver
virtual void CheckDeadline (const std::string &errorMessage) const
 Checks whether the deadline has expired. Throws EDeadline. More...
 
virtual void InitDeadline ()
 Should be called at the beginning of Solve(). More...
 

Detailed Description

BGCG_Solver is a base class for collaborative graphical bayesian games.

Constructor & Destructor Documentation

BGCG_Solver::BGCG_Solver ( const boost::shared_ptr< const BayesianGameCollaborativeGraphical > &  bgcg,
size_t  nrSolutions = 1 
)

(default) Constructor

BGCG_Solver::~BGCG_Solver ( )
virtual

Copy constructor.

Destructor.

Member Function Documentation

BGCG_Solver & BGCG_Solver::operator= ( const BGCG_Solver o)

Copy assignment operator.

virtual double BGCG_Solver::Solve ( )
pure virtual

The methods that performs the planning.

Returns the expected reward.

Implements BayesianGameIdenticalPayoffSolver.

Implemented in BGCG_SolverFG, BGCG_SolverNonserialDynamicProgramming, BGCG_SolverMaxPlus, and BGCG_SolverRandom.

Member Data Documentation