Class Fas2
java.lang.Object
edu.cmu.tetrad.search.work_in_progress.Fas2
- All Implemented Interfaces:
IFas,IGraphSearch
Implements the "fast adjacency search" used in several causal algorithm in this package. In the fast adjacency
search, at a given stage of the search, an edge X*-*Y is removed from the graph if X _||_ Y | S, where S is a subset
of size d either of adj(X) or of adj(Y), where d is the depth of the search. The fast adjacency search performs this
procedure for each pair of adjacent edges in the graph and for each depth d = 0, 1, 2, ..., d1, where d1 is either
the maximum depth or else the first such depth at which no edges can be removed. The interpretation of this adjacency
search is different for different algorithm, depending on the assumptions of the algorithm. A mapping from {x, y} to
S({x, y}) is returned for edges x *-* y that have been removed.
- Author:
- Joseph Ramsey.
-
Constructor Summary
ConstructorsConstructorDescriptionFas2(Graph initialGraph, IndependenceTest test) Constructs a new FastAdjacencySearch.Fas2(IndependenceTest test) -
Method Summary
Modifier and TypeMethodDescriptiongetAmbiguousTriples(Node node) Returns the list of ambiguous triples found for a given node.intgetDepth()longReturns the elapsed time of the search.getNodes()Returns the nodes searched over.intReturns the number of independence tests done in the search.Returns the sepset map discovered during search--that is, the map from node pairs to the sepsets used in the search to remove the corresponding edges from the complete graph.booleansearch()Discovers all adjacencies in data.voidsetDepth(int depth) Sets the depth of the search--that is, the maximum number of variables conditioned on in the search.voidsetKnowledge(Knowledge knowledge) Sets the knowledge for the search.voidsetOut(PrintStream out) sets the print stream to send text to.voidsetPcHeuristicType(PcCommon.PcHeuristicType pcHeuristicType) voidsetStable(boolean b) voidsetVerbose(boolean verbose) Sets whether verbose output should be printed.
-
Constructor Details
-
Fas2
Constructs a new FastAdjacencySearch. -
Fas2
-
-
Method Details
-
search
-
search
Discovers all adjacencies in data. The procedure is to remove edges in the graph which connect pairs of variables which are independent conditional on some other set of variables in the graph (the "sepset"). These are removed in tiers. First, edges which are independent conditional on zero other variables are removed, then edges which are independent conditional on one other variable are removed, then two, then three, and so on, until no more edges can be removed from the graph. The edges which remain in the graph after this procedure are the adjacencies in the data.- Specified by:
searchin interfaceIGraphSearch- Returns:
- a SepSet, which indicates which variables are independent conditional on which other variables
-
getDepth
public int getDepth() -
setDepth
public void setDepth(int depth) Description copied from interface:IFasSets the depth of the search--that is, the maximum number of variables conditioned on in the search. -
getKnowledge
-
setKnowledge
Description copied from interface:IFasSets the knowledge for the search.- Specified by:
setKnowledgein interfaceIFas- Parameters:
knowledge- This knowledge.
-
getNumIndependenceTests
public int getNumIndependenceTests()Description copied from interface:IFasReturns the number of independence tests done in the search.- Specified by:
getNumIndependenceTestsin interfaceIFas- Returns:
- This number.
-
getSepsets
Description copied from interface:IFasReturns the sepset map discovered during search--that is, the map from node pairs to the sepsets used in the search to remove the corresponding edges from the complete graph.- Specified by:
getSepsetsin interfaceIFas- Returns:
- This map.
-
isVerbose
public boolean isVerbose() -
setVerbose
public void setVerbose(boolean verbose) Description copied from interface:IFasSets whether verbose output should be printed.- Specified by:
setVerbosein interfaceIFas- Parameters:
verbose- True, if so.
-
getElapsedTime
public long getElapsedTime()Description copied from interface:IFasReturns the elapsed time of the search.- Specified by:
getElapsedTimein interfaceIFas- Returns:
- This time.
-
getNodes
Description copied from interface:IFasReturns the nodes searched over. -
getAmbiguousTriples
Description copied from interface:IFasReturns the list of ambiguous triples found for a given node.- Specified by:
getAmbiguousTriplesin interfaceIFas- Parameters:
node- The node- Returns:
- The list.
- See Also:
-
setOut
Description copied from interface:IFassets the print stream to send text to. -
setPcHeuristicType
-
setStable
public void setStable(boolean b)
-