SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Importantly, our result provides the first known competitive ratio with respect to the subset verification number  $\nu_{1}(\mathcal{G},T)$ . Prior to our work, a full-graph identification algorithm that is competitive with respect to  $\nu_{1}(\mathcal{G}) = \nu_{1}(\mathcal{G},E)$  was provided by [CSB22].  $\nu_{1}(\mathcal{G})$  is not a valid lower bound for the subset search problem. In particular, the value of  $\nu_{1}(\mathcal{G},T)$  for certain  $T$  could be substantially smaller than  $\nu_{1}(\mathcal{G})$ . For instance, if  $\mathcal{G}$  is a clique and  $T$  is an edge incident to a particular node, then  $\nu_{1}(\mathcal{G},T) = 1$  while  $\nu_{1}(\mathcal{G}) = n / 2$ . Hence, the benchmark based on the full-graph verification number can be significantly weaker compared to that based on the subset search verification number.
The expectation in the result is over the randomness of the algorithm.
Additionally, for the subset search problem, [CS23] showed that there does not exist any deterministic algorithm that achieves a competitive ratio better than  $\mathcal{O}(n)$  with respect to  $\nu_{1}(\mathcal{G},T)$ . Therefore, our result shows that subset search is part of the large class of problems in algorithm design where randomization substantially helps. Finally, when  $T = E$ , we get a  $\mathcal{O}(\log n)$  approximation for recovering the entire DAG, which matches the current best approximation ratio by [CSB22].
Causal Matching. Another application of our Meek separator result is for solving the causal matching problem. We consider the same setting as [ZSU21] (details provided in Section 6). In [ZSU21], it was shown that causal mean matching has a unique solution and can be solved by iteratively finding source vertices<sup>10</sup> of induced subgraphs of the underlying DAG (Lemma 1 and Observation 1 in [ZSU21]). We therefore provide an algorithm to find source vertices of any DAG, which can be used in the iterative process. Our algorithm uses the Meek separator result and is given in Algorithm 3; the iterative process of using this algorithm to solve causal mean matching is provided in Section 6 and Algorithm 4 in Appendix F.
Our analysis for causal mean matching consists of two layers. We first establish an upper bound on the number of interventions required in Algorithm 3 to identify a source vertex. Then we use this result within the iterative process to derive an upper bound on the number of interventions needed in Algorithm 4 to solve causal mean matching.
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}\big(\log n\cdot \log \omega (\mathcal{G})\big)$ .
Theorem 9 (Causal mean matching). Let  $\mathcal{G}$  be a DAG and  $\mathcal{I}^*$  be the unique solution to the causal mean matching problem with desired mean  $\mu^{*}$ . Algorithm 4 that takes  $\mathcal{E}(\mathcal{G})$  and  $\mu^{*}$  as input, runs in polynomial time and adaptively intervenes on set  $\mathcal{I} \subseteq V$ , identifies  $\mathcal{I}^*$  with  $\mathbb{E}[|\mathcal{I}|] \leq \mathcal{O}\big(\log n \cdot \log \omega(\mathcal{G})\big) \cdot |\mathcal{I}^*|$ .
Note that for causal mean matching with unique solution  $\mathcal{I}^*$ ,  $|\mathcal{I}^*|$  provides a trivial lower bound on the number of interventions required to match the mean. Therefore this result shows that our algorithm achieves a logarithmic approximation to the optimal required number of interventions.
Of note, this is the first average-case competitive algorithm with respect to the instance-based lower bound  $|\mathcal{I}^*$  . Prior to our work, [ZSU21] provided an efficient algorithm, which is  $\log (n)$  -competitive with respect to any algorithm in the worst case. Such worst-case analysis is equivalent to the scenario where there exists an adaptive adversary when running the algorithm. This may be limited as it relies on extreme cases that may not accurately represent real-world scenarios. Furthermore, the number of interventions required by any algorithm in the worst case can be much larger than the instance-based lower bound  $|\mathcal{I}^*$  . For example, if  $\mathcal{G}$  is a clique and  $\mathcal{I}^*$  is an atomic intervention on its source vertex, then  $|\mathcal{I}^*$  is 1 but the number of interventions required by any algorithm in the worst case is  $n$  .11
4 Algorithm for Meek Separator
For any general DAG  $\mathcal{G}$ , we consider the largest connected component  $\mathcal{H} \in CC(\mathcal{E}(\mathcal{G}))$ . It is well known that  $\mathcal{H}$  is a moral DAG. If  $\mathcal{I}$  is a 1/2-Meek separator for  $\mathcal{H}$ , we show that  $\mathcal{I}$  also serves as a 1/2-Meek separator for  $\mathcal{G}$  (Appendix D). Therefore, for the remainder of the section, we make the assumption that  $\mathcal{G}$  is a moral DAG without loss of generality.
4.1 Existence of Size-2 Meek Separator
For any vertex  $v \in V(\mathcal{G})$ , let  $A_v = V(\mathcal{G}) \backslash \operatorname{Des}[v]$  and  $B_v = \operatorname{Des}(v)$ . Note that  $v \notin A_v$  and  $v \notin B_v$ , therefore  $|A_v| + |B_v| + 1 = |V(\mathcal{G})|$ . At the heart of our algorithm is the following result which shows the existence of a Meek separator of size at most 2 with some nice properties.
Lemma 10 (Meek separator). Let  $\mathcal{G}$  be a moral DAG and  $K$  be a  $1/2$ -clique separator of  $\mathcal{G}$ . There exists a vertex  $u \in K$  satisfying the constraints  $|A_u| \leq |V(\mathcal{G})|/2$  and  $|A_v| > |V(\mathcal{G})|/2$  for all  $v \in \operatorname{Des}(u) \cap K$ . Furthermore, such a vertex  $u$  satisfies one of the two conditions: 1). either  $u$  is a sink
${}^{10}v$  is a source vertex if and only if it has no parents.
This can be deduced by using Lemma 5 in [ZSU21].
vertex $^{12}$  of  $\mathcal{G}[K]$ , or 2). there exists a vertex  $x$  such that,  $x \in Des(u) \cap K$  and  $\left((V(\mathcal{G}) \backslash Des[x]) \cap Des(u)\right) \cap K = \emptyset$  (i.e.,  $x$  and  $u$  are consecutive vertices in the valid permutation of clique  $K$ ). In both the cases respectively, either  $\{\{u\}\}$  or  $\{\{u\}, \{x\}\}$  is a  $1/2$ -Meek separator.
Proof Sketch. Here we present an overview of the proof, focusing solely on the case where  $u$  is not a sink node of  $K$ , since this case encompasses all the key concepts. To demonstrate the existence (Lemma 10), we begin by establishing the following crucial result.
Lemma 11 (Connected components). Let  $\mathcal{G}$  be a moral DAG and  $v\in V(\mathcal{G})$  be an arbitrary vertex. Any connected component  $\mathcal{H}\in CC(\mathcal{E}_v(\mathcal{G}))$  satisfies one of the following conditions:  $V(\mathcal{H}) = v$  or  $V(\mathcal{H})\subseteq B_v$  or  $V(\mathcal{H})\subseteq A_v$
Returning to Lemma 10, consider vertices  $u$  and  $x$  and note that when we intervene on both  $u$  and  $x$ , all the connected components within  $CC(\mathcal{E}_{\{u,x\}}(\mathcal{G}))$  are either individual nodes or subsets of the subgraph induced by either  $A_u$  or  $B_x$  or  $B_u \cap A_x$ . Since  $|A_u| \leq |V(\mathcal{G})| / 2$  and  $|B_x| \leq |V(\mathcal{G})| / 2$  (as  $|A_x| > |V(\mathcal{G})| / 2$ ), we can conclude that all the connected components within  $A_u$  or  $B_x$  have a maximum size of  $|V(\mathcal{G})| / 2$ . Therefore, all that remains now is to bound the size of connected components that are subsets of  $B_u \cap A_x$ . Notably, these connected components  $\mathcal{H}$  have no intersection with the clique  $K$  and satisfy the condition  $V(\mathcal{H}) \cap V(K) = \emptyset$ . To establish a size bound for these connected components, we prove the following result.
Lemma 12 (Size of connected components). Let  $\mathcal{G}$  be a graph and  $K$  be an  $\alpha$ -separated of  $\mathcal{G}$ . Suppose  $\mathcal{H}$  is a connected subgraph of  $\mathcal{G}$  and  $V(\mathcal{H}) \cap K = \emptyset$ , then  $|V(\mathcal{H})| \leq \alpha \cdot |V(\mathcal{G})|$ .
Combining all the previous analyses, we conclude that all the connected components within  $CC(\mathcal{E}_{\{u,x\}}(\mathcal{G}))$  have a maximum size of  $|V(\mathcal{G})| / 2$ , and the set  $\{u,x\}$  is a 1/2-Meek separator.
4.2 Binary Search Algorithm
To make the existence result algorithmic, we additionally observe the following structural properties.
Lemma 13 (Properties of connected components). Consider a moral DAG  $\mathcal{G}$  and let  $K$  be an  $\alpha$ -clique separator. Let  $v_{1}, v_{2}, \ldots, v_{k}$  be the vertices of this clique in a valid permutation. We observe that  $|B_{v_{i+1}}| \leq |B_{v_i}|$ , which in turn implies  $|A_{v_{i+1}}| \geq |A_{v_i}|$ . Additionally, we have  $|A_{v_1}| \leq \alpha \cdot |V(\mathcal{G})|$ .
To identify the Meek separator set  $\{u, x\}$ , we simply need to locate two consecutive vertices in the clique where  $|A_u| \leq |V(\mathcal{G})| / 2$  and  $|\tilde{A}_x| > |V(\mathcal{G})| / 2$ . The aforementioned result indicates that we can utilize standard randomized binary search procedures to find these vertices efficiently.
Algorithm 1 MeekSeparator  $(\mathcal{G},1 / 2)$
1: Input: Essential graph  $\mathcal{E}(\mathcal{G})$  of a moral DAG  $\mathcal{G}$   
2: Output: A 1/2-Meek separator  $\mathcal{I} \cup \mathcal{J}$   
3: Let  $K$  be a 1/2-clique separator (Lemma 2). Initialize  $i = 0$ ,  $K_0 = K$  and  $\mathcal{I}_0 = \emptyset$ .  
4: while  $K_i$  is non empty do  
5: Let  $u_i$  be a uniform random vertex from  $K_i$ . Intervene on  $u_i$ .  
6: Find  $\mathcal{H}_i \in CC(\mathcal{E}_{u_i}(\mathcal{G}))$  such that  $|V(\mathcal{H}_i)|$  is maximized.  
7: if  $|V(\mathcal{H}_i)| \leq |V(\mathcal{G})| / 2$  then  $\triangleright u_i$  is a 1/2-Meek separator.  
8: Let  $u = u_i$ ,  $\mathcal{I} = \cup_{j=1}^{i} \{\{u_j\}\}$ , and return  $\mathcal{I}$ .  
9: Let  $P_{u_i} = \{v \in K \mid v \to u_i\}$  and  $Q_{u_i} = \{v \in K \mid v \gets u_i\}$ .  
10: if there exists a directed path from  $u_i$  to  $\mathcal{H}_i$  then  $\triangleright V(\mathcal{H}_i) \subseteq \mathrm{Des}(u_i)$  and  $|A_{u_i}| \leq |V(\mathcal{G})| / 2$   
11: Update  $K_{i+1} = K_i \cap Q_{u_i}$  and  $u = u_i$ .  
12: else  
13: Update  $K_{i+1} = K_i \cap P_{u_i}$  and  $x = u_i$ .  
14: Update  $i \gets i + 1$ .  
15: Let  $\mathcal{I} = \{\{x\}\} \cup_{j=1}^{i-1} \{\{u_j\}\}$ .  
16: return  $\mathcal{I}$ .
Figure 4 gives an example of the proposed Algorithm. In general, at each iteration  $i$ , we randomly select a vertex  $u_{i}$  and determine the connected component  $\mathcal{H}_i$  with the maximum cardinality. If
${}^{12}u$  is a sink vertex if and only if it has no children.
<sup>13</sup>In Appendix C, we provide an extended example where the skeleton is not complete, highlighting that the Meek separator can be found by focusing on the  $\frac{1}{2}$ -clique separator.
(a) Iteration 0
(b) Iteration 1
Figure 4: An example of Algorithm 1 finding the Meek separator in the ground-truth DAG in Fig. 3a. The sets  $K_{i}$  are highlighted; oriented edges in  $\mathcal{E}_{u_i}(\mathcal{G})$  by intervening on  $u_{i}$  are in grey; connected components in  $CC(\mathcal{E}_{u_i}(\mathcal{G}))$  are in black. (a) suppose we take  $K_{0} = K = V(\mathcal{G})$  as the  $1/2$ -clique separator. (b) suppose we pick  $u_{0} = 1$  from  $K_{0}$ , then  $K_{1} = K_{0} \cap Q_{u_{0}} = \{2,3,4\}$ . (c) suppose we pick  $u_{1} = 4$  from  $K_{1}$ , then  $K_{2} = K_{1} \cap P_{u_{1}} = \{2,3\}$ . (d) suppose we pick  $u_{2} = 2$  from  $K_{2}$ , then Algorithm 1 terminates (line 7) returning meek separator  $\mathcal{I} = \{2\}$  and  $\mathcal{J} = \{1,4\}$  that helps find it.
(c) Iteration 2
(d) Iteration 3
$|V(\mathcal{H}_i)| \leq |V(\mathcal{G})| / 2$ , we have found a Meek separator. Otherwise, we verify if a directed path exists from  $u_i$  to  $\mathcal{H}_i$ . In appendix (Lemma 19), we demonstrate that if such a path exists, then  $V(\mathcal{H}_i) \subseteq \operatorname{Des}(u_i) = B_{u_i}$ , implying that  $|A_{u_i}| \leq |V(\mathcal{G})| / 2$  (since  $|A_{u_i}| + |B_{u_i}| + 1 = |V(\mathcal{G})|$ ). To confirm if  $u_i$  is the desired vertex  $u$ , we need to verify that all its descendants satisfy  $|A_v| > |V(\mathcal{G})| / 2$ . Consequently, we recursively examine the vertices in  $K$  that are descendants of  $u_i$  in  $K_i$ . Similarly, if the  $u_i$  to  $H_i$  path doesn't exist, then Lemma 19 implies that  $V(\mathcal{H}_i) \subseteq V(\mathcal{G}) \backslash \operatorname{Des}[u_i] = A_{u_i}$  and  $|A_{u_i}| > |V(\mathcal{G})| / 2$ . Therefore, to find the desired vertex  $u$ , we recursively examine the vertices in  $K$  that are ancestors of  $u_i$  in  $K_i$ . A similar analysis holds for the desired vertex  $x$ , and intuitively we conclude that the above algorithm outputs an intervention set that contains vertices  $u$  and  $x$  satisfying the conditions of Lemma 10. The guarantees of the above algorithm are summarized below.
Lemma 14 (Output of MeekSeparator). The algorithm MeekSeparator performs at most  $\mathcal{O}(\log |K|)$  interventions in expectation and finds a vertex  $u\in K$  that is either a  $1 / 2$ -Meek separator or satisfies the following conditions:  $|A_u|\leq |V(\mathcal{G})| / 2$  and  $|A_v| > |V(\mathcal{G})| / 2$  for all  $v\in Des(u)\cap K$ .
All proofs can be found in Appendix D. Combining Lemma 14 and Lemma 10 results in Theorem 5.
5 Algorithm for Subset Search
Here we present our algorithm for the subset search problem that proves Theorem 7. Our algorithm is based on the Meek separator subroutine and a description of the algorithm is given in Algorithm 2. In the remainder of this section, we present a proof sketch to establish the guarantees.
Algorithm 2 Atomic adaptive subset search.
1: Input: Essential graph  $\mathcal{E}(\mathcal{G})$  of a DAG  $\mathcal{G}$  and a set of target edges  $T\subseteq E(\mathcal{G})$
2: Output: Atomic intervention set  $\mathcal{I}$  s.t.  $T\subseteq R(\mathcal{G},\mathcal{I})$
3: Initialize  $i = 0$  and  $\mathcal{I}_0 = \varnothing$
4: while  $T \backslash R(\mathcal{G}, \mathcal{I}_i) \neq \emptyset$  do
5: Initialize  $\mathcal{J}_i\gets \emptyset$
6: for  $\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}_i}(\mathcal{G}))$  of size  $|\mathcal{H}| \geq 2$  and  $E(\mathcal{H}) \cap T \neq \emptyset$  do
7: Invoke  $\mathcal{J}_{\mathcal{H}} = \mathrm{MeekSeparator}(\mathcal{H},1 / / 2)$ . Update  $\mathcal{J}_i = \mathcal{J}_i\cup \mathcal{J}_\mathcal{H}$
8: Update  $\mathcal{I}_{i+1} \gets \mathcal{I}_i \cup \mathcal{J}_i$  and  $i \gets i + 1$ .
9: return  $\mathcal{I}_i$
Correctness. Upon the termination of our algorithm, it is worth noting that 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.
Competitive Ratio. To bound the competitive ratio, we first bound the total cost of our algorithm and then relate it to the subset verification number. To bound the total cost, we first show that the number of outer loops in our algorithm is at most  $\mathcal{O}(\log n)$ . This holds because, in each outer loop, the size of the connected components containing the target edges  $T$  decreases at least by a multiplicative factor of  $1/2$ . After  $\mathcal{O}(\log n)$  such loops, all these connected components will have a size of 1, implying that all edges in  $T$  are successfully oriented, leading to the termination of our algorithm.
Next, to bound the cost per outer loop, we consider  $\mathcal{I}_i$ , which represents the set of interventions performed during the  $i$ -th loop. It is worth noting that  $\mathcal{I}_i$  is a union of Meek separators  $\mathcal{I}_{\mathcal{H}}$  for
each connected component  $\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}_i}(\mathcal{G}))$  such that  $E(\mathcal{H}) \cap T \neq \emptyset$ . Thus, the cost per loop can be expressed as  $|\mathcal{J}_i| = \sum_{\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}_i}(\mathcal{G}))} \mathbf{1}(E(\mathcal{H}) \cap T \neq \emptyset) \cdot |\mathcal{J}_{\mathcal{H}}|$ . By Theorem 5, the Meek separator we obtained for each  $\mathcal{H}$  is of size  $\mathcal{O}(\log \omega(\mathcal{H})) \leq \mathcal{O}(\log \omega(\mathcal{G}))$ . We can conclude that the cost per iteration is at most:  $|\mathcal{J}_i| \leq \mathcal{O}(\log \omega(G)) \sum_{\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}_i}(\mathcal{G}))} \mathbf{1}(E(\mathcal{H}) \cap T \neq \emptyset)$ . To relate this cost to the subset verification number, we utilize the lower bound result from Lemma 6, which states that:  $\nu_1(\mathcal{G}, T) \geq \max_{\mathcal{I} \subseteq V} \sum_{\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}}(\mathcal{G}))} \mathbf{1}(E(\mathcal{H}) \cap T \neq \emptyset)$ . Combining the above equations, we obtain  $|\mathcal{J}_i| \leq \mathcal{O}(\log \omega(\mathcal{G})) \nu_1(\mathcal{G}, T)$ . As there are at most  $\mathcal{O}(\log n)$  iterations in total, the total cost of our algorithm can be bounded by:  $\mathcal{O}(\log n \cdot \log \omega(\mathcal{G})) \nu_1(\mathcal{G}, T)$ . We defer the detailed proofs of Theorem 7 (upper bound) and Lemma 6 (lower bound) to Appendix E.
6 Algorithm for Causal Mean Matching
Here we study the causal mean matching problem. En route, we provide an algorithm that, given an essential graph  $\mathcal{E}(\mathcal{G})$  of a DAG  $\mathcal{G}$  and a subset  $U$  of vertices, finds a source vertex within the induced subgraph  $\mathcal{G}[U]$ . This source vertex, denoted as  $s$ , satisfies the property that there exists no vertex  $v \in U$  such that  $v \in \operatorname{Anc}(s)$ . The description is given in Algorithm 3. This algorithm identifies a source vertex of  $U$  in  $\mathcal{O}(\log n \cdot \log \omega(\mathcal{G}))$  interventions and its guarantees are summarized in Lemma 8. Below, we present a concise overview of its proof.
Algorithm 3 FindSource  $(\mathcal{E}(\mathcal{G}),U)$
1: Input: Essential graph  $\mathcal{E}(\mathcal{G})$  of a DAG  $\mathcal{G}$  and a subset of vertices  $U\subseteq V(\mathcal{G})$
2: Output: Atomic intervention set  $\mathcal{I}$  and a source vertex in  $U$ .
3: Initialize  $i = 0$  and  $\mathcal{I}_0 = \varnothing$ .
4: Let  $C_0 = \{\mathcal{H} \in CC(\mathcal{E}_{\mathcal{I}_0}(\mathcal{G})) \mid V(\mathcal{H}) \cap U \neq \emptyset \}$  and let  $\mathcal{H}_0 \in C$  be a connected component with no incoming directed path from any other component  $\mathcal{H} \in C_0$ .
5: while  $|V(\mathcal{H}_i) \cap U| > 1$  do
6: Compute  $\mathcal{J}_i = \mathrm{MeekSeparator}(\mathcal{E}(\mathcal{H}_i),1 / 2)$  and intervene on it.
7: Let  $\tilde{C}_{i + 1} = \{\mathcal{H}\in CC(\mathcal{E}_{\mathcal{T}_i}(\mathcal{H}_i))\mid V(\mathcal{H})\cap U\neq \emptyset \}$  and let  $\mathcal{H}_{i + 1}\in C_{i + 1}$  be a connected component with no incoming directed path from any other component  $\mathcal{H}\in C_{i + 1}$ .
8: Let  $\mathcal{I}_{i + 1} = \mathcal{I}_i\cup \mathcal{J}_i$  . Increment  $i$  by 1.
9: return  $\mathcal{I}_i$  and  $V(\mathcal{H}_i)$ .
As stated in the description, our algorithm invokes the Meek separator in each iteration and identifies the connected component containing a source vertex  $s$  and recurses on it. This connected component can be identified by finding the component that has no incoming directed path from any other components. Then as we invoke the Meek separator in each iteration, the size of the connected component decreases at least by a factor of  $1/2$ . Therefore the algorithm terminates in  $\mathcal{O}(\log n)$ . Since we perform at most  $\mathcal{O}(\log \omega(\mathcal{G}))$  interventions in each iteration, the total number of interventions performed by our algorithm is at most  $\mathcal{O}(\log n \cdot \log \omega(\mathcal{G}))$ . This concludes our proof overview for the source-finding algorithm. In the remainder, we use it to solve the causal mean matching problem.
Causal Mean Matching. We consider the same setting as in [ZSU21] with atomic interventions, where the goal is to find a set of shift interventions  $\mathcal{I}$  such that the mean of the interventional distribution  $\mathbb{E}_{P^{\mathcal{I}}}[V]$  matches a desired mean  $\mu^{*}$ . An atomic shift intervention set  $\mathcal{I}$  with shift values  $\{a_{i}\}_{i\in \mathcal{I}}$  modifies the conditional distribution as  $P^{\mathcal{I}}(v_i = x + a_i\mid v_{\mathrm{Pa}(i)}) = P(v_i = x\mid v_{\mathrm{Pa}(i)})$  for  $i\in \mathcal{I}$ . In particular, [ZSU21] show that there exists a unique solution  $\mathcal{I}^*$  such that  $\mathbb{E}_{P^{\mathcal{I}^*}}[V] = \mu^*$  and to find such  $\mathcal{I}^*$ , it suffices to iteratively find the source vertices of all vertices whose means differ from that of  $\mu^{*}$ . The intuition behind this is that (1) intervening on other vertices will not change the mean of the source vertex, and (2) the shift value of the source vertex equals exactly the mean discrepancy with respect to  $\mu^{*}$ . Thus, our Algorithm 3 can be used as a subroutine to solve for  $\mathcal{I}^*$  iteratively. We describe the full procedure in Algorithm 4 in Appendix F. Our analysis of Lemma 8 is used to derive the guarantee of Algorithm 4 in Theorem 9. Details are deferred to Appendix F.
Here, we implement our Meek separator to solve for subset search and causal mean matching discussed in the previous sections. Details and extended experiments are provided in Appendix G.
(a) Subset search on  $r$ -hop model with  $r = 3$
(b) Causal mean matching with varying  $|\mathcal{T}^*$
Figure 5: Meek separator for (a) subset search and (b) causal matching. Each dot is averaged across 20 DAGs, where the error bar shows 0.5 and 0.2 standard deviation in (a) and (b), respectively.
Subset Search. For this experiment, we consider the local causal graph discovery problem where the goal is to identify the target edges within an  $r$ -hop neighborhood of a random vertex  $v$ . We compare our method in Algorithm 2 and its variant, MeekSep and MeekSep-1, against four carefully constructed baselines. The variant MeekSep-1 runs Algorithm 2 but checks after performing every intervention inside line 7 and terminates if the subset search problem is solved. The Random baseline intervenes on a randomly sampled vertex at every step and terminates when the subset search problem is solved. The Coloring-FG baseline identifies the full causal graph using [SKDV15], where Coloring-NI is the variant that only identifies the subgraph induced by vertices incident to the target edges, similar to the method suggested by [CS23]. Our proposed methods consistently outperform these baselines across different graph sizes in Figure 5a. Finally, Verification shows the subset search verification number [CS23] which serves as a lower bound.
Causal Mean Matching. We consider Erdős-Rényi graphs [ER60] with 50 vertices where the ground-truth solution  $\mathcal{I}^*$  is randomly sampled from these vertices. We compare our Algorithm 4 and its variant, MeekSep and MeekSep-1, against four baselines proposed in [ZSU21]. The variant is in the fashion described for the subset search. The Random and CliqueTree baselines use the same backbone as MeekSep, but search for source vertex using randomly sampled interventions and the clique-tree strategy proposed in [ZSU21], respectively. Coloring-FG first identifies the full graph then solves for  $\mathcal{I}^*$ , whereas Verification is the lower bound that uses  $|\mathcal{I}^*|$  interventions. The number of extra interventions relative to Verification is shown in Figure 5b, where we observe our methods to outperform Random and Coloring-FG. Empirically, our approach is competitive with the state-of-the-art method CliqueTree while providing far better theoretical guarantees.