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.
翻译:在计算复杂性方面,核心资源是延迟,即列出该类所有成员的算法需要连续两项产出的时间。通常用于这项任务的算法使用Meek(1995年)提出的规则或Chikeering(1995年)提出的转换特性,两者都导致超线性延迟。在本文中,我们提出了第一个线性延迟算法。在理论方面,我们表明我们的算法可以普遍化,以列举包含背景知识的模型(如MPDAGs)为代表的DAG;在实际方面,我们提供有效的实施,并在一系列实验中加以评估。作为对线性延迟算法的补充,我们还提供对Markov等值本身的感知:可以列举出两个连续的DAGs在最多三个时间上具有结构性哈明距离。