gtsam  4.1.0
gtsam
DiscreteBayesTree.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
21 #pragma once
22 
28 
29 #include <string>
30 
31 namespace gtsam {
32 
33 // Forward declarations
34 class DiscreteConditional;
35 class VectorValues;
36 
37 /* ************************************************************************* */
39 class GTSAM_EXPORT DiscreteBayesTreeClique
40  : public BayesTreeCliqueBase<DiscreteBayesTreeClique, DiscreteFactorGraph> {
41  public:
44  Base;
45  typedef boost::shared_ptr<This> shared_ptr;
46  typedef boost::weak_ptr<This> weak_ptr;
48  virtual ~DiscreteBayesTreeClique() {}
50  const boost::shared_ptr<DiscreteConditional>& conditional)
51  : Base(conditional) {}
52 
55  const std::string& s = "Clique: ",
56  const KeyFormatter& formatter = DefaultKeyFormatter) const {
57  conditional_->printSignature(s, formatter);
58  }
59 
60  //** evaluate conditional probability of subtree for given Values */
61  double evaluate(const DiscreteConditional::Values& values) const;
62 };
63 
64 /* ************************************************************************* */
66 class GTSAM_EXPORT DiscreteBayesTree
67  : public BayesTree<DiscreteBayesTreeClique> {
68  private:
70 
71  public:
72  typedef DiscreteBayesTree This;
73  typedef boost::shared_ptr<This> shared_ptr;
74 
77 
79  bool equals(const This& other, double tol = 1e-9) const;
80 
81  //** evaluate probability for given Values */
82  double evaluate(const DiscreteConditional::Values& values) const;
83 };
84 
85 } // namespace gtsam
gtsam::equals
Template to create a binary predicate.
Definition: Testable.h:110
gtsam::BayesTree
Definition: BayesTree.h:65
gtsam::DiscreteBayesTree::DiscreteBayesTree
DiscreteBayesTree()
Default constructor, creates an empty Bayes tree.
Definition: DiscreteBayesTree.h:76
gtsam::Assignment
An assignment from labels to value index (size_t).
Definition: Assignment.h:34
gtsam::DiscreteBayesTreeClique::printSignature
void printSignature(const std::string &s="Clique: ", const KeyFormatter &formatter=DefaultKeyFormatter) const
print index signature only
Definition: DiscreteBayesTree.h:54
BayesTreeCliqueBase.h
Base class for cliques of a BayesTree.
gtsam::BayesTreeCliqueBase
This is the base class for BayesTree cliques.
Definition: BayesTreeCliqueBase.h:50
gtsam::DiscreteBayesTreeClique
A clique in a DiscreteBayesTree.
Definition: DiscreteBayesTree.h:40
BayesTree.h
Bayes Tree is a tree of cliques of a Bayes Chain.
gtsam
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
DiscreteBayesNet.h
gtsam::KeyFormatter
boost::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
gtsam::DiscreteBayesTree
A Bayes tree representing a Discrete density.
Definition: DiscreteBayesTree.h:67
Conditional.h
Base class for conditional densities.
DiscreteFactorGraph.h