55#ifndef GUM_CI_BASED_LEARNING_H
56#define GUM_CI_BASED_LEARNING_H
120 double alpha() const;
Abstract base class for constraint-based structure learning algorithms.
The class for generic Hash Tables.
Base class for mixed graphs.
MixedGraph orientUnshieldedColliders_(MixedGraph graph)
orient unshielded colliders in graph and return the updated graph
CIBasedLearning(const CIBasedLearning &)
void setAlpha(double alpha)
maximum conditioning set size; Size(-1) = unlimited (default)
UCPriority ucPriority() const
maximum conditioning set size; Size(-1) = unlimited (default)
void orientColliderArm_(MixedGraph &graph, NodeId src, NodeId dst)
orient one arm (src → dst) of a collider; calls resolveOrientConflict_ on conflict
bool exhaustiveSepSet() const
maximum conditioning set size; Size(-1) = unlimited (default)
void setIndependenceTest(IndependenceTest &test)
inject independence test (non-owning: caller manages lifetime)
void setUCPriority(UCPriority p)
collider candidate ordering (default: Standard)
UCPriority
Controls how collider candidates are ordered before orientation.
@ Sorted
descending p-value order (strongest evidence first)
@ Standard
process triples in natural traversal order
void setMaxCondSetSize(Size max_k)
maximum conditioning set size; Size(-1) = unlimited (default)
MixedGraph learnSkeleton(MixedGraph graph) override
Phase 1: skeleton discovery via conditional independence tests.
double alpha() const
maximum conditioning set size; Size(-1) = unlimited (default)
void setStable(bool stable)
stable mode: defer edge removals until end of each depth (default: true)
virtual void resolveOrientConflict_(NodeId src, NodeId dst)
conflict hook: called when orientation cannot proceed (arc blocked or reversed). Default: push Arc(sr...
HashTable< std::pair< NodeId, NodeId >, SepSetEntry_ > sepSet_
void setExhaustiveSepSet(bool exhaustive)
exhaustive sepset mode: accumulate union of all separating sets found at each depth,...
ConstraintBasedLearning()
The base class for all the independence tests used for learning.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size NodeId
Type for node ids.
the base class for all the independence tests used for learning
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
std::vector< NodeId > cond