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 orientation 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.long
Returns the elapsed time ot the search.int
Returns the map from nodes to their sepsets.boolean
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.boolean
boolean
Whether verbose output (about independencies) is output.search()
Performs the search and returns the PAG.void
setCompleteRuleSetUsed
(boolean completeRuleSetUsed) Sets whether the complete rule set should be used.void
setDepth
(int depth) Sets the depth--i.e., the maximum number of variables conditioned on in any test.void
setDoDiscriminatingPathRule
(boolean doDiscriminatingPathRule) void
setKnowledge
(Knowledge knowledge) Set the knowledge used in the search.void
setMaxReachablePathLength
(int maxReachablePathLength) void
setPossibleMsepSearchDone
(boolean possibleMsepSearchDone) void
setVerbose
(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:
search
in 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 rule set.
-
setCompleteRuleSetUsed
public void setCompleteRuleSetUsed(boolean completeRuleSetUsed) Sets whether the complete rule set 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) -
isPossibleMsepSearchDone
public boolean isPossibleMsepSearchDone() -
setPossibleMsepSearchDone
public void setPossibleMsepSearchDone(boolean possibleMsepSearchDone) -
getMaxReachablePathLength
public int getMaxReachablePathLength() -
setMaxReachablePathLength
public void setMaxReachablePathLength(int maxReachablePathLength) -
setDoDiscriminatingPathRule
public void setDoDiscriminatingPathRule(boolean doDiscriminatingPathRule)
-