Class BfciBryan
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.BfciBryan
- All Implemented Interfaces:
Algorithm, LatentStructureAlgorithm, ReturnsBootstrapGraphs, TakesCovarianceMatrix, AcceptsKnowledge, HasParameters, TakesIndependenceWrapper, TakesScoreWrapper, TetradSerializable, Serializable
@Bootstrapping
public class BfciBryan
extends AbstractBootstrapAlgorithm
implements Algorithm, TakesScoreWrapper, TakesIndependenceWrapper, AcceptsKnowledge, ReturnsBootstrapGraphs, TakesCovarianceMatrix, LatentStructureAlgorithm
BFCI-Bryan: BOSS followed by the from-scratch, sepset-map-as-state formulation of the gated StarFCI
extra-edge-removal step, with sepset RE-SELECTION (a gate-rejected separating set does not retire the pair;
the next separating set is tried) and NO saturating step. Experimental arm for comparison against BFCI; see
BfciBryan for the algorithm and its disclosed costs.- Version:
- $Id: $Id
Backward compatibility only. The I-map gate developed here was merged into
StarFcion 2026-11-08, where it is option 1 of the three-way correctness choice; with the gate off this class was option 3. Its registration annotations are commented out, so it does not appear in the algorithm chooser; new work should useBfciwith thefcitCorrectnessoption. This class is retained under its original name so that sessions saved by earlier versions, which refer to it by this class name, continue to load; such a session re-runs through BFCI with the equivalent option. - Author:
- bryanandrews, josephramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionNo-arg constructor.BfciBryan(IndependenceWrapper test, ScoreWrapper score) Constructs a new BFCI-Bryan algorithm using the given test and score. -
Method Summary
Modifier and TypeMethodDescriptiongetComparisonGraph(Graph graph) Retrieves the comparison graph generated by applying the DAG-to-PAG transformation to the given true directed graph.Retrieves the data type that the search requires.Returns a description of the algorithm using the description of its independence test and score.Returns the IndependenceWrapper associated with this algorithm.Retrieves the knowledge associated with the algorithm.Retrieves the list of parameters used for the algorithm.Retrieves the ScoreWrapper associated with this algorithm.runSearch(DataModel dataModel, Parameters parameters) Runs the search algorithm using the given dataset and parameters and returns the resulting graph.voidsetExcludeSelectionBias(boolean excludeSelectionBias) Sets whether selection bias should be excluded in the comparison graph.voidSets the IndependenceWrapper object for this algorithm.voidsetKnowledge(Knowledge knowledge) Sets the knowledge associated with the algorithm.voidsetScoreWrapper(ScoreWrapper score) Sets the score wrapper for this algorithm.Methods inherited from class AbstractBootstrapAlgorithm
getBootstrapGraphs, searchMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ReturnsBootstrapGraphs
getBootstrapGraphs
-
Constructor Details
-
BfciBryan
public BfciBryan()No-arg constructor. Used for reflection; do not delete. -
BfciBryan
Constructs a new BFCI-Bryan algorithm using the given test and score.- Parameters:
test- the independence test to usescore- the score to use
-
-
Method Details
-
runSearch
Runs the search algorithm using the given dataset and parameters and returns the resulting graph.- Parameters:
dataModel- the data model to run the search onparameters- the parameters used for the search algorithm- Returns:
- the graph resulting from the search algorithm
- Throws:
InterruptedException
-
getComparisonGraph
Retrieves the comparison graph generated by applying the DAG-to-PAG transformation to the given true directed graph.- Specified by:
getComparisonGraphin interfaceAlgorithm- Parameters:
graph- The true directed graph, if there is one.- Returns:
- The comparison graph.
-
getDescription
Returns a description of the algorithm using the description of its independence test and score.- Specified by:
getDescriptionin interfaceAlgorithm- Returns:
- The description of the algorithm.
-
getDataType
Retrieves the data type that the search requires.- Specified by:
getDataTypein interfaceAlgorithm- Returns:
- the data type required by the search algorithm
-
getParameters
Retrieves the list of parameters used for the algorithm.- Specified by:
getParametersin interfaceHasParameters- Returns:
- the list of parameters
-
getKnowledge
Retrieves the knowledge associated with the algorithm.- Specified by:
getKnowledgein interfaceAcceptsKnowledge- Returns:
- the knowledge
-
setKnowledge
Sets the knowledge associated with the algorithm.- Specified by:
setKnowledgein interfaceAcceptsKnowledge- Parameters:
knowledge- a knowledge object
-
getIndependenceWrapper
Returns the IndependenceWrapper associated with this algorithm.- Specified by:
getIndependenceWrapperin interfaceTakesIndependenceWrapper- Returns:
- the IndependenceWrapper object
-
setIndependenceWrapper
Sets the IndependenceWrapper object for this algorithm.- Specified by:
setIndependenceWrapperin interfaceTakesIndependenceWrapper- Parameters:
test- the IndependenceWrapper object to set
-
getScoreWrapper
Retrieves the ScoreWrapper associated with this algorithm.- Specified by:
getScoreWrapperin interfaceTakesScoreWrapper- Returns:
- The ScoreWrapper object.
-
setScoreWrapper
Sets the score wrapper for this algorithm.- Specified by:
setScoreWrapperin interfaceTakesScoreWrapper- Parameters:
score- the score wrapper to set
-
setExcludeSelectionBias
public void setExcludeSelectionBias(boolean excludeSelectionBias) Sets whether selection bias should be excluded in the comparison graph.- Parameters:
excludeSelectionBias- True to exclude selection bias, false otherwise.
-