MultiAgentDecisionProcess
BGIP_SolverBruteForceSearch< JP > Class Template Reference

BGIP_SolverBruteForceSearch is a class that performs Brute force search for identical payoff Bayesian Games. More...

#include <BGIP_SolverBruteForceSearch.h>

Inheritance diagram for BGIP_SolverBruteForceSearch< JP >:
[legend]

Public Member Functions

 BGIP_SolverBruteForceSearch (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t verbose=0, size_t nrDesiredSolutions=INT_MAX, size_t deadlineInSeconds=0)
 Constructor. More...
 
bool GetNextJointPolicyAndValueSpecific (boost::shared_ptr< JointPolicyDiscretePure > &jpol, double &value)
 The specific implementation that should be implemented by the derived class: More...
 
bool IsExactSolver () const
 Methods should indicated whether they compute exact (optimal) solutions or not. More...
 
void SetCBGlowerBound (double lowerbound)
 
void SetCBGupperBound (double upperbound)
 
double Solve ()
 The methods that performs the planning. More...
 
- Public Member Functions inherited from BGIP_IncrementalSolverInterface_T< JP >
 BGIP_IncrementalSolverInterface_T (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t nrDesiredSolutions=INT_MAX)
 
virtual boost::shared_ptr
< JointPolicyDiscretePure
GetNewJpol () const
 this gives a implementation of GetNewJpol (specified in BayesianGameIdenticalPayoffSolver) More...
 
- Public Member Functions inherited from BGIP_IncrementalSolverInterface
bool AllSolutionsHaveBeenReturned () const
 
 BGIP_IncrementalSolverInterface (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t nrDesiredSolutions=INT_MAX)
 
bool GetNextJointPolicyAndValue (boost::shared_ptr< JointPolicyDiscretePure > &jpol, double &value)
 Gets the next solution from the Incremental CBG solver. More...
 
virtual ~BGIP_IncrementalSolverInterface ()
 
- 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
 
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
 
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 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...
 

Private Attributes

double _m_CBGlowerBound
 
double _m_CBGupperBound
 
size_t _m_deadlineInSeconds
 Stores the maximum execution time. More...
 
bool _m_solved
 Keeps track whether Solve() has been called. More...
 
size_t _m_verbosity
 stores the MaxPlus parameter for the verbosity level More...
 

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...
 
- Protected Attributes inherited from BGIP_IncrementalSolverInterface
size_t _m_nrSolutionsReturned
 The number of solutions we already returned (not computed) More...
 

Detailed Description

template<class JP>
class BGIP_SolverBruteForceSearch< JP >

BGIP_SolverBruteForceSearch is a class that performs Brute force search for identical payoff Bayesian Games.

The template argument JP represents the joint policy class the solver should return.

Constructor & Destructor Documentation

template<class JP>
BGIP_SolverBruteForceSearch< JP >::BGIP_SolverBruteForceSearch ( const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &  bg,
size_t  verbose = 0,
size_t  nrDesiredSolutions = INT_MAX,
size_t  deadlineInSeconds = 0 
)
inline

Constructor.

Directly Associates a problem with the planner Information regarding the problem is used to construct a joint policy of the proper shape.

Member Function Documentation

template<class JP>
bool BGIP_SolverBruteForceSearch< JP >::IsExactSolver ( ) const
inlinevirtual

Methods should indicated whether they compute exact (optimal) solutions or not.

Implements BayesianGameIdenticalPayoffSolver.

template<class JP>
void BGIP_SolverBruteForceSearch< JP >::SetCBGlowerBound ( double  lowerbound)
inlinevirtual
template<class JP>
void BGIP_SolverBruteForceSearch< JP >::SetCBGupperBound ( double  upperbound)
inlinevirtual

Member Data Documentation

template<class JP>
double BGIP_SolverBruteForceSearch< JP >::_m_CBGlowerBound
private
template<class JP>
double BGIP_SolverBruteForceSearch< JP >::_m_CBGupperBound
private
template<class JP>
size_t BGIP_SolverBruteForceSearch< JP >::_m_deadlineInSeconds
private

Stores the maximum execution time.

If the solver expects it will take more time, it aborts an expection.

template<class JP>
bool BGIP_SolverBruteForceSearch< JP >::_m_solved
private

Keeps track whether Solve() has been called.

template<class JP>
size_t BGIP_SolverBruteForceSearch< JP >::_m_verbosity
private

stores the MaxPlus parameter for the verbosity level