aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
ConstraintBasedLearning.h File Reference

Abstract base class for constraint-based structure learning algorithms. More...

#include <limits>
#include <sstream>
#include <string>
#include <vector>
#include <agrum/config.h>
#include <agrum/base/core/approximations/approximationScheme.h>
#include <agrum/base/graphs/algorithms/MeekRules.h>
#include <agrum/BN/learning/ConstraintBasedLearning_tpl.h>
Include dependency graph for ConstraintBasedLearning.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gum::learning::ConstraintBasedLearning
 Abstract base class for constraint-based structure learning algorithms. More...

Namespaces

namespace  gum
 gum is the global namespace for all aGrUM entities
namespace  gum::learning
 include the inlined functions if necessary

Macros

#define GUM_SL_EMIT(x, y, action, explain)

Typedefs

using gum::learning::ThreePoints = std::tuple< NodeId, NodeId, NodeId >

Detailed Description

Abstract base class for constraint-based structure learning algorithms.

ConstraintBasedLearning factors the code common to all constraint-based algorithms (MIIC, PC, FCI, …): constraint management, template-method implementations of learnPDAG / learnDAG / learnBN, and shared graph utilities. Subclasses must implement learnSkeleton() and learnMixedStructure().

Author
Pierre-Henri WUILLEMIN(_at_LIP6)

Definition in file ConstraintBasedLearning.h.

Macro Definition Documentation

◆ GUM_SL_EMIT

#define GUM_SL_EMIT ( x,
y,
action,
explain )
Value:
{ \
std::ostringstream action_stream; \
action_stream << action; \
std::ostringstream explain_stream; \
explain_stream << explain; \
GUM_EMIT4(onStructuralModification, x, y, action_stream.str(), explain_stream.str()); \
}

Definition at line 66 of file ConstraintBasedLearning.h.

66#define GUM_SL_EMIT(x, y, action, explain) \
67 { \
68 std::ostringstream action_stream; \
69 action_stream << action; \
70 std::ostringstream explain_stream; \
71 explain_stream << explain; \
72 GUM_EMIT4(onStructuralModification, x, y, action_stream.str(), explain_stream.str()); \
73 }

Referenced by gum::learning::Miic::_orientingVstructureMiic_(), gum::learning::Miic::_propagatingOrientationMiic_(), gum::learning::ConstraintBasedLearning::applyStructuralConstraints_(), gum::learning::ConstraintBasedLearning::initGraph_(), gum::learning::Miic::initiation_(), gum::learning::Miic::iteration_(), and gum::learning::CIBasedLearning::orientColliderArm_().