#include <DiscreteSearch.h>
Public Attributes | |
std::vector< DiscreteValues > | assignments |
DiscreteFactor::shared_ptr | factor |
double | heuristic |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Slot &slot) |
We structure the search as a set of slots, each with a factor and a set of variable assignments that need to be chosen. In addition, each slot has a heuristic associated with it.
Example: The factors in the search problem (always parents before descendents!): [P(A), P(B|A), P(C|A,B)] The assignments for each factor. [[A0,A1], [B0,B1], [C0,C1,C2]] A lower bound on the cost-to-go after each slot, e.g., [-log(max_B P(B|A)) -log(max_C P(C|A,B)), -log(max_C P(C|A,B)), 0.0] Note that these decrease as we move from right to left. We keep the global lower bound as lowerBound_. In the example, it is: -log(max_B P(B|A)) -log(max_C P(C|A,B)) -log(max_C P(C|A,B))
Definition at line 62 of file DiscreteSearch.h.
|
friend |
Definition at line 67 of file DiscreteSearch.h.
std::vector<DiscreteValues> gtsam::DiscreteSearch::Slot::assignments |
Definition at line 64 of file DiscreteSearch.h.
DiscreteFactor::shared_ptr gtsam::DiscreteSearch::Slot::factor |
Definition at line 63 of file DiscreteSearch.h.
double gtsam::DiscreteSearch::Slot::heuristic |
Definition at line 65 of file DiscreteSearch.h.