Binary AllDiff constraint.
Returns 1 if values for two keys are different, 0 otherwise.
|
| | BinaryAllDiff (const DiscreteKey &key1, const DiscreteKey &key2) |
| | cardinality
|
| void | print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
| | Print the constraint.
|
| bool | equals (const DiscreteFactor &other, double tol) const override |
| | Return whether another factor is an equal constraint.
|
| double | evaluate (const Assignment< Key > &values) const override |
| | Calculate value.
|
| DecisionTreeFactor | toDecisionTreeFactor () const override |
| | Convert into a decisiontree.
|
| DecisionTreeFactor | operator* (const DecisionTreeFactor &f) const override |
| | Multiply into a decisiontree.
|
| bool | ensureArcConsistency (Key j, Domains *domains) const override |
| | Ensure Arc-consistency by checking every possible value of domain j.
|
| Constraint::shared_ptr | partiallyApply (const DiscreteValues &) const override |
| | Partially apply known values.
|
| Constraint::shared_ptr | partiallyApply (const Domains &) const override |
| | Partially apply known values, domain version.
|
|
| Constraint () |
| | Default constructor for I/O.
|
|
| ~Constraint () override |
| | Virtual destructor.
|
| virtual DiscreteFactor::shared_ptr | operator* (double s) const override |
| | Multiply by a scalar.
|
| DecisionTreeFactor | operator* (const DecisionTreeFactor &dtf) const override |
| | Multiply by a DecisionTreeFactor and return a DecisionTreeFactor.
|
| DiscreteFactor::shared_ptr | operator/ (const DiscreteFactor::shared_ptr &df) const override |
| | divide by DiscreteFactor::shared_ptr f (safely)
|
| uint64_t | nrValues () const override |
| | Get the number of non-zero values contained in this factor.
|
| DiscreteFactor::shared_ptr | sum (size_t nrFrontals) const override |
| | Create new factor by summing all values with the same separator values.
|
| DiscreteFactor::shared_ptr | sum (const Ordering &keys) const override |
| | Create new factor by summing all values with the same separator values.
|
| double | max () const override |
| | Find the max value.
|
| DiscreteFactor::shared_ptr | max (size_t nrFrontals) const override |
| | Create new factor by maximizing over all values with the same separator.
|
| DiscreteFactor::shared_ptr | max (const Ordering &keys) const override |
| | Create new factor by maximizing over all values with the same separator.
|
| AlgebraicDecisionTree< Key > | errorTree () const override |
| | Compute error for each assignment and return as a tree.
|
| DiscreteFactor::shared_ptr | restrict (const DiscreteValues &assignment) const override |
| | Compute error for each assignment and return as a tree.
|
| std::string | markdown (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override |
| | Render as markdown table.
|
| std::string | html (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override |
| | Render as html table.
|
|
| DiscreteFactor () |
| | Default constructor creates empty factor.
|
| template<typename CONTAINER> |
| | DiscreteFactor (const CONTAINER &keys, const std::map< Key, size_t > cardinalities={}) |
| | Construct from container of keys and map of cardinalities.
|
| void | print (const std::string &s="DiscreteFactor\n", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
| | print
|
|
DiscreteKeys | discreteKeys () const |
| | Return all the discrete keys associated with this factor.
|
|
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.
|
| virtual double | error (const DiscreteValues &values) const |
| | Error is just -log(value).
|
| double | error (const HybridValues &c) const override |
| | All factor types need to implement an error function.
|
| virtual DiscreteFactor::shared_ptr | multiply (const DiscreteFactor::shared_ptr &df) const |
| | Multiply in a DiscreteFactor and return the result as DiscreteFactor, both via shared pointers.
|
| virtual TableFactor | toTableFactor () const |
| | Convert to a sparse table, falling back through a decision tree.
|
| DiscreteFactor::shared_ptr | scale () const |
| | Scale the factor values by the maximum to prevent underflow/overflow.
|
|
virtual | ~Factor ()=default |
| | Default destructor.
|
|
bool | empty () const |
| | Whether the factor is empty (involves zero variables).
|
|
Key | front () const |
| | First key.
|
|
Key | back () const |
| | Last key.
|
|
const_iterator | find (Key key) const |
| | find
|
|
const KeyVector & | keys () const |
| | Access the factor's involved variable keys.
|
|
const_iterator | begin () const |
| | Iterator at beginning of involved variable keys.
|
|
const_iterator | end () const |
| | Iterator at end of involved variable keys.
|
| size_t | size () const |
| virtual void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| | print only keys
|
|
bool | equals (const This &other, double tol=1e-9) const |
| | check equality
|
| KeyVector & | keys () |
|
iterator | begin () |
| | Iterator at beginning of involved variable keys.
|
|
iterator | end () |
| | Iterator at end of involved variable keys.
|
|
|
typedef std::shared_ptr< Constraint > | shared_ptr |
|
typedef DiscreteFactor | This |
| | This class.
|
|
typedef std::shared_ptr< DiscreteFactor > | shared_ptr |
| | shared_ptr to this class
|
|
typedef Factor | Base |
| | Our base class.
|
|
using | Values = DiscreteValues |
| | backwards compatibility
|
|
using | Unary = std::function<double(const double&)> |
| using | UnaryAssignment |
|
using | Binary = std::function<double(const double, const double)> |
|
using | Names = DiscreteValues::Names |
| | Translation table from values to strings.
|
|
typedef KeyVector::iterator | iterator |
| | Iterator over keys.
|
|
typedef KeyVector::const_iterator | const_iterator |
| | Const iterator over keys.
|
|
| Constraint (Key j) |
| | Construct unary constraint factor.
|
|
| Constraint (Key j1, Key j2) |
| | Construct binary constraint factor.
|
|
| Constraint (const KeyVector &js) |
| | Construct n-way constraint factor.
|
|
template<class KeyIterator> |
| | Constraint (KeyIterator beginKey, KeyIterator endKey) |
| | Construct from a key iterator range.
|
|
| Factor () |
| | Default constructor for I/O.
|
| template<typename CONTAINER> |
| | Factor (const CONTAINER &keys) |
| | Construct factor from container of keys.
|
| template<typename ITERATOR> |
| | Factor (ITERATOR first, ITERATOR last) |
| | Construct factor from iterator keys.
|
| template<typename CONTAINER> |
| static Factor | FromKeys (const CONTAINER &keys) |
| | Construct factor from container of keys.
|
| template<typename ITERATOR> |
| static Factor | FromIterators (ITERATOR first, ITERATOR last) |
| | Construct factor from iterator keys.
|
|
std::map< Key, size_t > | cardinalities_ |
| | Map of Keys and their cardinalities.
|
|
KeyVector | keys_ |
| | The keys involved in this factor.
|