Package edu.cmu.tetrad.search
Class FciMax
java.lang.Object
edu.cmu.tetrad.search.FciMax
- 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 versions uses the max-P collider orientation step.
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, Joseph Ramsey, Choh-Man Teng
-
Constructor Summary
ConstructorsConstructorDescriptionFciMax
(IndependenceTest independenceTest) Constructs a new FCI search for the given independence test and background knowledge.FciMax
(IndependenceTest independenceTest, List<Node> searchVars) Constructs a new FCI search for the given independence test and background knowledge and a list of variables to search over. -
Method Summary
Modifier and TypeMethodDescriptionint
getDepth()
long
The independence test.Retrieves the background knowledge that was set.int
Retrieves the sepset map from FAS.boolean
boolean
True iff the (time-consuming) possible dsep step should be done.boolean
True iff verbose output should be printed.search()
void
setCompleteRuleSetUsed
(boolean completeRuleSetUsed) void
setDepth
(int depth) void
setDoDiscriminatingPathRule
(boolean doDiscriminatingPathRule) void
setHeuristic
(int heuristic) The FAS heuristic.void
setKnowledge
(Knowledge knowledge) Sets background knowledge for the search.void
setMaxPathLength
(int maxPathLength) void
setPossibleDsepSearchDone
(boolean possibleDsepSearchDone) True iff the (time-consuming) possible dsep step should be done.void
setStable
(boolean stable) The FAS stable option.void
setVerbose
(boolean verbose) True iff verbose output should be printed.
-
Constructor Details
-
FciMax
Constructs a new FCI search for the given independence test and background knowledge. -
FciMax
Constructs a new FCI search for the given independence test and background knowledge and a list of variables to search over.
-
-
Method Details
-
getDepth
public int getDepth() -
setDepth
public void setDepth(int depth) -
getElapsedTime
public long getElapsedTime() -
search
- Specified by:
search
in interfaceGraphSearch
-
getSepsets
Retrieves the sepset map from FAS. -
getKnowledge
Retrieves the background knowledge that was set. -
setKnowledge
Sets background knowledge for the search. -
isCompleteRuleSetUsed
public boolean isCompleteRuleSetUsed()- Returns:
- true if Zhang's complete rule set should be used, false if only R1-R4 (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-R4 (the rule set of the original FCI) should be used. False by default.
-
isPossibleDsepSearchDone
public boolean isPossibleDsepSearchDone()True iff the (time-consuming) possible dsep step should be done. -
setPossibleDsepSearchDone
public void setPossibleDsepSearchDone(boolean possibleDsepSearchDone) True iff the (time-consuming) possible dsep step should be done. -
getMaxPathLength
public int getMaxPathLength()- Returns:
- the maximum length of any discriminating path, or -1 of unlimited.
-
setMaxPathLength
public void setMaxPathLength(int maxPathLength) - Parameters:
maxPathLength
- the maximum length of any discriminating path, or -1 if unlimited.
-
isVerbose
public boolean isVerbose()True iff verbose output should be printed. -
setVerbose
public void setVerbose(boolean verbose) True iff verbose output should be printed. -
getIndependenceTest
The independence test. -
setHeuristic
public void setHeuristic(int heuristic) The FAS heuristic. -
setStable
public void setStable(boolean stable) The FAS stable option. -
setDoDiscriminatingPathRule
public void setDoDiscriminatingPathRule(boolean doDiscriminatingPathRule)
-