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.
- Version:
- $Id: $Id
- 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 to the search.int
Returns the maximum length for any discriminating path.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
Whether to do the discriminating path rule.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
setKnowledge
(Knowledge knowledge) Set the knowledge used in the search.void
setMaxDiscriminatingPathLength
(int maxDiscriminatingPathLength) Sets the maximum length of any discriminating path.void
setMaxReachablePathLength
(int maxReachablePathLength) Sets the maximum length for any discriminating path.void
setPossibleMsepSearchDone
(boolean possibleMsepSearchDone) Whether to do the discriminating path rule.void
setVerbose
(boolean verbose) Whether verbose output (about independencies) is output.
-
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.
- Throws:
InterruptedException
- if any.
-
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 to 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
-
isVerbose
public boolean isVerbose()Whether verbose output (about independencies) is output.- Returns:
- True iff verbose output (about independencies) is output.
-
setVerbose
public void setVerbose(boolean verbose) Whether verbose output (about independencies) is output.- Parameters:
verbose
- True iff verbose output (about independencies) is output.
-
isPossibleMsepSearchDone
public boolean isPossibleMsepSearchDone()Whether to do the discriminating path rule.- Returns:
- True, iff the discriminating path rule is done.
-
setPossibleMsepSearchDone
public void setPossibleMsepSearchDone(boolean possibleMsepSearchDone) Whether to do the discriminating path rule.- Parameters:
possibleMsepSearchDone
- True, iff the discriminating path rule is done.
-
getMaxReachablePathLength
public int getMaxReachablePathLength()Returns the maximum length for any discriminating path. -1 if unlimited; otherwise, a positive integer.- Returns:
- This length.
-
setMaxReachablePathLength
public void setMaxReachablePathLength(int maxReachablePathLength) Sets the maximum length for any discriminating path. -1 if unlimited; otherwise, a positive integer.- Parameters:
maxReachablePathLength
- This length.
-
setMaxDiscriminatingPathLength
public void setMaxDiscriminatingPathLength(int maxDiscriminatingPathLength) Sets the maximum length of any discriminating path.- Parameters:
maxDiscriminatingPathLength
- the maximum length of any discriminating path, or -1 if unlimited.
-