MultiAgentDecisionProcess
PDDiscreteInterface Class Referenceabstract

PDDiscreteInterface is an abstract base class that represents a joint probability distribution $ Pr(x_1,\dots,x_k ) $. More...

#include <PDDiscreteInterface.h>

Public Member Functions

virtual PDDiscreteInterfaceClone () const =0
 Returns a pointer to a copy of this class. More...
 
virtual double Get (Index x) const =0
 return the probability $ Pr(x) $ More...
 
virtual double Get (const std::vector< Index > &indices) const =0
 
virtual double Get (const Scope &sc, const std::vector< Index > &indices_sc) const =0
 
virtual Index Sample () const =0
 Returns a (joint index of an) x drawn $ P(x) $. More...
 
virtual void SanityCheck () const =0
 
virtual void Set (Index x, double p)=0
 set the probability $ Pr(x) $ of x More...
 
virtual std::string SoftPrint () const =0
 
virtual ~PDDiscreteInterface ()
 Destructor. More...
 

Detailed Description

PDDiscreteInterface is an abstract base class that represents a joint probability distribution $ Pr(x_1,\dots,x_k ) $.

The interface (so far) only implements Get. In the future

  • we may want to add a function that allows multiplication of PDDiscreteInterface's ?
  • I think it might not be convenient to add Set() functions (each implementation might use different set functions? E.g. a PD based on rules may use quite a different mechanism to set probabilities than a CPT)

Constructor & Destructor Documentation

virtual PDDiscreteInterface::~PDDiscreteInterface ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual PDDiscreteInterface* PDDiscreteInterface::Clone ( ) const
pure virtual
virtual double PDDiscreteInterface::Get ( Index  x) const
pure virtual
virtual double PDDiscreteInterface::Get ( const std::vector< Index > &  indices) const
pure virtual
virtual double PDDiscreteInterface::Get ( const Scope sc,
const std::vector< Index > &  indices_sc 
) const
pure virtual
virtual Index PDDiscreteInterface::Sample ( ) const
pure virtual

Returns a (joint index of an) x drawn $ P(x) $.

virtual void PDDiscreteInterface::SanityCheck ( ) const
pure virtual
virtual void PDDiscreteInterface::Set ( Index  x,
double  p 
)
pure virtual

set the probability $ Pr(x) $ of x

virtual std::string PDDiscreteInterface::SoftPrint ( ) const
pure virtual