java.lang.Object
edu.cmu.tetrad.search.work_in_progress.VcFas

public class VcFas extends Object
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.
Version:
$Id: $Id
Author:
josephramsey.
  • Constructor Details

  • Method Details

    • search

      public Graph 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.
      Returns:
      a SepSet, which indicates which variables are independent conditional on which other variables
    • getDepth

      public int getDepth()

      Getter for the field depth.

      Returns:
      a int
    • setDepth

      public void setDepth(int depth)

      Setter for the field depth.

      Parameters:
      depth - a int
    • getKnowledge

      public Knowledge getKnowledge()

      Getter for the field knowledge.

      Returns:
      a Knowledge object
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)

      Setter for the field knowledge.

      Parameters:
      knowledge - a Knowledge object
    • getNumIndependenceTests

      public int getNumIndependenceTests()

      Getter for the field numIndependenceTests.

      Returns:
      a int
    • getApparentlyNonadjacencies

      public Map<Edge,Set<Node>> getApparentlyNonadjacencies()

      Getter for the field apparentlyNonadjacencies.

      Returns:
      a Map object
    • setExternalGraph

      public void setExternalGraph(Graph externalGraph)

      Setter for the field externalGraph.

      Parameters:
      externalGraph - a Graph object
    • isVerbose

      public boolean isVerbose()

      isVerbose.

      Returns:
      a boolean
    • setVerbose

      public void setVerbose(boolean verbose)

      Setter for the field verbose.

      Parameters:
      verbose - a boolean
    • getNodes

      public List<Node> getNodes()

      getNodes.

      Returns:
      a List object