Class DagToPag

java.lang.Object
edu.cmu.tetrad.search.DagToPag

public final class DagToPag extends Object
Extends Erin Korber's implementation of the Fast Causal Inference algorithm (found in FCI.java) with Jiji Zhang's Augmented FCI rules (found in sec. 4.1 of Zhang's 2006 PhD dissertation, "Causal Inference and Reasoning in Causally Insufficient Systems").

This class is based off a copy of FCI.java taken from the repository on 2008/12/16, revision 7306. The extension is done by extending doFinalOrientation() with methods for Zhang's rules R5-R10 which implements the augmented search. (By a remark of Zhang's, the rule applications can be staged in this way.)

Author:
Erin Korber, June 2004, Alex Smith, December 2008, Joseph Ramsey, Choh-Man Teng
  • Constructor Details

    • DagToPag

      public DagToPag(Graph dag)
      Constructs a new FCI search for the given independence test and background knowledge.
  • Method Details

    • convert

      public Graph convert()
    • existsInducingPathInto

      public static boolean existsInducingPathInto(Node x, Node y, Graph graph)
    • getKnowledge

      public Knowledge getKnowledge()
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
    • isCompleteRuleSetUsed

      public boolean isCompleteRuleSetUsed()
      Returns:
      true if Zhang's complete rule set should be used, false if only R1-R4 (the rule set of the original FCI) should be used. False by default.
    • setCompleteRuleSetUsed

      public void setCompleteRuleSetUsed(boolean completeRuleSetUsed)
      Parameters:
      completeRuleSetUsed - set to true if Zhang's complete rule set should be used, false if only R1-R4 (the rule set of the original FCI) should be used. False by default.
    • isVerbose

      public boolean isVerbose()
      True iff verbose output should be printed.
    • setVerbose

      public void setVerbose(boolean verbose)
    • getMaxPathLength

      public int getMaxPathLength()
    • setMaxPathLength

      public void setMaxPathLength(int maxPathLength)
    • getTruePag

      public Graph getTruePag()
    • setTruePag

      public void setTruePag(Graph truePag)
    • setDoDiscriminatingPathRule

      public void setDoDiscriminatingPathRule(boolean doDiscriminatingPathRule)