MultiAgentDecisionProcess
JointBeliefInterface Class Referenceabstract

JointBeliefInterface represents an interface for joint beliefs. More...

#include <JointBeliefInterface.h>

Inheritance diagram for JointBeliefInterface:
[legend]

Public Member Functions

virtual JointBeliefInterfaceClone () const =0
 Returns a pointer to a copy of this class. More...
 
 JointBeliefInterface ()
 (default) Constructor More...
 
virtual JointBeliefInterfaceoperator= (const JointBeliefInterface &o)=0
 assignment operator. More...
 
virtual double Update (const MultiAgentDecisionProcessDiscreteInterface &pu, Index lastJAI, Index newJOI)=0
 Performs a joint belief update on this joint belief. More...
 
virtual ~JointBeliefInterface ()
 Destructor. More...
 
- Public Member Functions inherited from BeliefInterface
 BeliefInterface ()
 (default) Constructor More...
 
virtual void Clear ()=0
 Clears the belief. More...
 
virtual double Get (Index sI) const =0
 Gets the probability of the sI'th state. More...
 
virtual std::vector< double > Get () const =0
 Gets a vector of probabilities representing the belief. More...
 
virtual BeliefIteratorGeneric GetIterator () const =0
 
virtual double InnerProduct (const std::vector< double > &values) const =0
 Computes the inner product of a belief with the vector values. More...
 
virtual std::vector< double > InnerProduct (const VectorSet &v) const =0
 Computes the inner product of a belief with the VectorSet v. More...
 
virtual std::vector< double > InnerProduct (const VectorSet &v, const std::vector< bool > &mask) const =0
 Computes the inner product of a belief with the VectorSet v. More...
 
virtual BeliefInterfaceoperator= (const BeliefInterface &o)=0
 Copy assignment operator. More...
 
virtual double & operator[] (Index &i)=0
 Gets the probability of the i'th state. More...
 
virtual double & operator[] (int &i)=0
 Gets the probability of the i'th state. More...
 
virtual void Print () const =0
 Prints the belief. More...
 
virtual bool SanityCheck () const =0
 Checks whether the belief is a valid probability distribution. More...
 
virtual void Set (const StateDistribution &belief)=0
 Copy the belief into this object. More...
 
virtual void Set (const std::vector< double > &belief)=0
 Copy the belief into this object. More...
 
virtual void Set (const BeliefInterface &belief)=0
 Copy the belief into this object. More...
 
virtual void Set (Index sI, double prob)=0
 Sets probability of the sI'th state to prob . More...
 
virtual unsigned int Size () const =0
 Returns the size of this belief. More...
 
virtual std::string SoftPrint () const =0
 Prints the belief. More...
 
virtual ~BeliefInterface ()
 Destructor. More...
 

Detailed Description

JointBeliefInterface represents an interface for joint beliefs.

Constructor & Destructor Documentation

JointBeliefInterface::JointBeliefInterface ( )
inline

(default) Constructor

virtual JointBeliefInterface::~JointBeliefInterface ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual JointBeliefInterface* JointBeliefInterface::Clone ( ) const
pure virtual

Returns a pointer to a copy of this class.

Implements BeliefInterface.

Implemented in JointBeliefSparse, JointBeliefEventDriven, and JointBelief.

Referenced by AlphaVectorPlanning::SampleBeliefs().

virtual JointBeliefInterface& JointBeliefInterface::operator= ( const JointBeliefInterface o)
pure virtual

assignment operator.

This must be implemented by the derived class (with this prototype).

For now, this function is purely abstract. Might there be some members added to this (base) class, then an implementation could be made. This should then be called using PolicyPoolInterface::operator=(o) from the copy assignment operator of the derived class. See also http://www.icu-project.org/docs/papers/cpp_report/the_assignment_operator_revisited.html .

Implemented in JointBeliefSparse, JointBeliefEventDriven, and JointBelief.

virtual double JointBeliefInterface::Update ( const MultiAgentDecisionProcessDiscreteInterface pu,
Index  lastJAI,
Index  newJOI 
)
pure virtual

Performs a joint belief update on this joint belief.

Performs the belief update. I.e., given the current joint belief b (which is represented by this), we compute P(s'|b, a, o) for all new states s'. This function updates this belief (alter this object). Returned is the normalization factor P(o|b,a), which is also to probability that this new history (belief) occurs given the previous one.

Implemented in JointBeliefSparse, JointBeliefEventDriven, and JointBelief.

Referenced by AgentPOMDP::Act(), BayesianGameWithClusterInfo::Extend(), PlanningUnitMADPDiscrete::GetJAOHProbsRecursively(), PlanningUnitMADPDiscrete::GetJointBeliefInterface(), PlanningUnitMADPDiscrete::InitializeJointActionObservationHistories(), BayesianGameForDecPOMDPStage::ProbRewardForjoahI(), GMAA_MAA_ELSI::ProbRewardForjoahI(), AlphaVectorPlanning::SampleBeliefs(), and AlphaVectorPlanning::SampleBeliefsNonStationary().