aGrUM 3.2.0
a C++ library for (probabilistic) graphical models
MarkovBlanket_inl.h
Go to the documentation of this file.
1/****************************************************************************
2 * This file is part of the aGrUM/pyAgrum library. *
3 * *
4 * Copyright (c) 2005-2026 by *
5 * - Pierre-Henri WUILLEMIN(_at_LIP6) *
6 * - Christophe GONZALES(_at_AMU) *
7 * *
8 * The aGrUM/pyAgrum library is free software; you can redistribute it *
9 * and/or modify it under the terms of either : *
10 * *
11 * - the GNU Lesser General Public License as published by *
12 * the Free Software Foundation, either version 3 of the License, *
13 * or (at your option) any later version, *
14 * - the MIT license (MIT), *
15 * - or both in dual license, as here. *
16 * *
17 * (see https://agrum.gitlab.io/articles/dual-licenses-lgplv3mit.html) *
18 * *
19 * This aGrUM/pyAgrum library is distributed in the hope that it will be *
20 * useful, but WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
21 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES MERCHANTABILITY or FITNESS *
22 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE *
23 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
24 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
25 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *
26 * OTHER DEALINGS IN THE SOFTWARE. *
27 * *
28 * See LICENCES for more details. *
29 * *
30 * SPDX-FileCopyrightText: Copyright 2005-2026 *
31 * - Pierre-Henri WUILLEMIN(_at_LIP6) *
32 * - Christophe GONZALES(_at_AMU) *
33 * SPDX-License-Identifier: LGPL-3.0-or-later OR MIT *
34 * *
35 * Contact : info_at_agrum_dot_org *
36 * homepage : http://agrum.gitlab.io *
37 * gitlab : https://gitlab.com/agrumery/agrum *
38 * *
39 ****************************************************************************/
40
41#pragma once
42
43
50
51// to ease parsing by IDE
53
54namespace gum {
55
56 INLINE DAG MarkovBlanket::dag() const { return _mb_; }
57
58 INLINE const NodeSet& MarkovBlanket::parents(NodeId id) const { return _mb_.parents(id); }
59
60 INLINE const NodeSet& MarkovBlanket::children(NodeId id) const { return _mb_.children(id); }
61
62 INLINE NodeSet MarkovBlanket::parents(const NodeSet& ids) const { return _mb_.parents(ids); }
63
64 INLINE NodeSet MarkovBlanket::children(const NodeSet& ids) const { return _mb_.children(ids); }
65
66 INLINE NodeSet MarkovBlanket::descendants(NodeId id) const { return _mb_.descendants(id); }
67
68 INLINE NodeSet MarkovBlanket::ancestors(NodeId id) const { return _mb_.ancestors(id); }
69
70 INLINE Size MarkovBlanket::sizeArcs() const { return _mb_.sizeArcs(); }
71
72 INLINE const ArcSet& MarkovBlanket::arcs() const { return _mb_.arcs(); }
73
74 INLINE Size MarkovBlanket::sizeNodes() const { return _mb_.sizeNodes(); }
75
76 INLINE Size MarkovBlanket::size() const { return _mb_.size(); }
77
78 INLINE const NodeGraphPart& MarkovBlanket::nodes() const { return _mb_.nodes(); }
79} // namespace gum
Class building the markovBlanket from a DAGmodel and a node name.
Size sizeArcs() const
indicates the number of arcs stored within the ArcGraphPart
const NodeSet & parents(NodeId id) const
returns the set of nodes with arc ingoing to a given node
NodeSet children(const NodeSet &ids) const
returns the set of nodes which consists in the node and its parents returns the set of children of a ...
const ArcSet & arcs() const
returns the set of arcs stored within the ArcGraphPart
Base class for dag.
Definition DAG.h:121
NodeSet ancestors(NodeId id) const
returns the set of all ancestors of id (nodes from which id is reachable)
NodeSet descendants(NodeId id) const
returns the set of all descendants of id (nodes reachable from id)
NodeSet descendants(NodeId id) const
wrapping DAG::descendants(id)
const NodeSet & parents(NodeId id) const
wrapping DAG::parents(id)
const NodeSet & children(NodeId id) const
wrapping DAG::children(id)
Size sizeNodes() const
wrapping DAG::sizeNodes()
Size sizeArcs() const
wrapping DAG::sizeArcs()
const ArcSet & arcs() const
wrapping DAG::arcs()
NodeSet ancestors(NodeId id) const
wrapping DAG::ancestors(id)
const NodeGraphPart & nodes() const
wrapping DAG::nodes()
Size size() const
wrapping DAG::size()
Class for node sets in graph.
Size size() const
alias for sizeNodes
Size sizeNodes() const
returns the number of nodes in the NodeGraphPart
const NodeGraphPart & nodes() const
return *this as a NodeGraphPart
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition types.h:74
Size NodeId
Type for node ids.
Set< Arc > ArcSet
Some typdefs and define for shortcuts ...
Set< NodeId > NodeSet
Some typdefs and define for shortcuts ...
gum is the global namespace for all aGrUM entities
Definition agrum.h:46