3.1.4. pywhy_graphs.algorithms.discriminating_path#
- pywhy_graphs.algorithms.discriminating_path(graph: PAG, u: int | float | str | Any, a: int | float | str | Any, c: int | float | str | Any, max_path_length: int | None = None) Tuple[bool, List[int | float | str | Any], Set[int | float | str | Any]][source]#
- Find the discriminating path for <…, a, u, c>. - A discriminating path, p = <v, …, a, u, c>, is one where: - p has at least 3 edges - u is non-endpoint and u is adjacent to c - v is not adjacent to c - every vertex between v and u is a collider on p and parent of c - Parameters:
- graphPAG
- PAG to orient. 
- unode
- A node in the graph. 
- anode
- A node in the graph. 
- cnode
- A node in the graph. 
- max_path_lengthoptional, int
- The maximum distance to check in the graph. By default None, which sets it to 1000. 
 
- Returns:
- explored_nodesset
- A set of explored nodes. 
- disc_pathlist
- The discriminating path starting from node c. 
- found_discriminating_pathbool
- Whether or not a discriminating path was found.