Class PossibleMsepFci

java.lang.Object
edu.cmu.tetrad.search.utils.PossibleMsepFci

public class PossibleMsepFci extends Object
Implements the Possible-M-Sep search step of Spirtes, et al's (1993) FCI algorithm (pp 144-145). Specifically, the methods in this class perform step D. of the algorithm. The algorithm implemented by this class is a bit broader, however, because it allows for the possibility that some pairs of variables have already been compared by a different algorithm. Specifically, if the prevCheck variable is provided in the constructor, then the algorithm pairwise checks every variable in the graph with every variable in v \ prevCheck (that is, the unchecked variables). This feature is used by the CIVI algorithm of Danks's "Efficient Inclusion of Novel Variables."
Version:
$Id: $Id
Author:
David Danks
  • Constructor Details

    • PossibleMsepFci

      public PossibleMsepFci(Graph graph, IndependenceTest test)
      Creates a new SepSet and assumes that none of the variables have yet been checked.
      Parameters:
      graph - The GaSearchGraph on which to work
      test - The IndependenceChecker to use as an oracle
  • Method Details

    • search

      public SepsetMap search()
      Performs pairwise comparisons of each variable in the graph with the variables that have not already been checked. We get the Possible-M-Sep sets for the pair of variables, and we check to see if they are independent conditional on some subset of the union of Possible-M-Sep sets. This method returns the SepSet passed in the constructor (if any), possibly augmented by some edge removals in this step. The GaSearchGraph passed in the constructor is directly changed.
      Returns:
      a SepsetMap object
    • getSepset

      public Set<Node> getSepset(IndependenceTest test, Node node1, Node node2)

      Getter for the field sepset.

      Parameters:
      test - a IndependenceTest object
      node1 - a Node object
      node2 - a Node object
      Returns:
      a Set object
    • 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
    • setMaxPathLength

      public void setMaxPathLength(int maxReachablePathLength)

      setMaxPathLength.

      Parameters:
      maxReachablePathLength - a int