Class GrowShrink
- All Implemented Interfaces:
IMbSearch
Margaritis, D., & Thrun, S. (1999). Bayesian network induction via local neighborhoods. Advances in neural information processing systems, 12.
Grow-Shrink learns the Markov blanket of a node, given a conditional independence test over a list of possible nodes. The Markov blanket is a set of nodes (or, in this case a list of distinct nodes), conditional on which every other node in the set is independent of X. In this case, a minimal Markov blanket is learned, which is to say, a Markov boundary of X.
Graphically, in a DAG, the Markov blanket of X is the set of parents, children, and parents of children of X; GrowShrink will, for a faithful test, learn this set for X. However, a graph over the nodes together with X is not learned; other algorithms are available to do that (see, e.g., FgesMb, PcMb).
We include GrowShrink in our algorithm suite mainly because it is a CMU algorithm (see the above reference). Markov blanket search has been explored in some detail in the literature, and several algorithms are available. See for instance the BNLEARN package in R: https://www.bnlearn.com
This class is not configured to respect knowledge of forbidden and required edges.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFinds the Markov blanket (MB) for a given target node.Returns "Grow Shrink".int
getNumIndependenceTests.
-
Constructor Details
-
GrowShrink
Constructs a new search.- Parameters:
test
- The test used for this search.
-
-
Method Details
-
findMb
Finds the Markov blanket (MB) for a given target node.- Specified by:
findMb
in interfaceIMbSearch
- Parameters:
target
- the target node for which the MB is to be found- Returns:
- the set of nodes that form the Markov blanket for the target node
- Throws:
InterruptedException
-
getAlgorithmName
Returns "Grow Shrink".- Specified by:
getAlgorithmName
in interfaceIMbSearch
- Returns:
- This string.
-
getNumIndependenceTests
public int getNumIndependenceTests()getNumIndependenceTests.
- Specified by:
getNumIndependenceTests
in interfaceIMbSearch
- Returns:
- a int
- Throws:
UnsupportedOperationException
- Since independence tests are not counted.
-