47 #ifndef GUM_LEARNING_GRAPH_CHANGES_GENERATOR_ON_SUBDIGRAPH_H 48 #define GUM_LEARNING_GRAPH_CHANGES_GENERATOR_ON_SUBDIGRAPH_H 91 template <
typename STRUCT_CONSTRAINT >
156 STRUCT_CONSTRAINT&
constraint() const noexcept;
223 #if defined(_OPENMP) && !defined(GUM_DEBUG_MODE) GraphChangesGeneratorOnSubDiGraph< STRUCT_CONSTRAINT > & operator=(const GraphChangesGeneratorOnSubDiGraph< STRUCT_CONSTRAINT > &from)
copy operator
The base class for all GraphChangesGenerators for directed structures.
Base classes for oriented graphs.
NodeSet _tail_nodes
the tail nodes (other extremities than the targets)
STRUCT_CONSTRAINT & constraint() const noexcept
returns the constraint that is used by the generator
The basic class for computing the next graph changes possible in a structure learning algorithm...
the classes to account for structure changes in a graph
The class for notifying learning algorithms of new arc additionsThis class is convenient to know at c...
Set< GraphChange > _legal_changes
the current set of operators
The class for computing the set of graph changes (over a subgraph) transmitted to learning algorithms...
void eraseTarget(NodeId node)
removes a target
GraphChangesGeneratorOnSubDiGraph(STRUCT_CONSTRAINT &constraint)
default constructor
void eraseTail(NodeId node)
removes a tail node
The class for notifying learning algorithms of arc removalsThis class is convenient to know at compil...
unsigned int getMaxNumberOfThreads()
Returns the maximum number of threads at any time.
const iterator & end() const
returns an (unsafe) iterator on the end of the list of operators
virtual ~GraphChangesGeneratorOnSubDiGraph()
destructor
gum is the global namespace for all aGrUM entities
void setTails(const NodeSet &nodes)
assign a set of "tail" nodes
void modifyGraph(const ArcAddition &change)
notify the operator set of a change applied to the graph
void clearChanges() noexcept
empty the set of possible change operators that can be applied
NodeSet _target_nodes
the set of target nodes
Size __max_threads_number
the max number of threads authorized
void setGraph(const DiGraph &graph)
sets a new graph from which the operator will compute possible changes
iterator const_iterator
the const iterator for parsing the list of graph change operators
void _createChanges()
create the set of legal and illegal changes from a given graph
iterator begin() const
returns an (unsafe) iterator on the beginning of the list of operators
Base class for all oriented graphs.
STRUCT_CONSTRAINT * _constraint
a reference on the structural constraint used to restrict the changes
Unsafe iterators for the Set class.
void setMaxNbThreads(Size nb) noexcept
sets the maximum number of threads used to compute the set of changes
The class for notifying learning algorithms of arc reversalsThis class is convenient to know at compi...
void setTargets(const NodeSet &nodes)
assign a set of target nodes
void addTarget(NodeId node)
adds a new target node
std::size_t Size
In aGrUM, hashed values are unsigned long int.
void addTail(NodeId node)
adds a new "tail" node
Size NodeId
Type for node ids.
typename Set< GraphChange >::const_iterator iterator
the iterator for parsing the list of possible graph change operators
void notifyGetCompleted()
notifies the generator that we have parsed all its legal changes