#include <DiscreteFactor.h>
Public Types | |
typedef Factor | Base |
Our base class. More... | |
using | Binary = std::function< double(const double, const double)> |
typedef std::shared_ptr< DiscreteFactor > | shared_ptr |
shared_ptr to this class More... | |
typedef DiscreteFactor | This |
This class. More... | |
using | Unary = std::function< double(const double &)> |
using | UnaryAssignment = std::function< double(const Assignment< Key > &, const double &)> |
using | Values = DiscreteValues |
backwards compatibility More... | |
Public Types inherited from gtsam::Factor | |
typedef KeyVector::const_iterator | const_iterator |
Const iterator over keys. More... | |
typedef KeyVector::iterator | iterator |
Iterator over keys. More... | |
Public Member Functions | |
Standard Constructors | |
DiscreteFactor () | |
template<typename CONTAINER > | |
DiscreteFactor (const CONTAINER &keys, const std::map< Key, size_t > cardinalities={}) | |
Testable | |
virtual bool | equals (const DiscreteFactor &lf, double tol=1e-9) const |
equals More... | |
void | print (const std::string &s="DiscreteFactor\n", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
print More... | |
Standard Interface | |
DiscreteKeys | discreteKeys () const |
Return all the discrete keys associated with this factor. More... | |
std::map< Key, size_t > | cardinalities () const |
size_t | cardinality (Key j) const |
virtual double | evaluate (const Assignment< Key > &values) const =0 |
Calculate probability for given values. Calls specialized evaluation under the hood. More... | |
double | operator() (const DiscreteValues &values) const |
Find value for given assignment of values to variables. More... | |
virtual double | error (const DiscreteValues &values) const |
Error is just -log(value) More... | |
double | error (const HybridValues &c) const override |
virtual AlgebraicDecisionTree< Key > | errorTree () const |
Compute error for each assignment and return as a tree. More... | |
virtual DecisionTreeFactor | operator* (const DecisionTreeFactor &) const =0 |
virtual DecisionTreeFactor | toDecisionTreeFactor () const =0 |
Public Member Functions inherited from gtsam::Factor | |
virtual | ~Factor ()=default |
Default destructor. More... | |
bool | empty () const |
Whether the factor is empty (involves zero variables). More... | |
Key | front () const |
First key. More... | |
Key | back () const |
Last key. More... | |
const_iterator | find (Key key) const |
find More... | |
const KeyVector & | keys () const |
Access the factor's involved variable keys. More... | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
virtual void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
print only keys More... | |
bool | equals (const This &other, double tol=1e-9) const |
check equality More... | |
KeyVector & | keys () |
iterator | begin () |
iterator | end () |
Protected Attributes | |
std::map< Key, size_t > | cardinalities_ |
Map of Keys and their cardinalities. More... | |
Protected Attributes inherited from gtsam::Factor | |
KeyVector | keys_ |
The keys involved in this factor. More... | |
Wrapper support | |
using | Names = DiscreteValues::Names |
Translation table from values to strings. More... | |
virtual std::string | markdown (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const =0 |
Render as markdown table. More... | |
virtual std::string | html (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const =0 |
Render as html table. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from gtsam::Factor | |
Factor () | |
template<typename CONTAINER > | |
Factor (const CONTAINER &keys) | |
template<typename ITERATOR > | |
Factor (ITERATOR first, ITERATOR last) | |
Static Protected Member Functions inherited from gtsam::Factor | |
template<typename CONTAINER > | |
static Factor | FromKeys (const CONTAINER &keys) |
template<typename ITERATOR > | |
static Factor | FromIterators (ITERATOR first, ITERATOR last) |
Base class for discrete probabilistic factors The most general one is the derived DecisionTreeFactor
DecisionTreeFactor, which represent a discrete distribution over a set of variables.
Definition at line 39 of file DiscreteFactor.h.
typedef Factor gtsam::DiscreteFactor::Base |
Our base class.
Definition at line 45 of file DiscreteFactor.h.
using gtsam::DiscreteFactor::Binary = std::function<double(const double, const double)> |
Definition at line 52 of file DiscreteFactor.h.
Translation table from values to strings.
Definition at line 139 of file DiscreteFactor.h.
typedef std::shared_ptr<DiscreteFactor> gtsam::DiscreteFactor::shared_ptr |
shared_ptr to this class
Definition at line 44 of file DiscreteFactor.h.
This class.
Definition at line 42 of file DiscreteFactor.h.
using gtsam::DiscreteFactor::Unary = std::function<double(const double&)> |
Definition at line 49 of file DiscreteFactor.h.
using gtsam::DiscreteFactor::UnaryAssignment = std::function<double(const Assignment<Key>&, const double&)> |
Definition at line 51 of file DiscreteFactor.h.
backwards compatibility
Definition at line 47 of file DiscreteFactor.h.
|
inline |
Default constructor creates empty factor
Definition at line 63 of file DiscreteFactor.h.
|
inline |
Construct from container of keys and map of cardinalities. This constructor is used internally from derived factor constructors, either from a container of keys or from a boost::assign::list_of.
Definition at line 71 of file DiscreteFactor.h.
Definition at line 96 of file DiscreteFactor.h.
Definition at line 98 of file DiscreteFactor.h.
DiscreteKeys DiscreteFactor::discreteKeys | ( | ) | const |
Return all the discrete keys associated with this factor.
Definition at line 37 of file DiscreteFactor.cpp.
|
virtual |
equals
Reimplemented in gtsam::DiscreteConditional, gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::Domain, gtsam::SingleValue, gtsam::BinaryAllDiff, and gtsam::AllDiff.
Definition at line 32 of file DiscreteFactor.cpp.
|
virtual |
Error is just -log(value)
Reimplemented in gtsam::TableFactor, and gtsam::DecisionTreeFactor.
Definition at line 49 of file DiscreteFactor.cpp.
|
overridevirtual |
All factor types need to implement an error function. In factor graphs, this is the negative log-likelihood.
Reimplemented from gtsam::Factor.
Reimplemented in gtsam::TableFactor.
Definition at line 54 of file DiscreteFactor.cpp.
|
virtual |
Compute error for each assignment and return as a tree.
Reimplemented in gtsam::BinaryAllDiff, gtsam::Domain, gtsam::AllDiff, and gtsam::SingleValue.
Definition at line 59 of file DiscreteFactor.cpp.
|
pure virtual |
Calculate probability for given values. Calls specialized evaluation under the hood.
Note: Uses Assignment<Key> as it is the base class of DiscreteValues.
values | Discrete assignment. |
Implemented in gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::Domain, gtsam::SingleValue, gtsam::BinaryAllDiff, and gtsam::AllDiff.
|
pure virtual |
Render as html table.
keyFormatter | GTSAM-style Key formatter. |
names | optional, category names corresponding to choices. |
Implemented in gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::DiscreteConditional, and gtsam::Constraint.
|
pure virtual |
Render as markdown table.
keyFormatter | GTSAM-style Key formatter. |
names | optional, category names corresponding to choices. |
Implemented in gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::DiscreteConditional, and gtsam::Constraint.
|
inline |
Find value for given assignment of values to variables.
Definition at line 112 of file DiscreteFactor.h.
|
pure virtual |
Multiply in a DecisionTreeFactor and return the result as DecisionTreeFactor
Implemented in gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::Domain, gtsam::BinaryAllDiff, gtsam::SingleValue, and gtsam::AllDiff.
|
inlineoverridevirtual |
Reimplemented from gtsam::Factor.
Reimplemented in gtsam::TableFactor, gtsam::DiscreteLookupTable, gtsam::Domain, gtsam::SingleValue, gtsam::AllDiff, and gtsam::BinaryAllDiff.
Definition at line 83 of file DiscreteFactor.h.
|
pure virtual |
Implemented in gtsam::TableFactor, gtsam::DecisionTreeFactor, gtsam::Domain, gtsam::SingleValue, gtsam::BinaryAllDiff, and gtsam::AllDiff.
Map of Keys and their cardinalities.
Definition at line 56 of file DiscreteFactor.h.