38 #ifndef GUM_LEARNING_STRUCTURAL_CONSTRAINT_SLICE_ORDER_H 39 #define GUM_LEARNING_STRUCTURAL_CONSTRAINT_SLICE_ORDER_H 41 #include <agrum/agrum.h> 42 #include <agrum/BN/learning/constraints/structuralConstraintDiGraph.h> 43 #include <agrum/BN/learning/constraints/structuralConstraintSetStatic.h> 120 void addNode(NodeId node, NodeId slice);
218 #ifndef DOXYGEN_SHOULD_SKIP_THIS 222 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintSliceOrder 223 # include <agrum/BN/learning/constraints/structuralConstraintPatternHeader.h> 224 # undef GUM_CONSTRAINT_CLASS_NAME 237 #ifndef GUM_NO_INLINE 238 # include <agrum/BN/learning/constraints/structuralConstraintSliceOrder_inl.h> bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
INLINE void emplace(Args &&... args)
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
void setDefaultSlice(NodeId slice)
assign a given slice to all the nodes specified in the partial order
StructuralConstraintSliceOrder(const NodeProperty< NodeId > &order)
constructor starting with an empty graph with a given number of nodes
StructuralConstraintSliceOrder(StructuralConstraintSliceOrder &&from)
move constructor
StructuralConstraintSliceOrder & operator=(const StructuralConstraintSliceOrder &from)
copy operator
void setSliceOrder(const NodeProperty< NodeId > &slice)
sets the time slices of all the nodes in the property
const NodeProperty< NodeId > & sliceOrder() const
returns the current slice order
void modifyGraphAlone(const GraphChange &change)
notify the constraint of a modification of the graph
NodeProperty< NodeId > _SliceOrder_order_
slices to which belong the nodes
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
StructuralConstraintSliceOrder(const DiGraph &graph, const NodeProperty< NodeId > &order)
constructor starting with a given graph
StructuralConstraintSliceOrder(const StructuralConstraintSliceOrder &from)
copy constructor
StructuralConstraintSliceOrder & operator=(StructuralConstraintSliceOrder &&from)
move operator
bool checkModificationAlone(const GraphChange &change) const
checks whether the constraints enable to perform a graph change
virtual ~StructuralConstraintSliceOrder()
destructor
StructuralConstraintSliceOrder()
default constructor
Database(const std::string &filename, const BayesNet< GUM_SCALAR > &bn, const std::vector< std::string > &missing_symbols)
void addNode(NodeId node, NodeId slice)
adds a new node in the slice order
the structural constraint imposing a partial order over nodes