Package edu.cmu.tetrad.search
Class Cfci
java.lang.Object
edu.cmu.tetrad.search.Cfci
- All Implemented Interfaces:
GraphSearch
Extends Erin Korber's implementation of the Fast Causal Inference algorithm (found in FCI.java) with Jiji Zhang's
Augmented FCI rules (found in sec. 4.1 of Zhang's 2006 PhD dissertation, "Causal Inference and Reasoning in Causally
Insufficient Systems").
This class is based off a copy of FCI.java taken from the repository on 2008/12/16, revision 7306. The extension is done by extending doFinalOrientation() with methods for Zhang's rules R5-R10 which implements the augmented search. (By a remark of Zhang's, the rule applications can be staged in this way.)
- Author:
- Erin Korber, June 2004, Alex Smith, December 2008
-
Constructor Summary
ConstructorsConstructorDescriptionCfci
(IndependenceTest independenceTest) Constructs a new FCI search for the given independence test and background knowledge. -
Method Summary
Modifier and TypeMethodDescriptionint
getDepth()
long
int
boolean
boolean
boolean
Whether verbose output (about independencies) is output.search()
void
setCompleteRuleSetUsed
(boolean completeRuleSetUsed) void
setDepth
(int depth) void
setDoDiscriminatingPathRule
(boolean doDiscriminatingPathRule) void
setKnowledge
(Knowledge knowledge) void
setMaxReachablePathLength
(int maxReachablePathLength) void
setPossibleDsepSearchDone
(boolean possibleDsepSearchDone) void
setVerbose
(boolean verbose)
-
Constructor Details
-
Cfci
Constructs a new FCI search for the given independence test and background knowledge.
-
-
Method Details
-
getDepth
public int getDepth() -
setDepth
public void setDepth(int depth) -
getElapsedTime
public long getElapsedTime() -
search
- Specified by:
search
in interfaceGraphSearch
-
getSepsets
-
getKnowledge
-
setKnowledge
-
isCompleteRuleSetUsed
public boolean isCompleteRuleSetUsed()- Returns:
- true if Zhang's complete rule set should be used, false if only R1-T1 (the rule set of the original FCI) should be used. False by default.
-
setCompleteRuleSetUsed
public void setCompleteRuleSetUsed(boolean completeRuleSetUsed) - Parameters:
completeRuleSetUsed
- set to true if Zhang's complete rule set should be used, false if only R1-T1 (the rule set of the original FCI) should be used. False by default.
-
getColliderTriples
-
getNoncolliderTriples
-
getAmbiguousTriples
-
isVerbose
public boolean isVerbose()Whether verbose output (about independencies) is output. -
setVerbose
public void setVerbose(boolean verbose) -
setMaxReachablePathLength
public void setMaxReachablePathLength(int maxReachablePathLength) -
isPossibleDsepSearchDone
public boolean isPossibleDsepSearchDone() -
setPossibleDsepSearchDone
public void setPossibleDsepSearchDone(boolean possibleDsepSearchDone) -
getMaxReachablePathLength
public int getMaxReachablePathLength() -
setDoDiscriminatingPathRule
public void setDoDiscriminatingPathRule(boolean doDiscriminatingPathRule)
-