28 #ifndef GUM_LEARNING_STRUCTURAL_CONSTRAINT_DIGRAPH_H 29 #define GUM_LEARNING_STRUCTURAL_CONSTRAINT_DIGRAPH_H 31 #include <agrum/agrum.h> 32 #include <agrum/tools/graphs/diGraph.h> 33 #include <agrum/BN/learning/constraints/structuralConstraint.h> 34 #include <agrum/BN/learning/structureUtils/graphChange.h> 181 #ifndef DOXYGEN_SHOULD_SKIP_THIS 185 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintDiGraph 186 # include <agrum/BN/learning/constraints/structuralConstraintPatternHeader.h> 187 # undef GUM_CONSTRAINT_CLASS_NAME 200 #ifndef GUM_NO_INLINE 201 # include <agrum/BN/learning/constraints/structuralConstraintDiGraph_inl.h> void setGraph(Size nb_nodes)
sets a new empty graph from which we will perform checkings
INLINE void emplace(Args &&... args)
StructuralConstraintDiGraph(StructuralConstraintDiGraph &&from)
move constructor
StructuralConstraintDiGraph(const StructuralConstraintDiGraph &from)
copy constructor
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
void modifyGraphAlone(const GraphChange &change)
notify the constraint of a modification of the graph
StructuralConstraintDiGraph & operator=(const StructuralConstraintDiGraph &from)
copy operator
bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
DiGraph _DiGraph_graph_
the DiGraph on which we perform checks
StructuralConstraintDiGraph & operator=(StructuralConstraintDiGraph &&from)
move operator
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
bool checkModificationAlone(const ArcReversal &change) const
checks whether the constraints enable to reverse an arc
bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
virtual ~StructuralConstraintDiGraph()
destructor
StructuralConstraintDiGraph(const DiGraph &graph)
constructor starting with a given graph
StructuralConstraintDiGraph()
default constructor
Database(const std::string &filename, const BayesNet< GUM_SCALAR > &bn, const std::vector< std::string > &missing_symbols)
StructuralConstraintDiGraph(Size nb_nodes)
constructor starting with an empty graph with a given number of nodes
The base class for structural constraints used by learning algorithms that learn a directed graph str...