51#ifndef GUM_TREE_OPERATOR_H
52#define GUM_TREE_OPERATOR_H
67 template <
typename GUM_ELEMENT,
68 template <
typename >
class COMBINEOPERATOR,
130#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Base class for discrete random variable.
Implementation of a Terminal Node Policy that maps nodeid directly to value.
The class for generic Hash Tables.
Class used to perform Decision Tree Operation in the FMDP Framework.
HashTable< const DiscreteVariable *, Idx > _context_
TreeOperator(const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > *dt1, const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > *dt2)
Default constructor.
const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * _dt1_
The two function graphs used for the operation.
MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * _rd_
The resulting function graph.
NodeId _checkRedundancy_(const DiscreteVariable *, NodeId *)
NodeId _xPloreDT1_(NodeId currentNodeId)
The main recursion function.
~TreeOperator()
Default destructor.
NodeId _xPloreDT2_(NodeId currentNodeId)
The main recursion function.
const COMBINEOPERATOR< GUM_ELEMENT > _combine_
The function to be performed on the leaves.
const MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * _dt2_
MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy > * compute()
Computes and builds the Function Graph that is the result of the operation.
Size NodeId
Type for node ids.
Headers of MultiDimFunctionGraph.
gum is the global namespace for all aGrUM entities
Class used to compute the operation between two decision diagrams.