causaldag.classes.dag.DAG.contracted_directed_clique_tree

DAG.contracted_directed_clique_tree()[source]

Return the contracted directed clique tree associated with this DAG.

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

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), (1, 4), (3, 2), (3, 4)})
>>> cdct = d.contracted_directed_clique_tree()
>>> cdct.nodes
NodeView((frozenset({frozenset({1, 2, 3}), frozenset({1, 3, 4})}), frozenset({frozenset({0, 1})})))
>>> cdct.edges
OutEdgeView([(frozenset({frozenset({0, 1})}), frozenset({frozenset({1, 2, 3}), frozenset({1, 3, 4})}))])