Class MeekRules

java.lang.Object
edu.cmu.tetrad.search.MeekRules
All Implemented Interfaces:
ImpliedOrientation

public class MeekRules extends Object implements ImpliedOrientation
Implements Meek's complete orientation rule set for PC (Chris Meek (1995), "Causal inference and causal explanation with background knowledge"), modified for Conservative PC to check noncolliders against recorded noncolliders before orienting.

Rule R4 is only performed if knowledge is nonempty.

Author:
Joseph Ramsey
  • Constructor Details

    • MeekRules

      public MeekRules()
      Constructs the MeekRules with no logging.
  • Method Details

    • orientImplied

      public Set<Node> orientImplied(Graph graph)
      Description copied from interface: ImpliedOrientation
      Adds implied orientations.
      Specified by:
      orientImplied in interface ImpliedOrientation
      Returns:
      Affected nodes.
    • revertToUnshieldedColliders

      public void revertToUnshieldedColliders(List<Node> nodes, Graph graph, Set<Node> visited)
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Description copied from interface: ImpliedOrientation
      Sets knowledge.
      Specified by:
      setKnowledge in interface ImpliedOrientation
    • isAggressivelyPreventCycles

      public boolean isAggressivelyPreventCycles()
    • setAggressivelyPreventCycles

      public void setAggressivelyPreventCycles(boolean aggressivelyPreventCycles)
    • getChangedEdges

      public Map<Edge,Edge> getChangedEdges()
    • setOut

      public void setOut(PrintStream out)
    • getOut

      public PrintStream getOut()
    • setVerbose

      public void setVerbose(boolean verbose)
    • setRevertToUnshieldedColliders

      public void setRevertToUnshieldedColliders(boolean revertToUnshieldedColliders)