#include <Domain.h>
Public Types | |
typedef std::shared_ptr< Domain > | shared_ptr |
allowed values More... | |
Public Types inherited from gtsam::Constraint | |
typedef std::shared_ptr< Constraint > | shared_ptr |
Public Types inherited from gtsam::DiscreteFactor | |
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... | |
using | Names = DiscreteValues::Names |
Translation table from values to strings. 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 | |
std::string | base1Str () const |
std::optional< Domain > | checkAllDiff (const KeyVector keys, const Domains &domains) const |
bool | contains (size_t value) const |
DiscreteKey | discreteKey () const |
Domain (const DiscreteKey &dkey) | |
Domain (const DiscreteKey &dkey, size_t v) | |
bool | ensureArcConsistency (Key j, Domains *domains) const override |
bool | equals (const DiscreteFactor &other, double tol) const override |
equals More... | |
void | erase (size_t value) |
Erase a value, non const :-(. More... | |
AlgebraicDecisionTree< Key > | errorTree () const override |
Compute error for each assignment and return as a tree. More... | |
double | evaluate (const Assignment< Key > &values) const override |
Calculate value. More... | |
size_t | firstValue () const |
void | insert (size_t value) |
Insert a value, non const :-(. More... | |
bool | isSingleton () const |
Key | key () const |
The one key. More... | |
size_t | nrValues () const |
DecisionTreeFactor | operator* (const DecisionTreeFactor &f) const override |
Multiply into a decisiontree. More... | |
Constraint::shared_ptr | partiallyApply (const DiscreteValues &values) const override |
Partially apply known values. More... | |
Constraint::shared_ptr | partiallyApply (const Domains &domains) const override |
Partially apply known values, domain version. More... | |
void | print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
print More... | |
DecisionTreeFactor | toDecisionTreeFactor () const override |
Convert into a decisiontree. More... | |
Public Member Functions inherited from gtsam::Constraint | |
Constraint () | |
Default constructor for I/O. More... | |
~Constraint () override | |
Virtual destructor. More... | |
std::string | markdown (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override |
Render as markdown table. More... | |
std::string | html (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override |
Render as html table. More... | |
Public Member Functions inherited from gtsam::DiscreteFactor | |
DiscreteFactor () | |
template<typename CONTAINER > | |
DiscreteFactor (const CONTAINER &keys, const std::map< Key, size_t > cardinalities={}) | |
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 |
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 |
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 () |
Private Attributes | |
size_t | cardinality_ |
std::set< size_t > | values_ |
Cardinality. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from gtsam::Constraint | |
Constraint (const KeyVector &js) | |
Construct n-way constraint factor. More... | |
Constraint (Key j) | |
Construct unary constraint factor. More... | |
Constraint (Key j1, Key j2) | |
Construct binary constraint factor. More... | |
template<class KeyIterator > | |
Constraint (KeyIterator beginKey, KeyIterator endKey) | |
construct from container More... | |
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) |
Protected Attributes inherited from gtsam::DiscreteFactor | |
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... | |
The Domain class represents a constraint that restricts the possible values a particular variable, with given key, can take on.
typedef std::shared_ptr<Domain> gtsam::Domain::shared_ptr |
|
inline |
|
inline |
string gtsam::Domain::base1Str | ( | ) | const |
Definition at line 26 of file Domain.cpp.
std::optional< Domain > gtsam::Domain::checkAllDiff | ( | const KeyVector | keys, |
const Domains & | domains | ||
) | const |
Check for a value in domain that does not occur in any other connected domain. If found, return a a new singleton domain... Called in AllDiff::ensureArcConsistency
keys | connected domains through alldiff |
keys | other domains |
Definition at line 63 of file Domain.cpp.
|
inline |
Implements gtsam::Constraint.
Definition at line 53 of file Domain.cpp.
|
inlineoverridevirtual |
|
inline |
|
inlineoverridevirtual |
Compute error for each assignment and return as a tree.
Reimplemented from gtsam::DiscreteFactor.
|
overridevirtual |
|
inline |
|
overridevirtual |
Multiply into a decisiontree.
Implements gtsam::DiscreteFactor.
Definition at line 47 of file Domain.cpp.
|
overridevirtual |
Partially apply known values.
Implements gtsam::Constraint.
Definition at line 80 of file Domain.cpp.
|
overridevirtual |
Partially apply known values, domain version.
Implements gtsam::Constraint.
Definition at line 88 of file Domain.cpp.
|
overridevirtual |
|
overridevirtual |
Convert into a decisiontree.
Implements gtsam::DiscreteFactor.
Definition at line 38 of file Domain.cpp.