Enumerating the directed acyclic graphs (DAGs) of a Markov equivalence class (MEC) is an important primitive in causal analysis. The central resource from the perspective of computational complexity is the delay, that is, the time an algorithm that lists all members of the class requires between two consecutive outputs. Commonly used algorithms for this task utilize the rules proposed by Meek (1995) or the transformational characterization by Chickering (1995), both resulting in superlinear delay. In this paper, we present the first linear-time delay algorithm. On the theoretical side, we show that our algorithm can be generalized to enumerate DAGs represented by models that incorporate background knowledge, such as MPDAGs; on the practical side, we provide an efficient implementation and evaluate it in a series of experiments. Complementary to the linear-time delay algorithm, we also provide intriguing insights into Markov equivalence itself: All members of an MEC can be enumerated such that two successive DAGs have structural Hamming distance at most three.
翻译:枚举马尔可夫等价类(MEC)中的有向无环图(DAG)是因果分析中的一项重要基础操作。从计算复杂度的角度来看,核心资源是延迟,即算法在连续输出两个该类成员之间所需的时间。常用于该任务的算法采用Meek(1995)提出的规则或Chickering(1995)提出的变换特征,两者均导致超线性延迟。本文提出首个线性时间延迟算法。在理论层面,我们证明该算法可推广至枚举由整合背景知识的模型(如MPDAG)所表示的DAG;在实践层面,我们提供高效实现并通过一系列实验进行评估。作为线性时间延迟算法的补充,我们还为马尔可夫等价本身提供了有趣见解:一个MEC的所有成员可被枚举,使得相邻两个DAG之间的结构汉明距离至多为三。