Class BesPermutation
Implements a version of the BES (Best Equivalent Search) algorithm that takes a permutation as input and yields a permtuation as output, where the related DAG or CPDAG models are implied by the ordering or variables in these permutations. BES is the second step of the GES algorithm (e.g., FGES). The first step in GES starts with an empty graph and adds edges (with corresponding reorientations of edges), yielding a Markov model. The second step, this one, BES, starts with this Markov model and then tries to remove edges from it (with corresponding reorientation) to improve the BES scores.
The advantage of doing this is that BES can then be used as a step in certain permutation-based algorithms like BOSS to allow correct models to be inferred under the assumption of faithfulness.
- Version:
- $Id: $Id
- Author:
- bryanandrews, josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Runs BES.Returns the knowledge that BES will use.Returns the variables.void
setKnowledge
(Knowledge knowledge) Sets the knowledge that BES will use.void
setVerbose
(boolean verbose) Sets whether verbose output should be printed.
-
Constructor Details
-
BesPermutation
Constructor.- Parameters:
score
- The score that BES (from FGES) will use.
-
-
Method Details
-
getVariables
-
setVerbose
public void setVerbose(boolean verbose) Sets whether verbose output should be printed.- Parameters:
verbose
- True, if so.
-
bes
Runs BES.- Parameters:
graph
- The graph.order
- The order.suborder
- The suborder.- Throws:
InterruptedException
-
getKnowledge
-
setKnowledge
Sets the knowledge that BES will use.- Parameters:
knowledge
- This knowledge.
-