![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
the structural constraint for forbidding parents for some nodes More...
#include <structuralConstraintNoParentNodes.h>
Public Types | |
| using | allConstraints = _ConstraintSet_< void > |
Public Member Functions | |
Constructors / Destructors | |
| StructuralConstraintNoParentNodes () | |
| default constructor | |
| StructuralConstraintNoParentNodes (const DiGraph &graph) | |
| constructor starting with a given graph | |
| StructuralConstraintNoParentNodes (const StructuralConstraintNoParentNodes &from) | |
| copy constructor | |
| StructuralConstraintNoParentNodes (StructuralConstraintNoParentNodes &&from) | |
| move constructor | |
| virtual | ~StructuralConstraintNoParentNodes () |
| destructor | |
Operators | |
| StructuralConstraintNoParentNodes & | operator= (const StructuralConstraintNoParentNodes &from) |
| copy operator | |
| StructuralConstraintNoParentNodes & | operator= (StructuralConstraintNoParentNodes &&from) |
| move operator | |
Specific Accessors / Modifiers | |
| void | setNodes (const NodeSet &set) |
| assign a set of nodes without parent | |
| void | addNode (NodeId node) |
| assign a new node without parent | |
| void | eraseNode (NodeId node) |
| remove a node without parent | |
| const NodeSet & | nodes () const |
| returns the set of nodes without parent | |
| void | setGraphAlone (const DiGraph &graph) |
| sets a new graph from which we will perform checkings | |
| void | modifyGraphAlone (const ArcAddition &change) |
| notify the constraint of a modification of the graph | |
| void | modifyGraphAlone (const ArcDeletion &change) |
| notify the constraint of a modification of the graph | |
| void | modifyGraphAlone (const ArcReversal &change) |
| notify the constraint of a modification of the graph | |
| void | modifyGraphAlone (const GraphChange &change) |
| notify the constraint of a modification of the graph | |
| bool | isAlwaysInvalidAlone (const GraphChange &change) const |
| indicates whether a change will always violate the constraint | |
| bool | checkArcAdditionAlone (NodeId x, NodeId y) const |
| checks whether the constraints enable to add arc (x,y) | |
| bool | checkArcDeletionAlone (NodeId x, NodeId y) const |
| checks whether the constraints enable to remove arc (x,y) | |
| bool | checkArcReversalAlone (NodeId x, NodeId y) const |
| checks whether the constraints enable to reverse arc (x,y) | |
| bool | checkModificationAlone (const GraphChange &change) const |
| checks whether the constraints enable to perform a graph change | |
| bool | checkModificationAlone (const ArcAddition &change) const |
| checks whether the constraints enable to add an arc | |
| bool | checkModificationAlone (const ArcDeletion &change) const |
| checks whether the constraints enable to remove an arc | |
| bool | checkModificationAlone (const ArcReversal &change) const |
| checks whether the constraints enable to reverse an arc | |
Protected Attributes | |
| NodeSet | _noParentNodes_ |
| the ForbiddenArcs on which we perform checks | |
the structural constraint for forbidding parents for some nodes
Definition at line 61 of file structuralConstraintNoParentNodes.h.
|
inherited |
Definition at line 61 of file structuralConstraint.h.
| gum::learning::StructuralConstraintNoParentNodes::StructuralConstraintNoParentNodes | ( | ) |
default constructor
Definition at line 60 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes().
Referenced by StructuralConstraintNoParentNodes(), StructuralConstraintNoParentNodes(), StructuralConstraintNoParentNodes(), StructuralConstraintNoParentNodes(), ~StructuralConstraintNoParentNodes(), operator=(), and operator=().
| gum::learning::StructuralConstraintNoParentNodes::StructuralConstraintNoParentNodes | ( | const DiGraph & | graph | ) |
constructor starting with a given graph
Definition at line 65 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes().
| gum::learning::StructuralConstraintNoParentNodes::StructuralConstraintNoParentNodes | ( | const StructuralConstraintNoParentNodes & | from | ) |
copy constructor
Definition at line 71 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes(), and _noParentNodes_.
| gum::learning::StructuralConstraintNoParentNodes::StructuralConstraintNoParentNodes | ( | StructuralConstraintNoParentNodes && | from | ) |
move constructor
Definition at line 77 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes(), and _noParentNodes_.
|
virtual |
destructor
Definition at line 83 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes().
| void gum::learning::StructuralConstraintNoParentNodes::addNode | ( | NodeId | node | ) |
assign a new node without parent
| bool gum::learning::StructuralConstraintNoParentNodes::checkArcAdditionAlone | ( | NodeId | x, |
| NodeId | y ) const |
checks whether the constraints enable to add arc (x,y)
| bool gum::learning::StructuralConstraintNoParentNodes::checkArcDeletionAlone | ( | NodeId | x, |
| NodeId | y ) const |
checks whether the constraints enable to remove arc (x,y)
| bool gum::learning::StructuralConstraintNoParentNodes::checkArcReversalAlone | ( | NodeId | x, |
| NodeId | y ) const |
checks whether the constraints enable to reverse arc (x,y)
| bool gum::learning::StructuralConstraintNoParentNodes::checkModificationAlone | ( | const ArcAddition & | change | ) | const |
checks whether the constraints enable to add an arc
| bool gum::learning::StructuralConstraintNoParentNodes::checkModificationAlone | ( | const ArcDeletion & | change | ) | const |
checks whether the constraints enable to remove an arc
| bool gum::learning::StructuralConstraintNoParentNodes::checkModificationAlone | ( | const ArcReversal & | change | ) | const |
checks whether the constraints enable to reverse an arc
| bool gum::learning::StructuralConstraintNoParentNodes::checkModificationAlone | ( | const GraphChange & | change | ) | const |
checks whether the constraints enable to perform a graph change
| void gum::learning::StructuralConstraintNoParentNodes::eraseNode | ( | NodeId | node | ) |
remove a node without parent
| bool gum::learning::StructuralConstraintNoParentNodes::isAlwaysInvalidAlone | ( | const GraphChange & | change | ) | const |
indicates whether a change will always violate the constraint
Some learning algorithms need examine several times whether a given graph change can be applied. For instance, the first time arc (X,Y) addition is considered, the learning algorithm may discard this change because it violates the structural constraint (e.g., if the latter enforces a DAG structure, this arc addition might induce a directed cycle), but, later on, other arc removal may induce that the arc addition is now possible. Such change is thus not always invalid. Conversely, there are changes that can be discarded once and for all. For instance, in a 2TBN structure, it is always impossible to add a backward-time arc. Such graph changes are always invalid and are therefore tagged as such by the isAlwaysInvalid method.
| void gum::learning::StructuralConstraintNoParentNodes::modifyGraphAlone | ( | const ArcAddition & | change | ) |
notify the constraint of a modification of the graph
| void gum::learning::StructuralConstraintNoParentNodes::modifyGraphAlone | ( | const ArcDeletion & | change | ) |
notify the constraint of a modification of the graph
| void gum::learning::StructuralConstraintNoParentNodes::modifyGraphAlone | ( | const ArcReversal & | change | ) |
notify the constraint of a modification of the graph
| void gum::learning::StructuralConstraintNoParentNodes::modifyGraphAlone | ( | const GraphChange & | change | ) |
notify the constraint of a modification of the graph
| const NodeSet & gum::learning::StructuralConstraintNoParentNodes::nodes | ( | ) | const |
returns the set of nodes without parent
| StructuralConstraintNoParentNodes & gum::learning::StructuralConstraintNoParentNodes::operator= | ( | const StructuralConstraintNoParentNodes & | from | ) |
copy operator
Definition at line 89 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes(), and _noParentNodes_.
| StructuralConstraintNoParentNodes & gum::learning::StructuralConstraintNoParentNodes::operator= | ( | StructuralConstraintNoParentNodes && | from | ) |
move operator
Definition at line 96 of file structuralConstraintNoParentNodes.cpp.
References StructuralConstraintNoParentNodes(), and _noParentNodes_.
| void gum::learning::StructuralConstraintNoParentNodes::setGraphAlone | ( | const DiGraph & | graph | ) |
sets a new graph from which we will perform checkings
| void gum::learning::StructuralConstraintNoParentNodes::setNodes | ( | const NodeSet & | set | ) |
assign a set of nodes without parent
|
protected |
the ForbiddenArcs on which we perform checks
Definition at line 180 of file structuralConstraintNoParentNodes.h.
Referenced by StructuralConstraintNoParentNodes(), StructuralConstraintNoParentNodes(), operator=(), and operator=().