SlowGuess/NeurIPS_2023_OCR huggingface dataset:
In the remaining part of the proof, we discuss the time complexity of finding these directed paths. To certify whether  $V(\mathcal{H}) \subseteq \operatorname{Des}(v)$  or  $V(\mathcal{H}) \subseteq V(\mathcal{G}) \backslash \operatorname{Des}[v]$ , all we need to do is check whether a directed path exists between  $v$  and any  $u \in V(\mathcal{H})$ . If the direction of the path is from  $v$  to  $\mathcal{H}$ , then  $V(\mathcal{H}) \subseteq \operatorname{Des}(v)$  or else  $V(\mathcal{H}) \subseteq V(\mathcal{G}) \backslash \operatorname{Des}[v]$ . To check whether a directed path exists between two vertices can be done in polynomial time and therefore we can certify if  $V(\mathcal{H}) \subseteq \operatorname{Des}(v)$  or  $V(\mathcal{H}) \subseteq V(\mathcal{G}) \backslash \operatorname{Des}[v]$ . We conclude the proof.
Proof. Consider a clique  $K$  and a true ordering  $\pi$  defined on the vertices  $V(\mathcal{G})$  of the underlying ground truth DAG  $\mathcal{G}$ . Let  $v_{1}, v_{2}, \ldots, v_{k}$  represent the vertices in the clique  $K$ , labeled according to
the true ordering  $\pi$ . In other words,  $v_{i}$  precedes  $v_{j}$  in  $\pi$  whenever  $i < j$ . Since  $K$  is a 1/2-Clique separator, according to Lemma 10, we have  $|A_{v_1}|\leq |V(\mathcal{G})| / 2$ . Additionally, based on Lemma 13, we know that  $|A_{v_j}|\leq |A_{v_{j + 1}}|$  for all  $j\in [1,k - 1]$ . Let  $v_{j^*}$  be the last vertex within the clique  $K$  in the true ordering  $\pi$  such that  $|A_{v_{j^{*}}}| \leq |V(\mathcal{G})| / 2$ .
In our proof, we demonstrate that our algorithm can either discover a 1/2-Meek separator or identify the vertex  $v_{j*}$  within  $\mathcal{O}(\log |K|)$  interventions, on average. If, at any stage of the algorithm,  $u_i$  is a 1/2-Meek separator, our task is complete. Consequently, for the remainder of the proof, we concentrate on the alternative scenario and establish that our algorithm locates  $v_{j*}$ . In this case, we observe that either  $v_{j*}$  corresponds to the sink node of  $K$  or we uncover the subsequent vertex,  $v_{j^{*} + 1}$ , in the ordering. Notably, according to Lemma 10, either case implies that  $\mathcal{I} = \{u\}$  or  $\mathcal{I} = \{u,x\}$  constitutes a 1/2-Meek separator.
During each iteration  $i$  of our algorithm, we intervene on a uniformly random chosen vertex  $u_{i}$  from the remaining clique  $K_{i}$ . Let  $\mathcal{H}_i$  represent the largest connected component in the interventional essential graph  $\mathcal{E}_{u_i}(\mathcal{G})$ . The algorithm terminates when the size of the clique becomes empty. Notably, when we intervene on a vertex  $u_{i}$ , by Lemma 19, the existence of a directed path from  $u_{i}$  to  $\mathcal{H}_i$  implies that  $\mathcal{H}_i$  corresponds to a connected component in the descendant subgraph of  $u_{i}$ . Since  $|V(\mathcal{H}_i)| > |V(\mathcal{G})| / 2$ , it follows that  $|\mathrm{Des}(u_i)| > |V(\mathcal{G})| / 2$ , which further implies  $|A_{u_i}| \leq |V(\mathcal{G})| / 2$ . We assign  $u = u_{i}$  and observe that  $|\mathrm{Des}(u)| = |\mathrm{Des}(u_i)| > |V(\mathcal{G})| / 2$ , implying  $|A_u| \leq |V(\mathcal{G})| / 2$ . In this scenario, we recursively proceed with the set  $Q_{u_i} \cap K_i$ , which comprises the nodes that appear after the vertex  $u_{i}$  in the true ordering  $\pi$ . It is worth noting that these vertices  $y \in Q_{u_i} \cap K_i$  satisfy  $|A_y| \geq |A_{u_i}|$  since  $y \in \mathrm{Des}(u_i)$  (Lemma 10).
In the other case, when no path exists from  $u_{i}$  to  $\mathcal{H}_i$ , by Lemma 19, we deduce that  $V(\mathcal{H}_i) \subseteq A_{u_i}$ , thereby leading to  $|A_{u_i}| > V(\mathcal{G}) / 2$ . Consequently, we assign  $x = u_{i}$  and therefore  $|A_x| > V(\mathcal{G}) / 2$ . In this situation, we recursively proceed with the set  $P_{u_i} \cap K_i$ , which represents the vertices appearing before the vertex  $u_{i}$  in the true ordering  $\pi$ .
In both cases, it is important to note that  $K_{i}$  always consists of a contiguous set of vertices (defined by the true ordering) within the clique  $K$ . Let  $s_{i+1}$  and  $t_{i+1}$  denote the source and sink vertices, respectively, in the remaining clique  $K_{i+1}$ . In the first case, where  $K_{i+1} = Q_{u_i} \cap K_i$ , the vertex  $u = u_i$  satisfies  $\mathsf{Des}(u) \cap (V(\mathcal{G}) \backslash \mathsf{Des}(s_{i+1})) \cap K = \emptyset$ . In the latter case, where  $K_{i+1} = P_{u_i} \cap K_i$ , the vertex  $x = u_i$  satisfies  $\mathsf{Des}(t_{i+1}) \cap (V(\mathcal{G}) \backslash \mathsf{Des}(x)) \cap K = \emptyset$ . In simpler terms, this means that vertex  $u$  (immediate parent) precedes the remaining clique  $K_{i+1}$  in the true ordering  $\pi$ , while vertex  $x$  (immediate child) succeeds it within the clique  $K$ .
Our algorithm terminates when the remaining clique becomes empty, implying that either  $u$  is a sink vertex or  $u$  and  $x$  are consecutive vertices within the clique. In other words,  $\mathsf{Des}(u) \cap (V(G) \backslash \mathsf{Des}(x)) \cap K = \emptyset$ . Therefore, the solution returned by our algorithm satisfies the conditions of the lemma. The only remaining task is to bound the number of interventions required by our algorithm.
To bound the number of interventions or iterations, we need to analyze the decrease in the size of the clique  $K_{i}$  at each iteration. Recall that  $K_{i}$  consists of a contiguous set of vertices from the original clique  $K$ , and in each iteration, we randomly select a vertex  $u_{i}$ . As discussed earlier, our algorithm either outputs a 1/2-Meek separator at some intermediate step or performs a randomized binary search to locate the vertices  $v_{j^{*}}$  and  $v_{j^{*} + 1}$  (if it exists), satisfying  $|A_{v_{j^{*}}}|\leq |V(\mathcal{G})| / 2$  and  $|A_{v_{j^{*} + 1}}| > |V(\mathcal{G})| / 2$ .
Since the parents and children of a vertex  $v$  within the clique  $K$  are known after intervening on it, the algorithm essentially performs a binary search to find the vertices  $v_{j*}$  and  $v_{j^{*} + 1}$ . The standard analysis of randomized binary search provides an expected upper bound of  $\mathcal{O}(\log |K|)$  iterations.
Combining these insights, we can conclude the proof by establishing that the expected number of iterations is bounded by  $\mathcal{O}(\log |K|)$ .
D.6 Proof for Theorem 5
Theorem 5 (Meek separator). Given an essential graph  $\mathcal{E}(\mathcal{G})$  of an unknown DAG  $\mathcal{G}$ , there exists a randomized procedure MeekSeparator (given in Algorithm 1) that runs in polynomial time and
adaptively intervenes on a set of atomic interventions  $\mathcal{I}$  such that we can find a  $1/2$ -Meek separator of size at most 2 and  $\mathbb{E}[[\mathcal{I}]] \leq \mathcal{O}(\log \omega(\mathcal{G}))$ ,<sup>16</sup> where  $\omega(\mathcal{G})$  denotes the size of the largest clique in  $\mathcal{G}$ .
Proof. The proof of the theorem for a moral DAG follows immediately by combining Lemma 14 and Lemma 10.
In the remainder, we extend our result to encompass general directed acyclic graphs. While an informal argument for general DAGs has been provided at the beginning of Section 4, we now delve into further details to substantiate that argument. Let us recall the definition of  $\mathcal{G}^{\mathcal{I}} = \mathcal{G}[E \setminus R(\mathcal{G},\mathcal{I})]$  and focus on the graph  $\mathcal{G}^{\emptyset}$ . This subgraph is derived by removing both the v-structure edges and the oriented edges resulting from the application of Meek rules. According to Proposition 17, we establish that  $\mathcal{G}^{\emptyset}$  does not introduce any new v-structures and, therefore, is a moral DAG.
To proceed, let  $\mathcal{H} \in CC(\mathcal{E}_{\emptyset}(\mathcal{G}))$  be the largest connect component within  $\mathcal{E}_{\emptyset}(\mathcal{G})$  and designate  $\mathcal{I}$  as a 1/2-Meek separator of  $\mathcal{H}$ . Note that  $R(\mathcal{H}, \mathcal{I}) \subseteq R(\mathcal{G}^{\emptyset}, \mathcal{I})$  and as highlighted in Proposition 17, we also determine that  $R(\mathcal{G}^{\emptyset}, \mathcal{I}) = R(\mathcal{G}, \mathcal{I}) \backslash R(\mathcal{G}, \emptyset)$ . Consequently, the connected components within both the intervention essential graphs  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$  and  $\mathcal{E}_{\mathcal{I}}(\mathcal{G}^{\emptyset})$  are identical. Since  $\mathcal{I}$  is a 1/2-Meek separator for  $\mathcal{G}^{\emptyset}$ , it also functions as a half 1/2-Meek separator for  $\mathcal{G}$ .
E Remaining Proofs for Subset Search
Here we present all the proofs for the subset search problem. The proof for the lower bound and the upper bound results are presented in Appendix E.1 and Appendix E.2 respectively.
E.1 Lower Bound for Subset Search (Lemma 6)
Here we prove our lower bound result for the subset verification problem.
Proof. Consider an intervention set  $\mathcal{I}$  and let  $CC(\mathcal{E}_{\mathcal{I}}(\mathcal{G}))$  be the set of all connected components in the intervention essential graph  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$ . As interventions within each connected components are independent[HB14], we have that,
$$
\nu_ {1} (\mathcal {G}, T) \geq \sum_ {\mathcal {H} \in C C (\mathcal {E} _ {\mathcal {I}} (\mathcal {G}))} \nu_ {1} (\mathcal {H}, T \cap E (\mathcal {H})).
$$
For each  $\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}}(\mathcal{G}))$ , where  $T \cap E(\mathcal{H})$  is non-empty, it is trivial that  $\nu_{1}(\mathcal{H}, T \cap E(\mathcal{H})) \geq 1$  as we need at least one intervention to orient all the edges in  $T \cap E(\mathcal{H})$ . Therefore the lower bound follows, which concludes the proof.
E.2 Upper Bound for Subset Search (Theorem 7)
Here we present comprehensive proof for the upper bound result. Although a proof sketch of this result has already been presented in Section 5, we now provide additional details to solidify our argument.
Theorem 7 (Upper bound). Let  $\mathcal{G} = (V,E)$  be a DAG with  $|V| = n$  and  $T\subseteq E$  be a subset of target edges. Algorithm 2 that takes essential graph  $\mathcal{E}(\mathcal{G})$  and  $T$  as input, runs in polynomial time and adaptively intervenes on a set of atomic interventions  $\mathcal{I}\subseteq V$  that satisfies,  $\mathbb{E}[|\mathcal{I}|]\leq \mathcal{O}\big(\log n\cdot \log \omega (\mathcal{G})\big)\cdot \nu_1(\mathcal{G},T)$  and  $T\subseteq R(\mathcal{G},\mathcal{I})$ . Furthermore, in the special case of  $T = E$ , the solution returned by it satisfies,  $\mathbb{E}[|\mathcal{I}|]\leq \mathcal{O}(\log n)\cdot \nu_{1}(\mathcal{G})$  and  $E\subseteq R(\mathcal{G},\mathcal{I})$ .
Proof. As discussed in Section 5, the correctness of the Algorithm 2 follows because of the termination condition of the algorithm. Note that, upon termination, all the connected components that encompass the target edges  $T$  have a size of 1. This observation leads to the immediate implication that all the edges belonging to  $T$  are oriented.
16The expectation in the result is over the randomness of the algorithm.
In the remaining part of the proof, we analyze the cost of the algorithm and divide the analysis into two parts: the number of outer loops and the cost per loop.
The bound on the number of outer loops is straightforward. Since the size of connected components containing the target edges decreases at least by a factor of  $1/2$  in each iteration, and after  $\mathcal{O}(\log n)$  iterations all connected components either consist of a single vertex or do not have any incident target edges  $T$ , therefore our algorithm terminates in  $\mathcal{O}(\log n)$  iterations.
To bound the cost per loop, note that, we invoke the Meek separator only on the connected components  $\mathcal{H}$  that have at least one target edge. For each such component  $\mathcal{H}$ , Lemma 6 establishes that any algorithm must perform at least one intervention on this component. Our Meek separator algorithm performs at most  $\mathcal{O}(\log \omega (\mathcal{H}))\in \mathcal{O}(\log \omega (\mathcal{G}))$  interventions for each component  $\mathcal{H}$ . Hence, in any iteration, we perform at most  $O(\log \omega (\mathcal{G}))\nu_{1}(\mathcal{G},T)$  interventions. It is important to mention that when  $T = E$ , we use the lower bound from  $[\mathrm{SMG}^{+}20]$  which states that any algorithm would require at least  $\Omega (\omega (\mathcal{H}))$  interventions to orient all edges within the connected component  $\mathcal{H}$ , whereas we only perform  $O(\log \omega (\mathcal{H}))$  interventions in that iteration. Consequently, in the special case of  $T = E$ , the cost per iteration is at most  $O(\nu_{1}(\mathcal{G},E))$ .
Combining these analyses, we conclude that our algorithm orients all the edges in  $T$  by performing at most  $\mathcal{O}(\log n\log \omega (\mathcal{G}))\nu_{1}(\mathcal{G},T)$  interventions. In the special case of  $T = E$ , our total number of interventions is at most  $\mathcal{O}(\log n)\cdot \nu_1(\mathcal{G})$ . This completes the proof.
F Remaining Proofs for Causal Mean Matching
Similar to the subset search, we use the Meek separator as a subroutine to provide an approximation algorithm. A crucial step of our algorithm is a source finding algorithm, which given an essential graph  $\mathcal{E}(\mathcal{G})$  and a subset of nodes  $U\subseteq V(\mathcal{G})$ , returns a source node of  $U$  by performing at most  $\mathcal{O}(\log n\cdot \log \omega (\mathcal{G}))$  number of interventions. Such a source-finding algorithm immediately helps us solve the causal state-matching problem. In the remainder of the section we provide the source finding algorithm and use it to solve the causal state matching problem. To understand our source finding algorithm, we need the following lemma.
Lemma 20. Let  $\mathcal{G} = (V,E)$  be a DAG,  $\mathcal{I} \subseteq V$  be an intervention set and let  $S, \mathcal{H} \in \mathcal{E}_{\mathcal{I}}(\mathcal{G}^*)$ . Suppose there exists a directed path from  $S$  to  $\mathcal{H}$ , then no directed path exists from  $\mathcal{H}$  to  $S$ . Furthermore, if  $s, t \in V$  be such that  $t \in \mathsf{Des}(s)$  and they are not in the same connected component, then there exists a directed path that is oriented from the connected component containing  $s$  to the connected component containing  $t$ .
Proof. We are given that there exists a directed path from  $S$  to  $\mathcal{H}$ . As there exists a directed path from  $S$  to  $\mathcal{H}$ , there exist a vertex  $s \in V(S)$  and  $t \in V(\mathcal{H})$  such that  $t \in \operatorname{Des}(s)$ .
Suppose for a contradiction assume that there exists a directed path from  $\mathcal{H}$  to  $S$ . Let  $u$  and  $v$  be the endpoint of this directed path in  $\mathcal{H}$  and  $S$  respectively. By Proposition 17, we know that all the recovered parents for the vertices within the same connected component are the same; therefore we have that,  $\mathrm{Pa}_{u,\mathcal{I}}(\mathcal{G}) = \mathrm{Pa}_{t,\mathcal{I}}(\mathcal{G})$  and  $\mathrm{Pa}_{s,\mathcal{I}}(\mathcal{G}) = \mathrm{Pa}_{v,\mathcal{I}}(\mathcal{G})$ . Let  $t'$  be the parent of  $t$  on the directed path that connects the vertices  $s$  and  $t$ . Note that  $t' \in \mathrm{Des}[s]$  and  $t'$  could be  $s$  or some other vertex. As  $s$  and  $t$  belong to different connected components  $t' \to t$  is oriented. As  $\mathrm{Pa}_{u,\mathcal{I}}(\mathcal{G}) = \mathrm{Pa}_{t,\mathcal{I}}(\mathcal{G})$ , we have that  $t' \in \mathrm{Pa}_{u,\mathcal{I}}(\mathcal{G})$ , therefore  $u \in \mathrm{Des}(t')$  which further implies  $u \in \mathrm{Des}(s)$ . As  $v \in \mathrm{Des}(u)$  and as they are in different connected components, a similar argument as above implies that  $s \in \mathrm{Des}(u)$ , which is a contradiction. Therefore  $\mathcal{H}$  to  $S$  directed path does not exist. The analysis conducted above verifies the first claim of the lemma. In the subsequent portion, we focus on establishing the second part.
Consider vertices  $s$  and  $t$  such that  $t \in \mathsf{Des}(s)$ . If both  $s$  and  $t$  belong to the same connected component in the interventional essential graph  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$ , the lemma statement holds trivially. Henceforth, we assume that  $s$  and  $t$  belong to distinct connected components, denoted as  $S$  and  $T$  respectively.
Since  $t \in \mathsf{Des}(s)$ , there exists a directed path from vertex  $s$  to vertex  $t$  in the ground truth DAG  $\mathcal{G}$ . Let us denote  $Q$  as the shortest directed path from  $s$  to  $t$  in  $\mathcal{G}$ . To form path  $P$ , we remove the edges within the connected components  $S$  and  $T$  from  $Q$  and retain only the edges that connect  $S$  and  $T$ . Consequently,  $P$  represents this modified portion of path  $Q$ . Furthermore, let  $v$  and  $w$  be the
respective endpoints of path  $P$  in  $S$  and  $T$ . As  $S$  and  $T$  are two different connected components, we have that some of the edges in  $P$  are oriented.
Suppose that all edges in  $P$  are oriented. In this case, we have already found a directed path from  $S$  to  $T$  in  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$ , and our objective is achieved. Hence, we focus on the scenario where some edges in  $P$  are unoriented. Let  $P: v = v_0 \to v_1 \to \dots \to v_\ell \to w$  denote the vertices along the path  $P$ , and let  $v_j \sim v_{j+1}$  represent the first unoriented edge encountered.
Since  $v_{1}$  does not belong to the connected component  $S$ , we have that  $v \to v_{1}$  is oriented and we have  $v_{j} \neq v$ . Now, consider the situation where  $v_{j-1}$  and  $v_{j+1}$  are not adjacent. In such a case, the Meek rule R1 would orient the edge  $v_{j} \to v_{j+1}$ . However, since  $v_{j} \to v_{j+1}$  remains unoriented, it implies that the edge  $v_{j-1} \to v_{j+1}$  must exist. However, this contradicts the fact that  $P$  is the shortest directed path. Therefore, it must be the case that  $P$  is either entirely oriented or entirely unoriented. As some edges in  $P$  are oriented, we conclude that path  $P$  is completely oriented, thereby establishing the presence of a directed path from  $S$  to  $T$  in the interventional essential graph  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$ , which concludes the proof.
F.1 Proof for Lemma 8
We now provide the analysis of the source-finding algorithm. The guarantees of this algorithm are summarized in the lemma that follows.
Lemma 8 (Source finding). Let  $\mathcal{G} = (V,E)$  be a DAG and  $U\subseteq V$  be a subset of vertices. Algorithm 3 that takes essential graph  $\mathcal{E}(\mathcal{G})$  and  $U$  as input, runs in polynomial time and adaptively intervenes on a set of atomic interventions  $\mathcal{I}\subset V$ , identifies a source vertex of the induced subgraph  $\mathcal{G}[U]$  with  $\mathbb{E}[[\mathcal{I}]]\leq \mathcal{O}\bigl (\log n\cdot \log \omega (\mathcal{G})\bigr)$ .
Proof. As  $\mathcal{J}_i$  is a  $1/2$ -Meek separator, we immediately have that  $|V(\mathcal{H}_{i+1})| \leq |V(\mathcal{H}_i)| / 2$ . Therefore our algorithm terminates in at most  $\mathcal{O}(\log n)$  iterations. By Theorem 5, note that, in each iteration, we make at most  $O(\log \omega(\mathcal{H}_i)) \in \mathcal{O}(\log \omega(\mathcal{G}^*))$  number of iterations. Therefore, the total number of interventions are at most  $\mathcal{O}(\log n \cdot \log \omega(\mathcal{G}^*))$ . It remains to show that we find the source node of  $U$ .
As in each iteration we recurse on connected component  $\mathcal{H}_i\in C_i$  that has no incoming edge from any other component  $\mathcal{H}\in C_i$ . From Lemma 20, we know that  $\mathcal{H}_i$  contains one of the source nodes of  $U$ . Therefore our algorithm always recurses on a connected component containing a source node until the algorithm finds it.
Algorithm 4 CausalMeanMatch  $(\mathcal{E}(\mathcal{G}),P,\mu^{*})$
1: Input: Essential graph  $\mathcal{E}(\mathcal{G})$  of a DAG  $\mathcal{G}$ , observational distribution of  $V$ , and desired mean  $\mu^{*}$ .  
2: Output: Atomic intervention set  $\mathcal{I}$ .  
3: Initialize  $\mathcal{I}^{*} = \emptyset$  and  $\mathcal{I} = \{\emptyset\}$ .  
4: while  $\mathbb{E}_{P^{\mathcal{I}^{*}}}(V) \neq \mu^{*}$   
5: Let  $T = \{i | i \in [p], \mathbb{E}_{P^{\mathcal{I}^{*}}} (V_i) \neq \mu_i^*\}$ .  
6: Let  $\mathcal{G}$  be the subgraph of  $\mathcal{E}_{\mathcal{I}}(\mathcal{G})$  induced by  $T$ .  
7: Let  $U_T$  be the identified source nodes in  $T$ .  
8: while  $U_T = \emptyset$   
9: Let  $\mathcal{C}$  be a chain component of  $\mathcal{G}$  with no incoming edges.  
10: Perform interventions by FindSource  $(\mathcal{E}(\mathcal{G}), S)$  and append interventions to  $\mathcal{I}$ .  
11: Update  $\mathcal{G}$  and  $U_T$  as the outer loop.  
12: Set  $a_i = \mu_i^* - \mathbb{E}_{P^{\mathcal{I}^*}}(V_i)$  for  $i$  in  $U_T$ .  
13: Include the atomic interventions with perturbation targets  $U_T$  and shift values  $\{a_i\}_{i \in U_T}$  respectively in  $\mathcal{I}^*$  and perform  $\mathcal{I}^*$ .
14: return  $\mathcal{I}^*$
F.2 Proof for Theorem 9
Given such a source-finding algorithm, we can use it to solve the mean matching problem. We summarize this result below.
Proof. Note the outer loop in Algorithm 4 takes at most  $|\mathcal{I}^*|$  round. In each of this round, the inner loop is ended with at most  $\mathcal{O}(\log n\log \omega (\mathcal{G}^{*}))$  interventions in expectation, as proven by Lemma 8. Therefore, in expectation, the number of interventions performed is upper bounded by  $\mathcal{O}(\log n\log \omega (\mathcal{G}^{*}))|\mathcal{I}^{*}|$ .
G Details of Numerical Experiments
We implemented our methods using the NetworkX package [HSSC08] and the CausalDAG package https://github.com/uhlerlab/causaldag. All code is written in Python and run on CPU. The source code of our implementation can be found at https://github.com/uhlerlab/meek SEP.
G.1 Subset Search
Problem Generation: We consider the  $r$ -hop model in [CS23]. In this model, an Erdős-Rényi graph [ER60] with edge density 0.001 on  $n$  nodes is first generated. Then a random tree on these  $n$  nodes is generated. The final DAG is obtained by (1) combining the edge sets using a fixed topological order, where  $u \rightarrow v$  if it is in the combined edge sets and  $u$  has a smaller vertex label than  $v$ , and (2) removing  $v$ -structures by connecting  $u \rightarrow w$  where  $u \rightarrow v \leftarrow w$  and  $u$  has a smaller vertex label than  $w$ . Then the subset of edges is selected to be the edges within  $r$ -neighborhood of a randomly picked vertex.
Multiple Runs: For each dot presented in the results, we run each method on 20 different instances using the generation method described above. The average and standard deviation across instances are reported in the results.
Figure 8 shows similar results as Figure 5a on the 3-hop model, where we vary the number of hops  $r \in \{1,2,4,5\}$  on DAGs with different sizes. Figure 9 shows the trend of varying number of hops on DAGs with different sizes. We observe our method MeekSep and MeekSep-1 to consistently outperform existing baselines.
(a)  $r = 1$
(b)  $r = 2$
(c)  $r = 4$
(d)  $r = 5$
Figure 8: Meek separator for subset search on  $r$ -hop model. Each dot is averaged across 20 DAGs, where the error bar shows 0.5 standard deviation.
(a)  $n = 50$
(b)  $n = 75$
(c)  $n = 100$
(d)  $n = 150$
Figure 9: Meek separator for subset search on  $r$ -hop model. Each dot is averaged across 20 DAGs, where the error bar shows 0.5 standard deviation.
G.2 Causal Mean Matching
Problem Generation: We consider three random graph models: Erdős-Rényi graphs, Barabási-Albert graphs [AB02], and random tree graphs. The edge density in Erdős-Rényi graphs is 0.2 where the number of edges to attach from a new node to existing nodes in Barabási-Albert graphs is set to 2. The intervention targets of  $\mathcal{I}^*$  is a random subset of  $n$  vertex in the DAG.
Multiple Runs: For each dot presented in the result, we run each method on 10 different instances using the generation method described above. The average and standard deviation across instances are reported in the results.