63 if (
this != &source) {
73 if (
this != &source) {
75 graph_ = std::move(source.graph_);
83 if (
this == &other)
return true;
85 if (
size() != other.
size())
return false;
89 for (
const auto& nid:
nodes()) {
93 for (
const auto& edge:
edges()) {
Class representing probabilistic undirected model.
Interface-like class encapsulating basic functionalities for a IMarkovRandomFieldwork.
NodeId idFromName(std::string_view name) const override
Returns the NodeId of a variable given its name.
DiscreteGraphicalModel & operator=(const DiscreteGraphicalModel &source)
const DiscreteVariable & variable(NodeId id) const override
Returns a constant reference over a variable given its node id.
The base class for all undirected edges.
bool exists(const Key &k) const
Indicates whether a given elements belong to the set.
bool hasSameStructure(const UGmodel &other) const
check if nodes X and nodes Y are independent given nodes Z
UGmodel()
Default constructor.
const NodeGraphPart & nodes() const final
Returns a named copy of the internal undirected graph: each node id is assigned the name of the corre...
UGmodel & operator=(const UGmodel &source)
Private copy operator.
bool exists(NodeId node) const final
Return true if this node exists in this graphical model.
UndiGraph graph_
The DAG of this Directed Graphical Model.
const EdgeSet & edges() const
return true if the edge node1-node2 exists in the UGModel
~UGmodel() override
Destructor.
Size sizeEdges() const
Returns the number of arcs in this Directed Graphical Model.
Size size() const final
Returns the number of variables in this Directed Graphical Model.
gum is the global namespace for all aGrUM entities