36 #ifndef GUM_LEARNING_STRUCTURAL_CONSTRAINT_SLICE_ORDER_H 37 #define GUM_LEARNING_STRUCTURAL_CONSTRAINT_SLICE_ORDER_H 66 StructuralConstraintDiGraph > {
220 #ifndef DOXYGEN_SHOULD_SKIP_THIS 224 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintSliceOrder 226 # undef GUM_CONSTRAINT_CLASS_NAME 227 #endif // DOXYGEN_SHOULD_SKIP_THIS 239 #ifndef GUM_NO_INLINE
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)
The class for notifying learning algorithms of new arc additionsThis class is convenient to know at c...
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
The class for notifying learning algorithms of arc removalsThis class is convenient to know at compil...
StructuralConstraintSliceOrder & operator=(const StructuralConstraintSliceOrder &from)
copy operator
NodeProperty< NodeId > _SliceOrder__order
slices to which belong the nodes
the "meta-programming" class for storing several structural constraints
gum is the global namespace for all aGrUM entities
The class for generic Hash Tables.
bool checkModificationAlone(const ArcAddition &change) const
checks whether the constraints enable to add an arc
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
the base class for structural constraints used by learning algorithms that learn a directed graph str...
the "meta-programming" class for storing structural constraintsIn aGrUM, there are two ways to store ...
Base class for all oriented graphs.
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
void modifyGraphAlone(const ArcAddition &change)
notify the constraint of a modification of the graph
The class for notifying learning algorithms of arc reversalsThis class is convenient to know at compi...
virtual ~StructuralConstraintSliceOrder()
destructor
StructuralConstraintSliceOrder()
default constructor
the structural constraint imposing a partial order over nodes
Size NodeId
Type for node ids.
void addNode(NodeId node, NodeId slice)
adds a new node in the slice order
the structural constraint imposing a partial order over nodes