Class SampleVcpcFast

java.lang.Object
edu.cmu.tetrad.search.work_in_progress.SampleVcpcFast
All Implemented Interfaces:
IGraphSearch

public final class SampleVcpcFast extends Object implements IGraphSearch
Implements a conservative version of PC, in which the Markov condition is assumed but faithfulness is tested locally.
Author:
josephramsey (this version).
  • Constructor Details

    • SampleVcpcFast

      public SampleVcpcFast(IndependenceTest independenceTest)
      Constructs a CPC algorithm that uses the given independence test as oracle. This does not make a copy of the independence test, for fear of duplicating the data set!
  • Method Details

    • futureNodeVisit

      public static void futureNodeVisit(Graph graph, Node b, LinkedList<Node> path, Set<Node> futureNodes)
    • isArrowheadAllowed1

      public static boolean isArrowheadAllowed1(Node from, Node to, Knowledge knowledge)
    • getSemIm

      public SemIm getSemIm()
    • setSemIm

      public void setSemIm(SemIm semIm)
    • isMeekPreventCycles

      public boolean isMeekPreventCycles()
      Returns:
      true just in case edges will not be added if they would create cycles.
    • setMeekPreventCycles

      public void setMeekPreventCycles(boolean meekPreventCycles)
      Sets to true just in case edges will not be added if they would create cycles.
    • getElapsedTime

      public long getElapsedTime()
      Returns:
      the elapsed time of search in milliseconds, after search() has been run.
    • getKnowledge

      public Knowledge getKnowledge()
      Returns:
      the knowledge specification used in the search. Non-null.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Sets the knowledge specification used in the search. Non-null.
    • getIndependenceTest

      public IndependenceTest getIndependenceTest()
      Returns:
      the independence test used in the search, set in the constructor. This is not returning a copy, for fear of duplicating the data set!
    • getDepth

      public int getDepth()
      Returns:
      the depth of the search--that is, the maximum number of variables conditioned on in any conditional independence test.
    • setDepth

      public void setDepth(int depth)
      Sets the maximum number of variables conditioned on in any conditional independence test. If set to -1, the value of 1000 will be used. May not be set to Integer.MAX_VALUE, due to a Java bug on multi-core systems.
    • getAmbiguousTriples

      public Set<Triple> getAmbiguousTriples()
      Returns:
      the set of ambiguous triples found during the most recent run of the algorithm. Non-null after a call to search().
    • getColliderTriples

      public Set<Triple> getColliderTriples()
      Returns:
      the set of collider triples found during the most recent run of the algorithm. Non-null after a call to search().
    • getNoncolliderTriples

      public Set<Triple> getNoncolliderTriples()
      Returns:
      the set of noncollider triples found during the most recent run of the algorithm. Non-null after a call to search().
    • getAdjacencies

      public Set<Edge> getAdjacencies()
    • getApparentNonadjacencies

      public Set<Edge> getApparentNonadjacencies()
    • getDefiniteNonadjacencies

      public Set<Edge> getDefiniteNonadjacencies()
    • search

      public Graph search()
      Description copied from interface: IGraphSearch
      Runs the search and returns a graph.
      Specified by:
      search in interface IGraphSearch
      Returns:
      The discovered graph.
    • getCov

      public ICovarianceMatrix getCov()
    • isDoOrientation

      public boolean isDoOrientation()
    • getGraph

      public Graph getGraph()
      The graph that's constructed during the search.
    • setGraph

      public void setGraph(Graph graph)
    • setVerbose

      public void setVerbose(boolean verbose)
    • getSemPm

      public SemPm getSemPm()
    • setSemPm

      public void setSemPm(SemPm semPm)