1 #ifndef OPENGM_LIBDAI_TRBP_HXX
2 #define OPENGM_LIBDAI_TRBP_HXX
22 template<
class GM,
class ACC>
39 return "libDAI-Tree-Reweighted-Bp";
44 const size_t maxIterations=100,
45 const double damping=0.0,
46 const double tolerance=0.000001,
47 const size_t ntrees=0,
49 const size_t verbose=0
73 <<
"inference="<< std::string(::opengm::meta::Compare<ACC,::opengm::Integrator>::value==
true ? std::string(
"SUMPROD") : std::string(
"MAXPROD") ) <<
","
92 return this->graphicalModel_impl();
96 return this->reset_impl();
100 return this->infer_impl();
103 template<
class VISITOR>
105 visitor.begin(*
this);
112 return this->arg_impl(v,argnr);
115 return this->marginal_impl(v,m);
118 return this->factorMarginal_impl(f,m);
126 #endif // OPENGM_LIBDAI_TRBP_HXX
opengm::visitors::EmptyVisitor< TreeReweightedBp< GM, ACC > > EmptyVisitorType
TreeReweightedBp(const GM &gm, const Parameter param=Parameter())
opengm::visitors::TimingVisitor< TreeReweightedBp< GM, ACC > > TimingVisitorType
InferenceTermination infer(VISITOR &visitor)
virtual InferenceTermination marginal(const size_t v, IndependentFactorType &m) const
output a solution for a marginal for a specific variable
Parameter(const size_t maxIterations=100, const double damping=0.0, const double tolerance=0.000001, const size_t ntrees=0, UpdateRule updateRule=PARALL, const size_t verbose=0)
virtual InferenceTermination arg(std::vector< LabelType > &v, const size_t argnr=1) const
output a solution
std::string toString() const
Inference algorithm interface.
tree reweighted belief propagation : [?]
virtual InferenceTermination infer()
virtual InferenceTermination factorMarginal(const size_t f, IndependentFactorType &m) const
output a solution for a marginal for all variables connected to a factor
opengm::visitors::VerboseVisitor< TreeReweightedBp< GM, ACC > > VerboseVisitorType
virtual const GraphicalModelType & graphicalModel() const
GraphicalModelType::IndependentFactorType IndependentFactorType