aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
gum::BinaryJoinTreeConverter Class Referenceabstract

#include <binaryJoinTreeConverter.h>

Public Member Functions

Constructors / Destructors
 BinaryJoinTreeConverter ()
 default constructor More...
 
virtual ~BinaryJoinTreeConverter ()
 destructor More...
 
Accessors/Modifiers
virtual CliqueGraph convert (const CliqueGraph &JT, const NodeProperty< Size > &domain_sizes, const NodeSet &roots)=0
 returns a binary join tree corresponding to clique graph JT More...
 
virtual const NodeSetroots () const =0
 returns all the roots considered for all the connected components More...
 

Detailed Description

Definition at line 36 of file binaryJoinTreeConverter.h.

Constructor & Destructor Documentation

◆ BinaryJoinTreeConverter() [1/2]

gum::BinaryJoinTreeConverter::BinaryJoinTreeConverter ( )

default constructor

Definition at line 34 of file binaryJoinTreeConverter.cpp.

References gum::Set< Key, Alloc >::emplace().

34  {
35  // for debugging purposes
36  GUM_CONSTRUCTOR(BinaryJoinTreeConverter);
37  }
BinaryJoinTreeConverter()
default constructor
+ Here is the call graph for this function:

◆ ~BinaryJoinTreeConverter()

gum::BinaryJoinTreeConverter::~BinaryJoinTreeConverter ( )
virtual

destructor

Definition at line 40 of file binaryJoinTreeConverter.cpp.

References gum::Set< Key, Alloc >::emplace().

40  {
41  // for debugging purposes
42  GUM_DESTRUCTOR(BinaryJoinTreeConverter);
43  }
BinaryJoinTreeConverter()
default constructor
+ Here is the call graph for this function:

◆ BinaryJoinTreeConverter() [2/2]

gum::BinaryJoinTreeConverter::BinaryJoinTreeConverter ( const BinaryJoinTreeConverter )
private

forbid copy constructor

Member Function Documentation

◆ convert()

virtual CliqueGraph gum::BinaryJoinTreeConverter::convert ( const CliqueGraph JT,
const NodeProperty< Size > &  domain_sizes,
const NodeSet roots 
)
pure virtual

returns a binary join tree corresponding to clique graph JT

This method creates and returns a new binary join tree compatible with that passed in argument (JT) and optimized for inference. As such, this requires knowing the join tree to be converted (of course), but also which roots will be used by the collect/diffusion inference engine and the domain size of the variables contained in the cliques of JT (to optimize the combination of the potentials contained in the cliques.

Exceptions
InvalidNodeexception is thrown if some roots do not belong to JT or if several roots belong to the same connected component.
Warning
If you do not pass in argument a root for each connected component, then for those with unspecified roots, an arbitrary root will be computed and used for the binarization.

◆ operator=()

BinaryJoinTreeConverter& gum::BinaryJoinTreeConverter::operator= ( const BinaryJoinTreeConverter )
private

forbid copy operator

◆ roots()

virtual const NodeSet& gum::BinaryJoinTreeConverter::roots ( ) const
pure virtual

returns all the roots considered for all the connected components


The documentation for this class was generated from the following files: