Class RecursiveBlockingChokePointB

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

public final class RecursiveBlockingChokePointB extends Object
Option B, but – completely ignores the direct edge x *-* y while searching, and – returns null if it proves impossible to block the remaining x–y paths with eligible non-colliders.
  • Method Details

    • blockPathsRecursively

      public static Set<Node> blockPathsRecursively(Graph G, Node x, Node y, Set<Node> forbidden, int maxPathLength) throws InterruptedException
      Identifies and blocks paths in the given graph by iteratively finding and addressing chokepoints and eligible non-collider nodes. This method recursively handles graph traversal and blocking based on specific conditions until all paths between the given nodes are blocked or no further potential adjustments can be made.
      Parameters:
      G - the graph in which paths are to be blocked
      x - the starting node for path exploration
      y - the target node for path blocking
      forbidden - a set of nodes that are forbidden from being part of any path
      maxPathLength - the maximum permissible length of paths to explore
      Returns:
      a set of nodes that block paths between x and y, or null if no valid blocking set can be determined
      Throws:
      InterruptedException - if the operation is interrupted during execution