13 #ifndef __defined_libdai_decmap_h
14 #define __defined_libdai_decmap_h
18 #ifdef DAI_WITH_DECMAP
35 std::vector<size_t> _state;
61 DecMAP() :
DAIAlgFG(), _state(), _logp(), _maxdiff(), _iters(), props() {}
67 DecMAP(
const FactorGraph &fg,
const PropertySet &opts );
72 virtual DecMAP* clone()
const {
return new DecMAP(*
this); }
73 virtual DecMAP* construct(
const FactorGraph &fg,
const PropertySet &opts )
const {
return new DecMAP( fg, opts ); }
74 virtual std::string name()
const {
return "DECMAP"; }
75 virtual Factor belief(
const Var &v )
const {
return beliefV( findVar( v ) ); }
76 virtual Factor belief(
const VarSet & )
const;
77 virtual Factor beliefV(
size_t i )
const;
78 virtual Factor beliefF(
size_t I )
const {
return belief( factor(I).vars() ); }
79 virtual std::vector<Factor> beliefs()
const;
80 virtual Real logZ()
const {
return _logp; }
81 virtual std::vector<size_t>
findMaximum()
const {
return _state; }
82 virtual void init() { _maxdiff = 0.0; _iters = 0; }
83 virtual void init(
const VarSet & ) { init(); }
85 virtual Real maxDiff()
const {
return _maxdiff; }
86 virtual size_t Iterations()
const {
return _iters; }
87 virtual void setProperties(
const PropertySet &opts );
88 virtual PropertySet getProperties()
const;
89 virtual std::string printProperties()
const;
TFactor< Real > Factor
Represents a factor with values of type dai::Real.
Definition: factor.h:640
double Real
Real number (alias for double, which could be changed to long double if necessary) ...
Definition: util.h:98
std::vector< size_t > findMaximum(const InfAlg &obj)
Calculates the joint state of all variables that has maximum probability, according to the inference ...
Definition: daialg.cpp:211
DAIAlg< FactorGraph > DAIAlgFG
Base class for inference algorithms that operate on a FactorGraph.
Definition: daialg.h:263
Namespace for libDAI.
Definition: alldai.cpp:16
Defines the general interface for inference methods in libDAI (classes InfAlg, DaiAlg<>, DaiAlgFG and DaiAlgRG).
Allows the user to specify which algorithms will be built into libDAI.