Package edu.cmu.tetrad.search
Class Cfci
java.lang.Object
edu.cmu.tetrad.search.Cfci
- All Implemented Interfaces:
IGraphSearch
Adjusts FCI (see) to use conservative orientation as in CPC (see). Because the collider orientatation is conservative, there may be ambiguous triples; these may be retrieved using that accessor method.
This class is configured to respect knowledge of forbidden and required edges, including knowledge of temporal tiers.
- Author:
- josephramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCfci(IndependenceTest independenceTest) Constructs a new FCI search for the given independence test and background knowledge. -
Method Summary
Modifier and TypeMethodDescriptionReturns the ambiguous triples found in the search.longReturns the elapsed time ot the search.intReturns the map from nodes to their sepsets.booleanReturns 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.booleanbooleanWhether verbose output (about independencies) is output.search()Performs the search and returns the PAG.voidsetCompleteRuleSetUsed(boolean completeRuleSetUsed) Sets whether the complete ruleset should be used.voidsetDepth(int depth) Sets the depth--i.e., the maximum number of variables conditioned on in any test.voidsetDoDiscriminatingPathRule(boolean doDiscriminatingPathRule) voidsetKnowledge(Knowledge knowledge) Set the knowledge used in the search.voidsetMaxReachablePathLength(int maxReachablePathLength) voidsetPossibleDsepSearchDone(boolean possibleDsepSearchDone) voidsetVerbose(boolean verbose)
-
Constructor Details
-
Cfci
Constructs a new FCI search for the given independence test and background knowledge.- Parameters:
independenceTest- The independence to use as an oracle.
-
-
Method Details
-
search
Performs the search and returns the PAG.- Specified by:
searchin interfaceIGraphSearch- Returns:
- The search PAG.
-
setDepth
public void setDepth(int depth) Sets the depth--i.e., the maximum number of variables conditioned on in any test.- Parameters:
depth- This maximum.
-
getElapsedTime
public long getElapsedTime()Returns the elapsed time ot the search.- Returns:
- This time.
-
getSepsets
Returns the map from nodes to their sepsets. For x _||_ y | z1,...,zn, this would map {x, y} to {z1,..,zn}.- Returns:
- This map.
-
setKnowledge
Set the knowledge used in the search.- Parameters:
knowledge- This knowledge.- See Also:
-
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.- Returns:
- True for the complete ruleset.
-
setCompleteRuleSetUsed
public void setCompleteRuleSetUsed(boolean completeRuleSetUsed) Sets whether the complete ruleset should be used.- 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.
-
getAmbiguousTriples
Returns the ambiguous triples found in the search.- Returns:
- This set.
- See Also:
-
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)
-