A symbolic junction tree whose factors record the original factor indices from a corresponding (non-symbolic) factor graph.
This allows the junction tree structure to be cached and reused for repeated eliminations when the factor graph structure and ordering remain unchanged, avoiding the cost of rebuilding the symbolic structure.
The underlying implementation uses a SymbolicJunctionTree where each factor is an IndexedSymbolicFactor that stores the original factor index. During elimination, these indices are used to retrieve the actual numerical factors from the original factor graph.
|
|
typedef JunctionTree< SymbolicBayesTree, SymbolicFactorGraph > | Base |
| | Base class.
|
|
typedef SymbolicJunctionTree | This |
| | This class.
|
|
typedef std::shared_ptr< This > | shared_ptr |
| | Shared pointer to this class.
|
|
typedef JunctionTree< SymbolicBayesTree, SymbolicFactorGraph > | This |
| | This class.
|
|
typedef std::shared_ptr< This > | shared_ptr |
| | Shared pointer to this class.
|
|
typedef EliminatableClusterTree< SymbolicBayesTree, SymbolicFactorGraph > | Base |
| | Our base class.
|
|
typedef BAYESTREE | BayesTreeType |
| | The BayesTree type produced by elimination.
|
|
typedef GRAPH | FactorGraphType |
| | The factor graph type.
|
|
typedef EliminatableClusterTree< BAYESTREE, GRAPH > | This |
| | This class.
|
|
typedef std::shared_ptr< This > | shared_ptr |
| | Shared pointer to this class.
|
|
typedef BAYESTREE::ConditionalType | ConditionalType |
| | The type of conditionals.
|
|
typedef std::shared_ptr< ConditionalType > | sharedConditional |
| | Shared pointer to a conditional.
|
|
typedef GRAPH::Eliminate | Eliminate |
| | Typedef for an eliminate subroutine.
|
|
typedef GRAPH::FactorType | FactorType |
| | The type of factors.
|
|
typedef std::shared_ptr< FactorType > | sharedFactor |
| | Shared pointer to a factor.
|
|
typedef GRAPH | FactorGraphType |
| | The factor graph type.
|
|
typedef ClusterTree< GRAPH > | This |
| | This class.
|
|
typedef std::shared_ptr< This > | shared_ptr |
| | Shared pointer to this class.
|
|
typedef GRAPH::FactorType | FactorType |
| | The type of factors.
|
|
typedef std::shared_ptr< FactorType > | sharedFactor |
| | Shared pointer to a factor.
|
|
typedef std::shared_ptr< Cluster > | sharedCluster |
| | Shared pointer to Cluster.
|
|
typedef Cluster | Node |
|
typedef sharedCluster | sharedNode |
|
| JunctionTree (const EliminationTree< ETREE_BAYESNET, ETREE_GRAPH > &eliminationTree) |
| | Build the junction tree from an elimination tree.
|
|
| EliminatableClusterTree (const This &other) |
| | Copy constructor - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
|
|
This & | operator= (const This &other) |
| | Assignment operator - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
|
|
| EliminatableClusterTree () |
| | Default constructor to be used in derived classes.
|
|
| ClusterTree (const This &other) |
| | Copy constructor - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
|
|
This & | operator= (const This &other) |
| | Assignment operator - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
|
|
static This | FromEliminationTree (const ETREE &eliminationTree) |
| | Build the junction tree from an elimination tree.
|
|
FastVector< sharedFactor > | remainingFactors_ |
|
FastVector< sharedNode > | roots_ |
| | concept check
|