causaldag.classes.dag.DAG.directed_clique_tree

DAG.directed_clique_tree(verbose=False)[source]

Return the directed clique tree associated with this DAG.

See the following for the definition of the directed clique tree: Squires, Chandler, et al. “Active Structure Learning of Causal DAGs via Directed Clique Tree.” (2020)

Parameters:verbose – if True, print out the steps taken to compute the directed clique tree.
Returns:The directed clique tree of this DAG.
Return type:networkx.MultiDiGraph

Examples

>>> import causaldag as cd
>>> d = cd.DAG(arcs={(0, 1), (1, 2), (1, 3), (2, 3)})
>>> dct = d.directed_clique_tree()
>>> dct.nodes
NodeView((frozenset({1, 2, 3}), frozenset({0, 1})))
>>> dct.edges
OutMultiEdgeView([(frozenset({0, 1}), frozenset({1, 2, 3}), 0)])