graphical_models.classes.dags.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

>>> from graphical_models import DAG
>>> d = 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})}))])