29 #ifndef GUM_SIMPLE_MARKOV_NET_H 30 #define GUM_SIMPLE_MARKOV_NET_H 34 #include <agrum/agrum.h> 36 #include <agrum/tools/core/hashTable.h> 38 #include <agrum/tools/graphicalModels/UGmodel.h> 39 #include <agrum/tools/multidim/potential.h> 59 template <
typename GUM_SCALAR >
235 const NodeSet& soids,
237 NodeSet& alreadyVisited)
const;
241 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 247 template <
typename GUM_SCALAR >
252 #include <agrum/MN/IMarkovNet_tpl.h> virtual const DiscreteVariable & variableFromName(const std::string &name) const =0
Getter by name.
GUM_SCALAR maxParam() const
void _minimalCondSetVisit_(NodeId node, const NodeSet &soids, NodeSet &minimal, NodeSet &alreadyVisited) const
virtual const VariableNodeMap & variableNodeMap() const =0
Returns a constant reference to the VariableNodeMap of thisBN.
virtual ~IMarkovNet()
Destructor.
GUM_SCALAR maxNonOneParam() const
INLINE void emplace(Args &&... args)
virtual NodeId idFromName(const std::string &name) const =0
Getter by name.
Size maxVarDomainSize() const
GUM_SCALAR minNonZeroParam() const
NodeSet minimalCondSet(NodeId target, const NodeSet &soids) const
virtual const NodeSet & smallestFactorFromNode(NodeId node) const =0
Returns the smallest factor that contains this variable.
virtual const DiscreteVariable & variable(NodeId id) const =0
Returns a constant reference over a variable given it's node id.
virtual std::string toDotAsFactorGraph() const
IMarkovNet(const IMarkovNet< GUM_SCALAR > &source)
Copy constructor.
virtual std::string toDot() const
virtual const FactorTable< GUM_SCALAR > & factors() const =0
Returns the set of factors as a IMarkovNet::FactorTable.
IMarkovNet()
Default constructor.
IMarkovNet< GUM_SCALAR > & operator=(const IMarkovNet< GUM_SCALAR > &source)
Copy operator.
IMarkovNet(std::string name)
Default constructor.
bool operator!=(const IMarkovNet< GUM_SCALAR > &from) const
NodeSet minimalCondSet(const NodeSet &targets, const NodeSet &soids) const
GUM_SCALAR minParam() const
virtual NodeId nodeId(const DiscreteVariable &var) const =0
Return id node from discrete var pointer.
std::string toString() const
Size dim() const
Returns the dimension (the number of free parameters) in this bayes net.
Class representing the minimal interface for Markov Network.
virtual const NodeSet & smallestFactorFromNode(const std::string &name) const
Returns the smallest factor that contains this variable.
std::ostream & operator<<(std::ostream &output, const IMarkovNet< GUM_SCALAR > &mn)
Prints map's graph in output using the Graphviz-dot format.
virtual const Potential< GUM_SCALAR > & factor(const NodeSet &varIds) const =0
Returns the factor of a set of variable.
bool operator==(const IMarkovNet< GUM_SCALAR > &from) const
This operator compares 2 BNs !