February 10, 2025
Given an acyclic digraph \(G = (V,E)\) and a positive integer \(k\), the problem of Maximum Coverage \(k\)-Antichains (resp. Chains) denoted as MA-\(k\) (resp. MC-\(k\)) asks to find \(k\) sets of pairwise unreachable vertices, known as antichains (resp. \(k\) subsequences of paths, known as chains), maximizing the number \(\alpha_k\) (resp. \(\beta_k\)) of vertices covered by these antichains (resp. chains). While MC-\(k\) was solved in almost optimal \(|E|^{1+o(1)}\) time [Kogan and Parter, ICALP’22], the fastest algorithms for MA-\(k\) are a \((k|E|)^{1+o(1)}\)-time solution and a \(|E|^{1+o(1)}\)-time \(1/2\) approximation [Kogan and Parter, ESA’24].
We simplify and improve previous results. Specifically, we obtain the following for MA-\(k\):
An algorithm running in \(|E|^{1+o(1)}\) time, and an algorithm running in parameterized near-linear \(\tilde{O}(\alpha_k |E|)\) time. Our algorithms are simple solutions
exploiting a paths-based proof of the Greene-Kleitman theorems leveraged by the greedy algorithm for set cover as well as recent advances in fast algorithms for flows and shortest paths.
An approximation algorithm running in parameterized linear time \(O(\alpha_1^2|V| + (\alpha_1+k)|E|)\) with approximation ratio of \((1-1/e) > 0.63 > 1/2\), beating the
state-of-the-art \(1/2\) approximation. Our solution uses greedy for antichains and a simple strategy to amortize the cost of computing consecutive maximum antichains.
Additionally, we obtain analogous results for MC-\(k\) as well as the corresponding dual problems derived from the Greene-Kleitman theorems, which might be of independent interest.
We complement these results with two examples (one for chains and one for antichains) showing that, for every \(k \ge 2\), greedy misses the tight \(1/e\) portion of the
optimal coverage for chains, and a \(1/4\) portion for antichains. We also show that greedy is a \(\Omega(\log{|V|})\) factor away from minimality when required to cover all
vertices: previously unknown for sets of chains or antichains.
For a directed acyclic graph (DAG) \(G = (V, E)\), a chain is a subsequence of the vertices of a path (equivalently a path in the transitive closure \(TC(G)\)) and an antichain is a set of vertices that are pairwise unreachable (equivalently, an independent set in \(TC(G)\)). The problem of Maximum Coverage \(k\)-antichains (MA-\(k\)) asks to find a set of \(k\) pairwise disjoint antichains whose union size is maximized: we say that one such optimal solution covers the \(\alpha_k\) vertices in this union. The problem of Maximum Coverage \(k\)-chains (MC-\(k\)) is analogously defined and every optimal solution covers \(\beta_k\) vertices.
Strongly related to these coverage problems are the minimum partition problems: find the minimum number of pairwise disjoint antichains (analogously chains) partitioning the vertices of \(G\), MAP (resp. MCP). Mirsky [1] and Dilworth [2] were the first to draw a connection between the maximum coverage and minimum partition problems. On the one hand, Mirsky proved that the number of antichains in a MAP equals \(\beta_1\), also known as the height of \(G\) [1]. On the other hand, Dilworth proved that the number of chains in a MCP equals \(\alpha_1\), also known as the width of \(G\) [2]. Later, Greene and Kleitman [3], [4] completed this connection with the celebrated Greene-Kleitman (GK) theorems5: \(\alpha_k\) (resp. \(\beta_k\)) is equal to the minimum \(k\)-norm of a chain (resp. antichain) partition6. We denote partitions with minimum \(k\)-norm by MCP-\(k\) and MAP-\(k\), respectively.
From an algorithmic perspective, on the one hand, it is a well-known result that we can solve MAP and MC-\(1\) in linear time: by a simple DP one can compute the length of the longest path ending at each vertex (solving
MC-\(1\)), moreover a partition of the vertices according to these lengths gives a MAP. On the other hand, Fulkerson [5] was the first to show a polynomial-time algorithm for MCP and MA-\(1\) by reducing the problem to maximum bipartite matching. However, Fulkerson’s algorithm computes a maximum matching
over \(TC(G)\). Modern solutions avoid working directly on \(TC(G)\) since its size can be quadratic in \(G\). The state-of-the-art solutions for MCP and
MA-\(1\) are the almost linear \(|E|^{1+o(1)}\)-time solution of Cáceres [6], the parameterized linear \(O(\alpha_1^2|V|+|E|)\)-time algorithm of Cáceres et al. [7], [8] and the parameterized near-linear \(\tilde{O}(\alpha_1|E|)\)-time of Mäkinen
et al. [9]. The latter computes a greedy chain partition, which is then shrunk to minimum size. In fact, this
greedy solution is exactly the output of the well-known greedy set cover [10] with sets corresponding to the
chains of the DAG and thus it inherits the \(O(\log{n})\) approximation ratio. This idea was originally proposed by Felsner et al. [11] for transitive DAGs, and it was later optimized for general DAGs [9], [12], avoiding the computation of \(TC(G)\).
For larger \(k\), MC-\(k\) [6], [13] has been solved in almost optimal \(|E|^{1+o(1)}\) time via a reduction to Minimum Cost Flow. However, until recently, the fastest solution for MA-\(k\) was an \(O(|V|^3)\)-time algorithm from the 80’s by Gavril [14]. The big difference in the running times between both problems was tantalizing and Kogan and Parter [15] tackled this gap by exploiting algorithmic properties of the GK theorems. They present an elegant \(1/2\) approximation running in time \(|E|^{1+o(1)}\), as well as an approximation scheme (only for transitive DAGs) running in time \(O(\alpha_k\sqrt{|E|}|V|^{o(1)}/\epsilon + |V|)\). The same paper also shows an exact solution running in \((k|E|)^{1+o(1)}\) time beating the \(O(|V|^3)\)-time algorithm of Gavril.
The original proof of the GK theorems by Greene and Kleitman [3], [4] was based on lattice theoretic methods, with little algorithmic insight. Saks [16] presented an elegant combinatorial proof by using the product between a poset and a chain of length \(k\), which is exploited in the state-of-the-art \((k|E|)^{1+o(1)}\)-time solution [15] for MA-\(k\). Later, Frank [17] presented an algorithmic proof based on a reduction to minimum cost flow on the same graph used in Fulkerson’s proof [5]. As such, the corresponding algorithm runs on \(TC(G)\), making it too slow. However, the structural insights discovered in this proof are exploited in the state-of-the-art \(|E|^{1+o(1)}\)-time \(1/2\) approximation [15].
In this paper we leverage a less known algorithmic proof of the GK theorems found in Schrijver’s book [18]. These
proofs are also based on reductions to minimum cost flow that work directly on \(G\), avoiding the computation of \(TC(G)\). We argue that utilizing adaptations of Schrijver’s proofs and
greedy strategies provides a computationally fast and simple framework to solve MCP-\(k\) MA-\(k\), MC-\(k\), and MAP-\(k\), by reducing them to a constant number of minimum cost flow computations. Our first results are then obtained by using the recent results on minimum cost flow [19], [20].
theoremalmostlinearalgo Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems MCP-\(k\), MA-\(k\), MC-\(k\) and MAP-\(k\) in almost optimal \(|E|^{1+o(1)}\) time.
In [15] it was shown how to compute MCP-\(k\) [15] and MC-\(k\) [15] by a logarithmic number of minimum cost flow computations. The corresponding results in [thm:almostLinear] are simpler and stronger since only one application of minimum cost flow is required, and we additionally solve MA-\(k\) in almost optimal time, previously unknown.
Although [thm:almostLinear] solves the problems in optimal time up to subpolynomial factors, it is important to understand whether faster and/or simpler solutions can be achieved by means of parameterization. As mentioned earlier, two state-of-the-art solutions for \(k=1\) (MCP and MA-\(1\)) run in time \(O(\alpha_1^2|V|+|E|)\) [7], [8] and \(\tilde{O}(\alpha_1|E|)\) [9], which is linear and near-linear for constant values of \(\alpha_1\), respectively. It is natural to ask whether such results can be obtained for general \(k\). We obtain the following result.
theoremnearlinearalgo Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems MCP-\(k\) and MA-\(k\) in parameterized near linear \(\tilde{O}(\alpha_k|E|)\) time and the problems MAP-\(k\) and MC-\(k\) in parameterized near linear \(\tilde{O}(\beta_k|E|)\) time.
Note that these algorithms are asymptotically faster than the ones in [thm:almostLinear] when \(\alpha_k, \beta_k =
O(\log^c{|E|})\), running in near optimal time. To achieve this, we combine the recent results for negative cost cycles [21]–[24] with the simple cycle-canceling method for minimum cost flow. In fact, the minimum cost flow values in Schrijver’s
reductions are \(\alpha_k-|V|\) and \(-\beta_k\), respectively. This observation directly derives the result for \(\beta_k\). To derive the result for \(\alpha_k\), we devise a \(\ln{|V|}\) approximation based on greedy for weighted set cover (5) and prove that the cost of such solution is \(\tilde{O}(\alpha_k)\) away from the optimal. As such, this can be seen as a generalization of the simple result in [9], where only the unweighted version of greedy was used. Analogous to [9], we show how to implement the required greedy fast.
Our last results are approximation algorithms based on (unweighted) greedy set cover and are independent of Schrijver’s reductions. In more detail, it follows from bounds on set cover [25] that the first \(k\) greedy chains and antichains cover at least a \((1-1/e)\) fraction of \(\beta_k\) and \(\alpha_k\), respectively. This observation already beats the state-of-the-art approximation ratio of \(1/2\) [15]. We show how to implement greedy on the set of antichains efficiently.
theoremapproxalgo Given a DAG \(G = (V, E)\) and a positive integer \(k\), there exist \((1-1/e)\)-approximation algorithms solving MC-\(k\) in \(O(k|E|)\) time and MA-\(k\) in \(O(\alpha_1^2|V|+ (\alpha_1+k)|E|)\) time.
Note that these running times do not depend on \(\alpha_k, \beta_k\) nor have polylog factors as in [thm:nearLinear].
Moreover, for constant value of the parameters the algorithms run in optimal time. The result for MC-\(k\) is a direct consequence of the algorithm of Mäkinen et al. [9]. For MA-\(k\) we show how to compute \(k\) greedy antichains in \(O((\alpha_1+k)|E|)\) time after using the algorithm of Cáceres et al. [7], [8] to compute the first such antichain. We amortize the computation of the antichains by using the duality between MCP and MA-\(1\) over a subset of vertices.
As a by-product, we also obtain a \(\ln{|V|}\) approximation for MAP-\(k\) ([lem:generalizedGreedyAntichains]).
We highlight that the algorithmic results in [thm:nearLinear,thm:approxAlgo] belong to the line of research “FPT inside P” [26]–[31] of finding natural parameterizations for problems already in P. We complement our algorithmic contributions with the first (to the best of our knowledge) study of the limitations of greedy applied to sets
of chains or sets of antichains, as previously exploited in the literature and in this paper. As previously stated, greedy inherits the bounds of set cover. Namely, it is a \(\ln{n}\) approximation for the
partition problems [10] and a \((1-1/e)\) approximation for the coverage problems [25]. It is known that these bound are tight for general set systems [32], [33], however, it remains unknown whether these bounds are tight for sets of chains or antichains of a DAG. We show the
following.
theoremupperboundcoverage For every \(k\ge 2\), there exists a DAG, such that \(k\) greedy chains
cover at most \((1-1/e)\beta_k\) vertices. In the case of antichains, \(k\) greedy antichains cover at most \((3/4)\alpha_k\) vertices.
We obtain this result by creating DAG instances where greedy covers exactly a \((1-(1-1/k)^k)\) fraction of the optimal. For chains, we give a graph for every \(k > 1\).
For antichains, we give two graphs for \(k=2,3\). We leave the open problem, whether the antichain case can also be generalized to all \(k>3\). For the partition problems we obtain the
following result.
theoremlowerboundpartition For MCP, there exists a class of DAGs of increasing size, such that the number of chains taken by greedy is a \(\log_4(|V|)\) factor away from the optimal \(\alpha_1=2\). For MAP, the same result holds for greedy antichains and \(\beta_1=2\).
Although these results do not match the upper bound of \(\ln{n}\), they are the first to demonstrate the approximation ratio to be \(\Omega(\log{n})\). Moreover, since the results hold
for constant (\(=2\)) optimal solution, it also disproves the number of greedy chains or antichains to be a function of the optimal solution, that is, \(\alpha_1\) or \(\beta_1\), respectively. To achieve this, we construct a recursive class of graphs such that, after hiding the vertices chosen by greedy in a graph, the resulting graph corresponds to the previous step in the
class.
The rest of the paper is organized as follows. In the next section, we present the technical notation used in the paper as well as preliminary results, including Schrijver’s reductions. The following four sections are dedicated to prove . We prove every theorem in several parts.
We use \(G = (V, E)\) and \(k\) to denote our input DAG and a positive integer, respectively. We denote paths \(P\) and chains \(C\) (subsequences of paths) by their sequence of vertices, but we also use \(P\) and \(C\) to refer to the corresponding sets of vertices. As such, their lengths are \(|P|\) and \(|C|\), respectively. Antichains are sets of pairwise unreachable vertices denoted by \(A\). We use \(\mathcal{P},\mathcal{C}\) and \(\mathcal{A}\) to denote collections of paths, chains and antichains, respectively, and \(V(\mathcal{P}), V(\mathcal{C}), V(\mathcal{A})\) to denote the corresponding vertices in these collections, e.g. \(V(\mathcal{C}) = \bigcup_{C\in\mathcal{C}} C\) and \(|V(\mathcal{C})|\) is the coverage of \(\mathcal{C}\). In the collections of chains \(\mathcal{C}\) and antichains \(\mathcal{A}\) used in this paper, the chains/antichains are pairwise disjoint. However, pairs of paths in collections of paths \(\mathcal{P}\) might intersect. If \(v \in A\) (or \(P\) or \(C\)) we say that \(A\) covers \(v\), if additionally \(A\in \mathcal{A}\) (or \(\mathcal{C}\) or \(\mathcal{P}\)) we also say that \(\mathcal{A}\) covers \(v\). If \(V = V(\mathcal{P})\) we say that \(\mathcal{P}\) is a path cover. If \(V = V(\mathcal{C})\) (resp. \(V(\mathcal{A})\)) we say that \(\mathcal{C}\) is a chain (resp. antichain) partition. The celebrated GK theorems state:
Theorem 1 (Greene-Kleitman (1976)). The following two equalities hold: \[\begin{align} \alpha_k := \max_{\mathcal{A}: |\mathcal{A}| = k} |V(\mathcal{A})| &= \min_{\mathcal{C}:V = V(\mathcal{C})}\sum_{C \in \mathcal{C}} \min(|C|, k)\\ \beta_k := \max_{\mathcal{C}: |\mathcal{C}| = k} |V(\mathcal{C})| &= \min_{\mathcal{A}:V = V(\mathcal{A})}\sum_{A \in \mathcal{A}} \min(|A|, k) \end{align}\]
For a chain (or antichain) partition \(\mathcal{C}\), \(\sum_{C \in \mathcal{C}} \min(|C|, k)\) is known as the \(k\)-norm of \(\mathcal{C}\). In addition to MC-\(k\) and MA-\(k\), we use MP-\(k\) to refer to a collection of \(k\) paths covering \(\beta_k\) vertices7. A path cover of minimum size is denoted MPC. We also use the same notation to refer to the corresponding problems of finding one such optimal collections. See 1 for a summary of the acronyms we use. Note that there might be no path cover with \(k\)-norm (as defined in 1) exactly \(\alpha_k\), as paths can be forced to cover vertices multiple times (see e.g. [6]). Schrijver [18] extended the definition of \(k\)-norm to collections of paths and (pairwise disjoint) antichains, and proved the following version of the GK theorems. The original result is on sets (paths and antichains) of edges: in 7 we show that this can be easily adapted for sets of vertices.
theoremGKCollections The following two equalities hold: \[\begin{align} \alpha_k &= \min_{\mathcal{P}}|V\setminus V(\mathcal{P})| + k|\mathcal{P}|\\ \beta_k &= \min_{\mathcal{A}}|V\setminus V(\mathcal{A})| + k|\mathcal{A}| \end{align}\]
| Acronym | Definition |
| MA-\(k\) | Maximum Coverage \(k\)-antichains, i.e. a set of \(k\) antichains whose union size \(\alpha_k\) is maximized |
| MC-\(k\) | Maximum Coverage \(k\)-chains, i.e. a set of chains whose union size \(\beta_k\) is maximized |
| MP-\(k\) | Maximum Coverage \(k\)-paths, i.e., a set of \(k\) paths whose union size \(\beta_k\) is maximized |
| MAP | A partition of \(V\) into the minimum number of antichains, which equals \(\beta_1\), the height of \(G\), by Mirsky’s theorem [1] |
| MCP | A partition of \(V\) into the minimum number of chains, which equals \(\alpha_1\), the width of \(G\), by Dilworth’s theorem [2] |
| MPC | A set of paths covering \(V\) of minimum cardinality, which is equal to \(\alpha_1\) by Dilworth’s theorem [34] |
| MAP-\(k\) | An antichain partition \(\antichains\) of minimum \(k\)-norm \(\sum_{A \in \antichains} \min(|A|, k)\), equaling \(\beta_k\) by Greene-Kleitman theorems [3], [4]; MAP-\(1\)=MAP |
| MCP-\(k\) | A chain partition \(\chains\) of minimum \(k\)-norm \(\sum_{C \in \chains} \min(|C|, k)\), equaling \(\alpha_k\) by Greene-Kleitman theorems [3], [4]; MCP-\(1\)=MCP |
| MAS-\(k\) | A set \(\antichains\) of antichains of minimum \(Sk\)-norm \(|V\setminus V(\antichains)| + k|\antichains|\), equaling \(\beta_k\) by Greene-Kleitman theorems [18]; MAS-\(k\) equivalent to MAP-\(k\) |
| MPS-\(k\) | A set \(\paths\) of paths of minimum \(Sk\)-norm \(|V\setminus V(\paths)| + k|\paths|\), equaling \(\alpha_k\) by Greene-Kleitman theorems [18]; MPS-\(1\) equivalent to MPC |
Schrijver used reductions to minimum cost circulation to prove these equalities, we describe these reductions at the end of this section. For a collection of paths (resp. antichains) \(\mathcal{P}\), \(|V\setminus V(\mathcal{P})| + k|\mathcal{P}|\) is known as the \(k\)-norm of \(\mathcal{P}\), but we will use \(Sk\)-norm to avoid confusion. We use MAS-\(k\) (resp. MPS-\(k\)) to denote a collection of antichains (resp. paths) of minimum \(Sk\)-norm. We define the partition completion of a collection of chains (or antichains) \(\mathcal{C}\) as \(\mathcal{C}^V := \mathcal{C}\cup \{\{v\} \mid v \in V\setminus V(\mathcal{C})\}\).
lemmaRelations Let \(\mathcal{C}, \mathcal{A}, \mathcal{P}\) be collections of chains, antichains and paths of a graph \(G = (V, E)\), respectively. Then, the following statements hold.
If \(V(\mathcal{P}) = V(\mathcal{C})\), \(|\mathcal{C}| = |\mathcal{P}|\) and \(|C| \ge k\) for all \(C \in \mathcal{C}\), then the \(Sk\)-norm of \(\mathcal{P}\) equals the \(k\)-norm of \(\mathcal{C}^V\).
If \(|A| \ge k\) for all \(A\in\mathcal{A}\), then the \(Sk\)-norm of \(\mathcal{A}\) equals the \(k\)-norm of \(\mathcal{A}^V\).
If \(\mathcal{A}\) is a MAS-\(k\), then \(\mathcal{A}^V\) is a MAP-\(k\).
Proof.
The \(k\)-norm of \(\mathcal{C}^V\) is \[\begin{align} \sum_{C\in\mathcal{C}^V} \min(|C|,k) &= \sum_{C\in \{\{v\} \mid v \in V\setminus V(\mathcal{C})\}} \min(|C|,k) + \sum_{C\in\mathcal{C}} \min(|C|,k)\\ &= |V\setminus V(\mathcal{C})| + k|\mathcal{C}| \\ &= |V\setminus V(\mathcal{P})| + k|\mathcal{P}| \end{align}\] And thus equal to the \(Sk\)-norm of \(\mathcal{P}\).
The \(k\)-norm of \(\mathcal{A}^V\) is \[\begin{align} \sum_{A\in\mathcal{A}^V} \min(|A|,k) &= \sum_{A\in \{\{v\} \mid v \in V\setminus V(\mathcal{A})\}} \min(|A|,k) + \sum_{A\in\mathcal{A}} \min(|A|,k)\\ &= |V\setminus V(\mathcal{A})| + k|\mathcal{A}| \end{align}\]
It follows by the previous point and [thm:GK,thm:GKCollections], by noting that \(|A|\ge k\) for all \(A\in \mathcal{A}\) (removing short, \(|A|<k\), antichains decreases the \(Sk\)-norm).
◻
Our solutions rely on the use of minimum flows and circulations, here we review the basics needed to understand our results, for formal definitions we refer to [35], [36]. We say that a digraph \(G' = (V', E')\), a demand function \(\ell: E' \to \mathbb{Z}_{\ge 0}\), a capacity function \(u: E' \to \mathbb{Z}_{\ge 0}\), a cost function \(c: E' \to \mathbb{Z}\) and optionally \(s\in V'\), \(t\in V'\), is a flow network. When specifying a flow network, if \(\ell(e')\), \(u(e')\), or \(c(e')\) are not given for some \(e'\in E'\), we assume they are \(0,\infty,0\) (\(\infty\) being a big enough number), respectively. We say that a flow (or circulation) \(f: E' \to \mathbb{Z}_{\ge 0}\) is feasible a flow network, if \(\ell(e') \le f(e') \le u(e')\) for all \(e' \in E'\). We denote the value of \(f\) by \(|f|\): the flow networks used in this paper are always DAGs up to one edge (going from \(t\) to \(s\)), and thus the value of a feasible flow \(f\) is well-defined. Moreover, in all the flow networks considered in this paper, \(f\) can be decomposed into exactly \(|f|\) paths (removing the edge \((t,s)\) in the case of circulations), that is, \(f\) represents or encodes a path collection \(\mathcal{P}_f\) with \(|\mathcal{P}_f| = |f|\). There exist algorithms computing \(\mathcal{P}_f\) from \(f\) in optimal \(O(|E'| + \texttt{output})\) time (see e.g [13], [37]). Moreover, Cáceres [6] showed how to compute a chain partition \(\mathcal{C}_f\) such that \(|\mathcal{C}_f| = |f|\) and \(V(\mathcal{P}_f) = V(\mathcal{C}_f)\) in time \(O(|E|\log{|f|})\). A minimum flow (circulation) is a feasible flow minimizing \(|f|\). We denote the cost of \(f\) by \(c(f) = \sum_{e'\in E'}f(e')c(e')\). A minimum cost flow (circulation) is a feasible flow minimizing \(c(f)\). The problems of minimum flow and minimum cost flow (circulation) have been solved in almost linear \(|E|^{1+o(1)}\) time8 [19], [20].
We denote the residual graph of \(G'\) and a feasible flow (circulation) \(f\) by \(G'_f = (V', E_f')\). Intuitively, for every edge \((u',v') = e' \in E'\), \(E_f'\) contains \((u',v')\) with cost \(c(e')\) only if \(f(e') < u(e')\), and \((v', u')\) with cost \(-c(e')\) only if \(f(e') > \ell(e')\).
A well-known result from the theory of network flows [36] states that a feasible flow \(f\) is a minimum cost circulation if and only if there is no negative cost cycle (the cost of a cycle is the sum its edges’ costs) in \(G'_f\). In fact, a negative cost cycle in \(G'_f\) can be used to obtain a flow of cost at most \(c(f)-1\). The algorithms in [thm:nearLinear] implement a simple cycle-canceling approach boosted by the recent developments on finding negative cost cycles [21]–[24].
Lemma 1 ([21]–[24]). Let \(c^*\) be the minimum cost of a circulation in a flow network \(G', \ell, u, c\). Given a feasible flow \(f\), we can compute a minimum cost flow in time \(\tilde{O}((c(f)-c^*+1)|E|)\).
We now present an adaptation of the reduction used by Schrijver in the proof of the GK theorems. For completeness, in 7, we include a complete proof of [thm:GKCollections], adapting the proof of Schrijver to the case of sets (paths and antichains) of vertices.
For our inputs \(G = (V, E)\) and \(k\), we build the graph \(G' = (V', E')\) such that \(V'\) contains two vertices \(v^{in}\) and \(v^{out}\) per vertex \(v\in V\) connected by two parallel edges \(e^1_v,e^2_v \in E'\) from \(v^{in}\) to \(v^{out}\), such that \(u(e^1_v) = 1\) and \(c(e^1_v) = -1\). This parallel edge construction serves the following purpose. The edge \(e^1_v\) acts a “covering edge” that reduces the cost by one and can be used only once, and the edge \(e^2_v\) allows us to use vertex \(v\) in other paths but does not count towards the covering objective function. For every edge \((u,v)\in E\), \(E'\) contains the edge \((u^{out}, v^{in})\). Additionally, \(V'\) contains \(s\) and \(t\), with edges \((s, v^{in}), (v^{out}, t)\in E'\) for each \(v \in V\). Finally, \(E'\) contains the edge \((t, s)\): in the reduction used to prove the \(\alpha_k\) part of the theorems \(c(t,s)=k\) (in line with [thm:GKCollections]), in the reduction used to prove the \(\beta_k\) part \(u(t,s)=k\) (allowing at most \(k\) paths). We call the two flow networks the \(\alpha_k\) and \(\beta_k\) networks, respectively. Note that the zero circulation is a feasible circulation in both of these networks. See 1 for an example of these networks. Moreover, every minimum circulation \(f\) of these networks satisfies \(f(e^2_v) \ge 1 \Rightarrow\) \(f(e^1_v) = 1\).
In the \(\beta_k\) network, this means that \(c(f) = -|V(\mathcal{P}_f)| = -\beta_k\), by 1. Starting from the zero circulation on 1, we obtain the following Lemma.
Lemma 2 ([thm:nearLinear], part II). Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems, MAP-\(k\), MAS-\(k\), MP-\(k\) and MC-\(k\) in parameterized near linear \(\tilde{O}(\beta_k|E|)\) time.
A feasible circulation \(f\) can be decomposed into \(\mathcal{P}_f\) and \(\mathcal{C}_f\) (to obtain MP-\(k\) and MC-\(k\)). In 4 we show how to extract an MAP-\(k\) and an MAS-\(k\) from the minimum cost circulation. In contrast to the \(\beta_k\) network, in the \(\alpha_k\) network we have \(c(f) = -|V(\mathcal{P}_f)| + k|\mathcal{P}_f|\) and its minimum cost is \(\alpha_k-|V|\) by [thm:GKCollections]. Therefore, starting from a zero circulation, 1 only produces a \(\tilde{O}((\alpha_k-|V|+1)|E|)\) time algorithm. In 4 we show how to efficiently compute a \(\ln{|V|}\) approximation circulation for the \(\alpha_k\) network. We obtain the first part of [thm:nearLinear] by starting from such a flow.
The results in this section follow by connecting previous works. Nevertheless, we believe it is important to present these results, which improve over the state-of-the-art.
We first prove how to obtain [thm:almostLinear] for MPS-\(k\) and MCP-\(k\).
Lemma 3 ([thm:almostLinear], part I). Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems MCP-\(k\) and MPS-\(k\) in almost optimal \(|E|^{1+o(1)}+ O(\texttt{output})\) time.
Proof. We build the \(\alpha_k\) network (see 2) and compute a minimum cost circulation \(f\) in \(E^{1+o(1)}\) time [19], [20]. Circulation \(f\) can be decomposed into a collection of \(|f|\) paths \(\mathcal{P}_f\) (for solving MPS-\(k\)) or \(|f|\) disjoint chains \(\mathcal{C}_f\) such that \(V(\mathcal{P}_f) = V(\mathcal{C}_f)\) (for solving MCP-\(k\)). By construction (see discussion above 2), the cost of \(f\) is \(c(f) = -|V(\mathcal{P}_f)| + k|\mathcal{P}_f|\), since \(f\) minimizes this cost it also minimizes \(|V\setminus V(\mathcal{P})| + k|\mathcal{P}|\), and thus \(\mathcal{P}_f\) is a MPS-\(k\). We decompose \(f\) into \(\mathcal{P}_f\) in \(O(|E| + \texttt{output})\) time [13], [37]. We can get \(\mathcal{C}_f\) from \(f\) in \(O(|E|\log{|f|}) = O(|E|\log{|V|}) = |E|^{1+o(1)}\) time [6]. In [6], it is additionally stated that \(\mathcal{C}_f\) can be obtained from \(\mathcal{P}_f\) by removing the repeated vertices (up to one copy) from the paths of \(\mathcal{P}_f\). In other words, there is a one-to-one correspondence between \(\mathcal{C}_f\) and \(\mathcal{P}_f\) such that \(C \in \mathcal{C}_f\) is a subsequence of its corresponding \(P \in \mathcal{P}_f\). Next, we note that for every \(P\in \mathcal{P}_f\), \(c_P := |P\setminus V(\mathcal{P}_f \setminus \{P\})| \ge k\); indeed, if \(c_P < k\) then the \(Sk\)-norm of \(\mathcal{P}_f \setminus \{P\}\) is \(k-c_P\) units smaller than the \(Sk\)-norm of \(\mathcal{P}_f\), a contradiction. Moreover, since also \(V(\mathcal{C}_f) = V(\mathcal{P}_f)\), the corresponding \(C \in \mathcal{C}_f\) to \(P\) must cover at least those \(c_P\) vertices, and thus for every \(C \in \mathcal{C}_f, |C| \ge c_P \ge k\). As such, the \(k\)-norm of \(\mathcal{C}_f^V\) is exactly the \(Sk\)-norm of \(\mathcal{P}_f\), by [lem:relations], and thus \(\mathcal{C}_f^V\) is a MCP-\(k\). ◻
Now we prove how to obtain [thm:almostLinear] for MP-\(k\) and MC-\(k\).
lemmaAlmostLinearTwo Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems MP-\(k\), MC-\(k\) in almost optimal \(|E|^{1+o(1)}+ O(\texttt{output})\) time.
Proof. We build the \(\beta_k\) network (see 2) and compute a minimum cost circulation \(f\) in \(E^{1+o(1)}\) time [19], [20]. Circulation \(f\) can be decomposed into a collection of \(|f|\) paths \(\mathcal{P}_f\) (for solving MP-\(k\)) or \(|f|\) disjoint chains \(\mathcal{C}_f\) such that \(V(\mathcal{P}_f) = V(\mathcal{C}_f)\) (for solving MC-\(k\)). By construction (see discussion in 2), the cost of \(f\) is \(c(f) = -|V(\mathcal{P}_f)|\), since \(f\) minimizes this cost, \(\mathcal{P}_f\) is a MP-\(k\) and \(\mathcal{C}_f\) is a MC-\(k\). We decompose \(f\) into \(\mathcal{P}_f\) in \(O(|E|+\texttt{output})\) time [13], [37] and into \(\mathcal{C}_f\) in \(O(|E|\log{|f|}) = O(|E|\log{|V|}) = E^{1+o(1)}\) time [6]. ◻
The proof of [thm:GKCollections] gives an explicit description of the corresponding antichain collections derived from a minimum cost circulation of the \(\alpha_k\) and \(\beta_k\) networks. Next, we show how to compute (from the circulation) such antichain collections efficiently. We use this lemma to prove the final part of [thm:almostLinear].
Lemma 4. Given a minimum cost circulation \(f\) of the \(\alpha_k\) network (resp. \(\beta_k\) network). We can compute a MA-\(k\) (resp. a MAS-\(k\) and MAP-\(k\)) in time \(\tilde{O}(|E|)\).
Proof. Since there are no negative cost cycles in the residual \(G'_f\), the function \(d: V' \to \mathbb{Z}\) such that \(d(v')\) is the distance of a shortest (minimum cost) path from \(s\) to \(v'\) in \(G'_f\), is well defined. In fact, we can compute \(d\) in \(\tilde{O}(|E|)\) by using [21]–[24]. The proof of [thm:GKCollections] defines \(U_i := \{v' \in V' \mid d(v') \ge i + d(t)\}\) and \(A_i = \{v\in V\mid v^{in} \in U'_i \land v^{out} \not\in U'_i\}\) for every \(i\in\{1,\ldots d(s)-d(t)\}\). The proof moreover shows that \(\mathcal{A}_f = \{A_1, \ldots, A_{d(s)-d(t)}\}\) is a collection of antichains and that it is a MA-\(k\) in the \(\alpha_k\) network and a MAS-\(k\) in the \(\beta_k\) network. Note that \(A_i\) corresponds to the set of vertices \(v\in V\) such that \(d(v^{in}) \ge i + d(t)\) and \(d(v^{out}) < i + d(t)\). In particular, if \(d(v^{in}) > d(v^{out})\), then \(v \in A_j\) for \(j \in \{d(v^{out}) - d(t) + 1, \ldots, d(v^{in})-d(t)\}\). As such, we can build \(\mathcal{A}_f\) in \(O(|E|)\) time by checking each edge \((v^{in}, v^{out})\) and placing \(v\) in one such corresponding antichain (e.g. in \(A_{d(v^{in})-d(t)}\)) when \(d(v^{in}) > d(v^{out})\). By [lem:relations], \(\mathcal{A}^V\) is a MAP-\(k\). ◻
lemmaAlmostLinearThree Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems MA-\(k\), MAP-\(k\) and MAS-\(k\) in almost optimal \(|E|^{1+o(1)}\) time.
Proof. Compute a minimum cost circulation \(f\) in the \(\alpha_k\) network (resp. \(\beta_k\) network) in \(|E|^{1+o(1)}\) time [19], [20], and use 4 to obtain a MA-\(k\) (resp. MAS-\(k\) and MAP-\(k\)). ◻
Proof of [thm:almostLinear]. Combine [lem:almostLinear1,lem:almostLinear2,lem:almostLinear3]. ◻
We exploit the well-known greedy algorithm for weighted set cover [10]. In minimum weight set cover the
input is a collection of sets \(\mathcal{S}\) such that \(\bigcup_{S\in\mathcal{S}} S = V\),9 and an
associated weight function \(w: \mathcal{S}\to \mathbb{Z}_{\ge 0}\), and the task is to find a subcollection \(\mathcal{S}' \subseteq \mathcal{S}\) covering all elements, that is \(V(\mathcal{S}') = V\), and minimizing its total weight, where \(w(\mathcal{S}') = \sum_{S\in\mathcal{S}'} w(S)\). The greedy algorithm maintains the set of uncovered
elements \(U\) and iteratively picks a set \(S\) minimizing the ratio \(w(S)/|U\cap S|\) until \(U = \emptyset\). It is
known that greedy is a \(\ln{|V|}\) approximation [10]. We show that greedy is
a \(\ln{|V|}\) approximation for MCP-\(k\) and MPS-\(k\), and that it can be implemented efficiently, a generalization of the result of Mäkinen et al. [9].
Lemma 5. We can compute a \(\ln{|V|}\) approximation of MCP-\(k\) and MPS-\(k\) in time \(\tilde{O}(\alpha_k|E|/k)\).
Proof. We define the following weighted set cover instance: the sets are the chains of \(G\), and for a chain \(C\) its weight is \(\min{(|C|,
k)}\). Note that a feasible solution for this weighted set cover instance is a chain cover (not necessarily partition), and its weight corresponds to its \(k\)-norm. As such, MCP-\(k\)’s are optimal solutions to this problem. Moreover, greedy is a \(\ln{|V|}\) approximation [10]. We next show how to compute such a greedy solution efficiently. For this, recall that greedy at each step, chooses the chain \(C\) minimizing the ratio \(w(C)/|U \cap C| = \min{(|C|, k)}/|U \cap C|\), where \(U\) is the set of uncovered vertices. First, note that there is always a chain \(C \subseteq U\)
minimizing this ratio, and thus we assume \(C \subseteq U\), and the task becomes to find a chain \(C \subseteq U\) minimizing the ratio \(\min{(|C|,
k)}/|C|\). Note that this also ensures that the chain collection found by greedy is a chain partition. Second, if there is no chain \(C \subseteq U\) with \(|C| > k\),
then the ratio is always one and any such chain minimizes the ratio, when greedy reaches this point it can just output every vertex in \(U\) in a separated singleton path. Otherwise, greedy must
find a chain \(C\subseteq U\) minimizing \(k/|C|\), but since \(k\) is a constant for this minimization, it is equivalent to finding a chain \(C \subseteq U\) maximizing \(|C|\). Such a chain can be obtained by finding a path covering the most vertices from \(U\). Mäkinen et al. [9] show how to compute such a path in \(O(|E|)\) time. Since we stop greedy as soon as there is no chain \(C \subseteq U\) with \(|C| > k\), the running time of our approach is the number of chains \(|C| > k\) times \(O(|E|)\).
Finally, since each chain \(|C| > k\) contributes \(k\) to the \(k\)-norm \(O(\alpha_k \log{|V|})\) of the output cover,
the number of such chains is \(O(\alpha_k \log{|V|}/k)\). Note that the \(Sk\)-norm of the set of paths and the \(k\)-norm of the chain partition output by
greedy is the same, by [lem:relations]. ◻
lemmaNearLinearOne Given a DAG \(G = (V, E)\) and a positive integer \(k\), we can solve the problems, MCP-\(k\), MPS-\(k\) and MA-\(k\) in parameterized near linear \(\tilde{O}(\alpha_k|E|)\) time.
Proof. We use 5 to compute a collection of paths \(\mathcal{P}\) whose \(Sk\)-norm is at most \(\alpha_k \ln{|V|}\) in \(\tilde{O}(\alpha_k|E|)\) time. These paths correspond to a circulation \(f\) in
the \(\alpha_k\) network. The cost \(f\) of this circulation is then \(c(f) = -|V(\mathcal{P})| + k|\mathcal{P}| \le \alpha_k\ln{|V|} - |V|\), and since the
minimum cost of a circulation is \(\alpha_k - |V|\) we can use 1 to obtain a minimum cost circulation in \(\tilde{O}(\alpha_k |E|)\) time. As in the proof of [lem:almostLinear2], we can obtain a MCP-\(k\) and a MPS-\(k\) from the minimum cost flow circulation (output size for MPS-\(k\) is \(O(\alpha_k|E|)\)). We
use 4 to obtain a MA-\(k\). ◻
Proof of [thm:nearLinear]. Combine [lem:nearLinear1,lem:nearLinear2]. ◻
In the maximum coverage \(k\)-sets version of set cover, the sought solution consists of \(k\) sets, covering the maximum number of elements, and in this case greedy
is stopped after \(k\) iterations. It is well-known that this version of greedy is a \((1-1/e)\) approximation [25]. When applied to the collection of chains/paths or antichains of a DAG, we automatically obtain the approximation ratio claimed in [thm:approxAlgo]. Therefore, the main purpose of this section is to provide a fast implementation of greedy in these contexts.
In a series of works [9], [11], [12] it was shown how to efficiently compute greedy chains/paths in \(O(|E|)\) time per chain/path, the first part of [thm:approxAlgo] follows.
Lemma 6 ([thm:approxAlgo], part I, [9]). Given a DAG \(G = (V, E)\) and a positive integer \(k\), there exist \((1-1/e)\)-approximation algorithms solving MP-\(k\) and MC-\(k\) in \(O(k|E|)\) time.
We show how to efficiently compute a maximum-sized antichain \(A\subseteq U\) for some subset \(U\subseteq V\). We adapt a well-known reduction from MPC to minimum flow [34] to work with minimum path covers only required to cover \(U\) instead of the whole \(V\).
Lemma 7. There exists a reduction to minimum flow for the problem of finding a minimum cardinality set of paths covering \(U\subseteq V\). Moreover, we can recover a maximum-sized antichain \(A\subseteq U\) from a minimum flow in this network in \(O(|E|)\) time.
Proof. For \(U = V\), the well-known reduction to minimum flow corresponds to \(G'\) as in Schrijver’s reduction but without the edge \((t,s)\) and only one copy of edges \((v^{in}, v^{out})\) for \(v \in V\) with \(\ell(v^{in}, v^{out}) = 1\), all other (non-specified) values for \(\ell\) and \(u\) are set to default (see 2). Cáceres et al. [7], [8] show that a minimum flow \(f\) in this network corresponds to a MPC of \(G\) (by decomposing \(f\)) and a maximum-sized antichain can be obtained in \(O(|E|)\) time by traversing the residual \(G'_f\) from \(t\): the maximum-sized antichain corresponds to the vertices \(v \in V\) such that \(v^{out}\) is reached by \(t\) in \(G'_f\) but \(v^{in}\) is not. Here, we prove that we obtain the same result when only required to cover \(U \subseteq V\) by setting \(\ell(v^{in}, v^{out}) = 1\) only for \(v \in U\). First, note that a flow in this modified network can be decomposed into a collection of paths covering \(U\) and a collection of paths covering \(U\) corresponds to a feasible flow in this modified network. As such, a minimum flow \(f\) in this modified network can be decomposed into a minimum cardinality set of paths covering \(U\subseteq V\). Moreover, consider the vertices \(V_t\) reached by \(t\) in the residual \(G'_f\) of this modified network. We define \(A \subseteq U\) as \(A = \{v \in U \mid v^{out}\in V_t \land v^{in} \not\in V_t\}\). First note that, if (by contradiction) there is a vertex \(u \in A\) reaching a vertex \(v\in A\) in \(G\), then \(u^{out}\) reaches \(v^{in}\) in \(G'\) and also in \(G'_f\) (edges have default \(\infty\) capacity), a contradiction since \(v^{in}\not\in V_t\). As such, \(A\) is an antichain. Moreover, by definition, \(V_t\) is a \(ts\) cut and all edges entering \(V_t\) have flow equal to their lower bound. Since there is exactly \(|f|\) units of flow entering \(V_t\) (by flow conservation), then \(|A| = |f|\), and thus \(A\) is a maximum-sized antichain \(A \subseteq U\). Computing \(A\) reduces to computing \(V_t\), which can be done in \(O(|E|)\) time. ◻
Therefore, a simple strategy to obtain the \(k\) greedy antichains is to solve the minimum flow problem defined in 7 repeatedly, where each time \(U\) is defined as the vertices still uncovered. Our final result speeds up this computation by noting that a minimum flow obtained in the \(i\)-th step of greedy can be used as an initial solution for the step \(i+1\). A well-known result from the theory of network flows [36] states that for a feasible flow \(f\), \(f\) is a minimum flow if and only if
there is no path from \(t\) to \(s\) in \(G'_f\). A \(ts\)-path in \(G'_f\) is
known as a decrementing path and it is used to obtain a flow of value \(\le |f|-1\). As such, starting from a feasible flow \(f\), we can obtain a minimum flow \(f^*\) by finding \(\le|f|-|f^*|\) decrementing paths in total \(O((|f|-|f^*|+1)|E|)\) time.
Lemma 8 ([thm:approxAlgo], part II). Given a DAG \(G = (V, E)\) and a positive integer \(k\), there exist \((1-1/e)\)-approximation algorithm solving MA-\(k\) in time \(O(\alpha_1^2|V| + (\alpha_1+k)|E|)\).
Proof. We compute a MPC in time \(O(\alpha_1^2|V| + (\alpha_1+k)|E|)\) [7], [8], compute the corresponding minimum flow \(f_1\) in the reduction of 7 and obtain the first greedy antichain \(A_1\) in \(O(|E|)\) time. To obtain the \(i\)-th greedy antichain \(A_i\), for \(i > 1\), we assume that \(U_{i}\) are the vertices still uncovered in
iteration \(i\), that is \(U_{i} = V \setminus \bigcup_{j = 1}^{i-1} A_j\), and that \(f_{i-1}\) is a minimum flow as in 7 for \(U_{i-1}\). To compute a minimum flow \(f_i\) for \(U_i\) we use \(f_{i-1}\) as an initial solution. Note that \(f_{i-1}\) is a feasible flow in the network for \(U_{i}\) since \(U_{i} \subseteq
U_{i-1}\). Obtaining \(f_i\) from \(f_{i-1}\), can be done by finding \(|f_{i-1}| - |f_{i}|\) decrementing \(ts\)
paths in the corresponding residual networks, each in \(O(|E|)\) time. Once we obtain \(f_{i}\), we can obtain \(A_{i}\) (and \(U_{i}\)) in \(O(|E|)\) time by the second part of 7. The total running time after computing the MPC is
then \(O\left(|E|\sum_{i = 2}^k |f_{i-1}| - |f_{i}|+1 \right) = O(|E|(k + |f_1| - |f_k|)) = O((\alpha_1+k)|E|)\). ◻
Proof of [thm:approxAlgo]. Combine [lem:approxAlgo1,lem:approxAlgo2]. ◻
Combining the ideas from [lem:generalizedGreedy,lem:approxAlgo2] we obtain the following.
lemmaGeneralizedGreedyAntichains We compute a \(\ln{|V|}\) approximation of MAS-\(k\) and MAP-\(k\) in \(\tilde{O}((\alpha_1+\beta_k/k)|E|)\) time.
Proof. We start by computing an MPC in \(\tilde{O}(\alpha_1|E|)\) time [9], and compute
greedy antichains as in the proof of 8 but stopping the computation whenever the next antichain size is at most \(k\) (as we did for chains/paths in the proof of 5) obtaining a collection of greedy antichains: \(\mathcal{A}\). Note that, following the analysis of 8, the running time of computing \(\mathcal{A}\) is \(O((\alpha_1+|\mathcal{A}|)|E|)\). We next prove that \(\mathcal{A}\) is a \(\ln{|V|}\) approximation for the
MAS-\(k\) problem. The bound \(|\mathcal{A}| \le \beta_k\ln{|V|}/k\) follows by noting that each antichain in \(\mathcal{A}\) contributes exactly \(k\) units to its \(Sk\)-norm. The fact that \(\mathcal{A}\) is a \(\ln{|V|}\) approximation follows by noting, as in the proof
of 5, that the implementation greedy over the set of antichains of \(G\) with weights \(\min(|A|,k)\) for antichain \(A\), is exactly the first antichains of (unweighted) greedy until their size becomes at most \(k\) (for MAS-\(k\)) plus singleton antichains for the yet uncovered vertices (for MAP-\(k\)). The \(Sk\)-norm of the antichain collection (for MAS-\(k\)) is equal to the \(k\)-norm of the antichain partition (for MAP-\(k\)) by [lem:relations]. ◻
lemmalemupperBoundCoverageI For every \(k\ge 2\), there exists a DAG, such that \(k\) greedy chains cover at most \((1-1/e)\beta_k\) vertices
in the worst case, which is tight.
Proof. We construct a class of graphs \(G_k\) for \(k \in \mathbb{N}\) and show that greedy covers at most a \(1 - (1-1/k)^k\)-ratio
of vertices of \(G_k\), while \(\beta_k = |V|\). We introduce \(k^{k+1}\) vertices that can be covered by \(k\) paths of
each \(k^k\) vertices. This set of paths represents the optimal solution and we call the \(i\)-th such path the \(i\)-th row of the graph (see 2). We label the vertices accordingly: \(v_i^j\) with \(i \in [k], \, j\in[k^k]\) denotes the \(j\)-th vertex in the \(i\)-th row. The idea is that greedy will cover a \(1/k\) fraction of the remaining uncovered vertices in each row.
The set of vertices \(C_i \subseteq V(G_k)\) to be covered by the \(i\)-th greedy chain (\(i \in [k]\)) is defined as follows: \(C_i = \{ v_j^\ell \mid j \in [k],\,\ell \in \Gamma_{i,j} \}\), where the index set \(\Gamma_{i,j}\) is defined as the integers inside the following interval: \[\Gamma_{i,j} = \mathbb{N} \cap \begin{cases} [(j-i)(1-\frac{1}{k})^{i-1}k^{k-1}+1,\, (j-i+1)(1-\frac{1}{k})^{i-1}k^{k-1}] &\text{if } j \geq i,\\
[(k+j-i)(1-\frac{1}{k})^{i-1}k^{k-1}+(\sum_{\ell=1}^{j}(1-\frac{1}{k})^{\ell-1})k^{k-1}+1,\\\ \quad(k+j-i+1)(1-\frac{1}{k})^{i-1}k^{k-1}+(\sum_{\ell=1}^{j}(1-\frac{1}{k})^{\ell-1})k^{k-1}] & \text{if } j < i. \end{cases}\]
We add the edges to \(G_k\) that connect consecutive vertices \(v_j^\ell\) in \(C_i\) sorted in ascending order by \(\ell\). Informally, the chains are paths in \(G_k\) that look like stairs, where the \(i\)-th greedy chain starts on the first vertex of row \(i\) and loops from row \(k\) to row \(1\) if \(i > 1\). Clearly, \(G_k\) is a DAG, because
all edges have the form \((v_{i_1}^{j_1}, v_{i_2}^{j_2})\) for some \(i_1,i_2 \in [k]\) and \(j_2 > j_1\). We will show the following properties:
The sets \(C_i\) are well-defined and pairwise disjoint,
The set \(C_i\) is of size \((1-\frac{1}{k})^{i-1}k^k\) and covers \((1-\frac{1}{k})^{i-1}k^{k-1}\) vertices in each row,
The \(i\)-th greedy path covers precisely the set \(C_i\) in the worst case.
Showing these three properties concludes the proof, as the number of paths chosen by greedy divided by the optimal solution is the following: \[\frac{1}{\beta_k}\left|\bigcup_{i\in[k]} C_i\right| =
\frac{1}{\beta_k}\sum_{i=1}^k |C_i| = \frac{1}{k}\sum_{i=1}^k \left(1-\frac{1}{k}\right)^{i-1} \xrightarrow{k\to\infty} \left(1-\frac{1}{e}\right).\]
Property 1. To verify that the sets \(C_i\) are well-defined, observe that \(\Gamma_{i,j}\subseteq [k^k]\). We now verify that the sets \(C_i\) are pairwise disjoint for \(k \geq 2\). Consider the sets \(C_i\) and \(C_{i-1}\) for some \(i\in\{2,\dots,k\}\) and a row \(j \in [k]\). We show that the intervals in \(\Gamma_{i,j}\) are disjoint by analyzing several cases:
If \(j \geq i\), the chain of \(C_i\) is to the left of the chain of \(C_{i-1}\) (that is, the maximum value of \(C_i\) in row \(j\) is smaller than the minimum value of \(C_{i-1}\) in row \(j\)): we have \((j - i + 1)(1-\frac{1}{k})^{i-1}k^{k-1} < (j-i+1)(1-\frac{1}{k})^{i-2}k^{k-1})+1\), since \(0 < (1-\frac{1}{k}) < 1\).
If \(j < i - 1\), the chain of \(C_i\) is also to the left of the chain of \(C_{i-1}\): we have \((k+j-i+1)(1-\frac{1}{k})^{i-1}k^{k-1}+(\sum_{\ell=1}^{j}(1-\frac{1}{k})^{\ell-1})k^{k-1} < (k+j-i+1)(1-\frac{1}{k})^{i}k^{k-1}+(\sum_{\ell=1}^{j}(1-\frac{1}{k})^{\ell-1})k^{k-1} + 1\), again, since \(0 < (1-\frac{1}{k}) < 1\).
\(C_k\) is to the right of \(C_1\) on all rows \(j\in[k-1]\): We must verify \[\begin{align} j\left(1-\frac{1}{k}\right)^{k-1}k^{k-1}+\left(\sum_{\ell=1}^{j}\left(1-\frac{1}{k}\right)^{\ell-1}\right)k^{k-1} + 1 > jk^{k-1}, \label{eq:ck-right-of-c1} \end{align}\tag{1}\] which is true if and only if \[k^{k-1} \left[ j\left(1-\frac{1}{k}\right)^{k-1} + \sum_{\ell=1}^{j}\left(1-\frac{1}{k}\right)^{\ell-1} - j \right] + 1 > 0.\] Computing the geometric sum, we have \[k^{k-1} \left[ k\left(1-\left(1-\frac{1}{k}\right)^j\right) - j\left(1-\left(1-\frac{1}{k}\right)^{k-1}\right) \right] + 1 > 0.\] It suffices to show that the expression in the bracket is non-negative for all pairs \(k > j \geq 1\). This is implied by \[\begin{align} (k-1)\left(1-\left(1-\frac{1}{k}\right)^{j}\right) &\geq j\left(1-\left(1-\frac{1}{k}\right)^{k-1}\right)\\ \iff \frac{\left(1-\left(1-\frac{1}{k}\right)^{j}\right)}{j} &\geq \frac{\left(1-\left(1-\frac{1}{k}\right)^{k-1}\right)}{k-1}, \end{align}\] which is true, because the function \(f_k(n) = (1-(1-(1/k))^n)(1/n)\) is decreasing. Hence, 1 is true.
The three cases above show that \(C_i\) and \(C_j\) are disjoint for all \(i\neq j \in [k]\).
Property 2. The size of \(C_i\) can be computed by summing the \(k\) interval lengths of \(\Gamma_{i,j}\). Note that by Property 1, the \(C_i\) are pairwise disjoint and that the intervals \(\Gamma_{i,j}\) of a path \(C_i\) all have equal length.
Property 3. To show that greedy takes the path \(C_\ell\), we need to show that \(C_\ell\) covers the most uncovered vertices out of any path after
greedy took \(C_1,\dots,C_{\ell-1}\). After covering the first \(\ell-1\) paths and before covering path \(\ell\), we say that
greedy is at step \(\ell\). Given a vertex \(v_i^j\), consider the set \(\mathcal{R}_{i,j,\ell}\) of vertices that are in the same row, are
uncovered at step \(\ell\) and come after \(v_j^j\): \[\mathcal{R}_{i,j,\ell} = \{ v_i^p \mid p > j,\, v_i^p \text{ uncovered at step \ell} \}.\] We call
an edge \((v_{i_1}^{j_1}, v_{i_2}^{j_2})\) forward at step \(\ell\) if \(|\mathcal{R}_{i_1,j_2,\ell}| > |\mathcal{R}_{i_2,j_2,\ell}|\). We show
the following Lemma.
Lemma 9. Assume greedy took the paths \(C_1,\dots,C_t\) at steps \(1,\dots,t\). Then at step \(t+1\), all edges are
forward.
Proof. We prove this fact by induction on \(t\). All edges are forward when \(t = 1\), before greedy chose a path. Assume \(t >
0\), and note that edges that remain in the same row are obviously forward. Consider the edges \((v_{i_1}^{j_1}, v_{i_2}^{j_2})\) of a path \(C_\ell\) whose tail is contained in a
different row than its head (i.e., \(j_1 \neq j_2\)). If \(\ell = t\), then the edges are forward: by the induction hypothesis, they are forward at step \(t\), and after covering \(C_t\), we have \(\mathcal{R}_{i_1,j_1,t} = \mathcal{R}_{i_1,j_1,t+1}\) and \(\mathcal{R}_{i_2,j_2,t} =
\mathcal{R}_{i_2,j_2,t+1} \setminus C_t\).
Let now \(\ell \neq t\). Following the path \(C_\ell\), it first is to the left of \(C_t\) and then to the right of \(C_t\). For example, in 2 the maximum value of \(C_2\) in row \(2\) is smaller than the minimum value of \(C_3\) in row \(3\), but it is the other way round in row \(3\). This is the only edge of \(C_\ell\) that needs attention, as for every other edge \((v_{i_1}^{j_1}, v_{i_2}^{j_2})\) of \(C_\ell\) with \(j_1 \neq j_2\), we have \(|\mathcal{R}_{i_1,j_1,t}| - |\mathcal{R}_{i_2,j_2,t}| = |\mathcal{R}_{i_1,j_1,t+1}| - |\mathcal{R}_{i_2,j_2,t+1}|\).
We consider the case \(\ell > t\), as the other case is symmetric. The path \(C_\ell\) is to the left of \(C_t\) on rows \(\ell,\dots,k\) and \(1,\dots,t-1\). Consider the intervals \(\Gamma_{\ell,t-1}\) and \(\Gamma_{\ell,t}\), and note that the latter contains an additional summand \((1-\frac{1}{k})^{t-1}k^{k-1}\), which is equal to the length of \(C_t\) in row \(t\). Hence, this edge is also forward. ◻
Using 9, we now argue that greedy selects the paths \(C_i\) in the worst case. Consider the first
greedy step, i.e., before any path was chosen by greedy. Every row has the same length \(k^k\). Using Property 2, the path \(C_1\) also has length \(k^k\), and has the same length \(k^{k-1}\) in every row. By 9, no path is longer than
the rows. Thus, in the worst case, greedy chooses \(C_1\). Using induction, we keep this invariant for every path: in the \(i\)-th step, every row has the same number of
uncovered vertices, the path \(C_i\) contains the same number of uncovered vertices, and no path contains more uncovered vertices. ◻
lemmaUpperBoundCoverageII For every \(k\ge 2\), there exists a DAG, such that \(k\) greedy
antichains cover at most \((3/4)\alpha_k\) vertices in the worst case.
Proof. We divide this proof into two parts: first, we give two instances, for \(k=2\) and \(k=3\), of DAGs such that \(k\) greedy
antichains cover at most \((3/4)\alpha_k\) vertices. Secondly, we combine these two instances to create an instance for any k. Let \(G_2\) be an instance for \(k=2\) and \(G_3\) be an instance where \(k=3\). See [fig:upperBoundCoverage-II] for \(G_2\) and \(G_3\). In the \(G_i\) instance, for \(i=2,3\), \(\alpha_i = |V(G_i)|\) by selecting \(i\) rows. greedy, however, covers \(8+4 =12\) vertices in \(G_2\) by selecting the blue and red antichains in this order, and covers \(9+6+4=19\) vertices in \(G_3\) by selecting the blue, red, yellow antichains, in this
order. This gives us the ratio of \(12/16=3/4\) for \(k=2\) and \(19/27 < 3/4\) for \(k=3\).
To obtain the 3/4 bound for even \(k\), we use \(\frac{k}{2}\) copies of \(G_2\) (called \(G_2^{(1)}, G_2^{(2)}, \dots,
G_2^{(\frac{k}{2})}\)). Then we add edges from each vertex in \(G_2^{(i)}\) to each vertex in \(G_2^{(i+1)}\) for all \(i\). These edges make sure
that no antichain contains vertices from different \(G_2^{(i)}\). Greedy covers \(3/4\) portion of vertices of each \(G_2\). For odd \(k\), we use \(\frac{k-1}{2}\) copies of \(G_2\) (called \(G_2^{(1)}, G_2^{(2)}, \dots, G_2^{(\frac{k-1}{2})}\)) and one copy of
\(G_3\). Then we again add edges from each vertex in \(G_2^{(i)}\) to each vertex in \(G_2^{(i+1)}\) for all \(i\), and also
from each vertex in \(G_2^{(\frac{k-1}{2})}\) to each vertex in \(G_3\). Greedy covers at most \(3/4\) portion of vertices of \(G_3\) and each \(G_2\), this gives us the final ratio of \(3/4\). ◻
Proof of [thm:upperBoundCoverage]. Combine [lem:upperBoundCoverage-I,lem:upperBoundCoverage-II]. ◻
We now prove the first part of [thm:lowerBoundPartition] by providing a class of graphs such that greedy a \(\log_4(|V|)\) factor away from the optimal \(\alpha_1 = 2\) for the problems MPC and MCP. We recursively define a class of DAGs \(G^C_i\) for \(i\geq 2\), each of which can be covered by two paths.
See 4 for an illustration of the DAGs \(G^C_i = (V^C_i, E^C_i)\). We use weights \(w\) as a shorthand notation for a path of \(w\) vertices. Notice that the optimal solution has size 2 by taking top and bottom paths (we call these straight paths). We then add paths with vertices that greedy will take (we call these alternating
paths). The graph \(G^C_i\) has \(i\) alternating paths \(P_1, \dots, P_i\), which always start from the bottom straight path. The number of times that
\(P_i\) alternates between the top and bottom paths is \(i-1\). We use the notation \(P_i = \{ P_i[0], \dots, P_i[i] \}\) separated by each alternation. The
base case graph \(G^C_1\) consists of one alternating path \(P_1\) consisting of a single node with weight \(1\). The \(i\)-th instance \(G^C_i\) is constructed by adding the alternating path \(P_i\) whose weights \(w(P_i[j]) = \binom{i}{j}\). The
vertices of the paths are chosen to respect the following order: \(P_i[j-1] \to P_{i-1}[j-1] \to \dots \to P_j[j-1]\) for all \(j = 1,\dots,i\) and, in addition, \(P_j[j-1] \to P_i[j+1]\) for all \(j = 1,\dots,i-2\).
lemmaLowerBoundPartitionPartI For MPC and MCP, the number of chains/paths taken by greedy on the instances \(G^C_i\) is a \(\log_4(|V|)\) factor away from the optimal \(\alpha_1 = 2\).
Proof. Greedy returns equivalent solutions for MPC and MCP. We show the following:
In \(G^C_i\), greedy chooses the alternating path \(P_i\) in its first iteration,
\(TC(G^C_i) \setminus P_i = TC(G^C_{i-1})\) for all \(i > 1\).
The second statement implies that after removing the vertices of \(P_i\) from \(TC(G^C_i)\)10, the set
of the remaining edges corresponds to exactly all the paths in \(G^C_{i-1}\). As a result, we can recursively use Statement [stm:greedy95path95chooses95largest95path] and [stm:greedy95path95recurse], to show
that the paths \(P_i\) are each taken by greedy.
In the unweighted version of \(G^C_i\), the number of vertices is the sum of all the weights. That is, \(w(V^C_i) = |V^C_i| = \sum_{j = 1}^i |P_j|=\sum_{j = 1}^i 2^{j}-1 < 2^{i+1}\),
which implies that the number of greedy paths is \(i \geq \log_2(|V^C_i|)\). Dividing by \(\alpha_1 = 2\), we obtain \(\log_4(|V^C_i|)\) for the
factor.
It remains to show both statements. We first show Statement [stm:greedy95path95chooses95largest95path]. Let \(i \geq 2\) and let \(Q = \{ Q[0], \dots, Q[|Q|-1] \}\) be the first path chosen by greedy. We will show that \(P_i\) is the unique largest weight
path in \(G^C_i\) and thus, \(Q = P_i\). To observe this, we first note that \(P_i[0]\) is the unique source node of the DAG, which implies that \(Q[0] = P_i[0]\). Assume that \(Q \neq P_i\). We will locally change \(Q\) until \(Q = P_i\) and strictly increase its weight in
the process. Let \(j\) be the smallest index of \(Q\) such that \(Q[j] \neq P_i[j]\)
If \(j = i-1\) (\(P_i[j]\) last vertex of \(P_i\)), since \(P_i\) is the longest alternating path, \(|Q| = i\) and \(Q[j] = P_{i-1}[j-1]\). We reroute \(Q\) to \(P_i[j]\), thus \(w(P_{i-1}[j-1]) = \binom{i-1}{j-1} < \binom{i}{j} = w(P_i[j])\).
If \(j < i-1\), we reroute \(Q\) by passing it through \(P_i[j]\), and reconnect it again with a later vertex from \(Q\) in the following way:
If \(Q\) passes through \(P_i[j+1]\), it did not traverse an alternating edge, and we reroute \(Q\) through \(P_i[j]\) by using the alternating edge to \(P_i[j+1]\). In this case, we replace \[Q = \{ P_i[0], \dots, P_i[j-1], \mathbf{P_{i-1}[j-1], \dots, P_{j}[j-1]}, P_i[j+1], \dots \}\] by \[Q = \{ P_i[0], \dots, P_i[j-1], \mathbf{P_i[j]}, P_i[j+1], \dots \}.\] We have \[w(P_{i-1}[j-1]) + \dots + w(P_{j}[j-1]) = \binom{i-1}{j-1} + \dots + \binom{j}{j-1} < \binom{i}{j} = w(P_i[j]).\]
If \(Q\) does not pass through \(P_i[j+1]\), we reroute \(Q\) through \(P_i[j]\) using the unique straight path to reconnect to \(Q\). In this case, we replace \[Q = \{ P_i[0], \dots, P_i[j-1], \mathbf{P_{i-1}[j-1], \dots, P_{i-\ell}[j-1]}, P_{i-\ell}[j], \dots \}\] where \(\ell \leq i-j+1\), by \[Q = \{ P_i[0], \dots, P_i[j-1], \mathbf{P_i[j], P_{i-1}[j], \dots}, P_{i-\ell}[j], \dots \}.\] We have \[w(P_{i-1}[j-1]) + \dots + w(P_{i-\ell}[j-1]) = \binom{i-1}{j-1} + \dots + \binom{i-\ell}{j-1} < \binom{i}{j} = w(P_i[j]).\]
We proceed with growing index \(j\) until we reach the last vertex of \(P_i\). The weight of \(Q\) strictly increased after every reroute, and we thus showed that \(P_i\) is the unique largest weight path in \(G^C_i\). Next, we show Statement [stm:greedy95path95recurse]. Clearly, \(TC(G^C_{i-1}) \subseteq TC(G^C_i) \setminus P_i\). To show the opposite inclusion, let \(u,v \in V^C_{i-1}\), such that the edge \((u,v)\) is in \(TC(G^C_i) \setminus P_i\). Let \(u = P_j[\ell]\) and \(v = P_k[\ell']\), where \(j,k \leq i-1\). We show that there exists a \(uv\)-path in \(G^C_{i-1}\), which shows that the edge \((u,v)\) is also in \(TC(G^C_{i-1})\). Assume that \(u\) and \(v\) are covered by different straight paths (otherwise, the straight path is the \(uv\)-path we are looking for). Then we can consider either \(u' = P_j[\ell+1]\) if \(j > \ell+1\), or \(u' = P_{i-1}[\ell+3]\) if \(j = \ell+1\). In both cases, \(u'\) is the left most vertex on the same straight path as \(v\) satisfying that \((u,u')\) is an edge in \(TC(G^C_{i-1})\). Thus, also \((u', v)\) is an edge in \(TC(G^C_{i-1})\). ◻
lemmaLowerBoundPartitionPartII For MAP, there exists a class of DAGs of increasing size, such that the number of antichains taken by greedy is a
\(\log_4(|V|)\) factor away from the optimal \(\beta_1 = 2\) in the worst case.
Proof. We construct a class of instances \(G^A_i = (V^A_i, E^A_i)\) such that \(|V^A_i| = 2 \cdot 2^i\), \(\beta_1 = 2\) and greedy
takes \(i+2\) antichains. This implies the factor of \((i+2) / 2 \geq \log_4(|V^A_i|)\). See 5 for an illustration. The undirected graph underlying
the DAG \(G^A_i\) is bipartite, with \(V^A_i = X \cup Y\), \(X = \{ x_1, \dots, x_{2^i} \}\) and \(Y = \{ y_1, \dots, y_{2^i}
\}\). Since the graph is bipartite, \(X\) and \(Y\) are both antichains that correspond to the optimal solution. We add edges from \(X\) to \(Y\), such that the following sets become antichains for \(1 \leq k \leq i\): \(T_k = \{ x_j, y_j \mid 2^{k-1} < j \leq 2^k \}\). We let \((x_j, y_{j'}) \in E^A_i\) if and only if they are not both in the same set \(T_k\) (i.e., \(|T_k \cap \{ x_j, y_{j'} \}| \leq 1\) for all \(1 \leq k \leq i\)). Note that if a non-singleton set \(U \subseteq V^A_i\) is an antichain, then it is a subset of some \(T_k\), \(X\) or \(Y\). It can easily be verified by induction that greedy chooses the sets \(T_k\), from \(k=i\) to \(1\), with two singleton vertices \(x_1\) and \(y_1\) left over, that are chosen as two new antichains, hence \(i+2\) antichains
in total. ◻
Note that greedy’s worst case solutions are not unique in [lem:upperBoundCoverage-I], [lem:upperBoundCoverage-II] and [lem:lowerBoundPartition-partII], however, they are unique in [lem:lowerBoundPartition-partI].
Proof of [thm:lowerBoundPartition]. Combine [lem:lowerBoundPartition-partI,lem:lowerBoundPartition-partII]. ◻
Proof. This proof mimics the proofs of [18] for the case of paths/antichains of vertices. We first prove the inequality \(\le\), which holds for any \(k\) antichains/\(k\) paths and any path/antichain collection. For the \(\alpha_k\) version, let \(\mathcal{A}\) be \(k\) antichains, \(|\mathcal{A}| = k\), and \(\mathcal{P}\) a collection of paths. Then, note that \[\begin{align} |V(\mathcal{A})| &\le |V\setminus V(\mathcal{P})| + |V(\mathcal{P}) \cap V(\mathcal{A})| \\ &\le |V\setminus V(\mathcal{P})| + \sum_{P\in \mathcal{P}} \sum_{A\in\mathcal{A}}|P \cap A| \\ &\le |V\setminus V(\mathcal{P})| + k|\mathcal{P}| \end{align}\] where the last inequality follows since a path and an antichain can intersect in at most one vertex, i.e., \(|P\cap A| \le 1\). The \(\beta_k\) version of the inequality follows by the same argument (by exchanging the roles of \(\mathcal{P}\) and \(\mathcal{A}\)). To prove that the values meet in the optimum we use the \(\alpha_k\) and \(\beta_k\) networks described in 2. Consider a minimum cost circulation \(f\) in one of the networks. As argued in the main paper, if \(f\) is minimum in the \(\alpha_k\) network, then we can obtain a MPS-\(k\) \(\mathcal{P}_f\) by decomposing \(f\), and if \(f\) is minimum in the \(\beta_k\) network, then we can obtain a MP-\(k\) \(\mathcal{P}_f\) by decomposing \(f\). In both networks, consider the function \(d: V' \rightarrow \mathbb{Z}\) such that \(d(v')\) is the distance of a shortest (minimum cost) path from \(s\) to \(v'\) in the residual \(G'_f\). First, note that since \(f\) is minimum, there are not negative cost cycles in \(G'_f\) and thus \(d\) is well defined. Moreover, \(d(s) = 0\) by definition, and \(d(v') \le 0\) for all \(v'\in V'\) since there is always a path \(P = s, v^{in}, v^{out}, t\) (using \(e_v^2\)) in \(G'_f\) such that all edge costs are \(0\) and \(v' \in P\). Furthermore, since \(d\) is the shortest path distance from \(s\) in \(G'_f\), it follows that for all \(e' = (u', v') \in E'_f\), \(d(v') \le d(u') + c(e')\). In particular, if both an edge \(e' = (u', v')\) and its reverse are in \(E'_f\), then \(d(v') = d(u') + c(e')\). For our networks, this implies:
\(d(v') \le d(u')\) if \(e' = (u', v') \in E'\setminus (\{e^1_v \mid v \in V\}\cup \{(t,s)\})\), and \(d(v') = d(u')\) if \(f(e') \ge 1\).
Cost in such edges is \(c(e') = 0\) and its reverse is in \(E'_f\) if and only if \(f(e') \ge 1\).
\(d(v^{out}) \le d(v^{in}) - 1\) if \(f(e^1_v) = 0\), and \(d(v^{out}) \ge d(v^{in}) - 1\) if \(f(e^1_v) = 1\).
Cost in such edges is \(c(e^1_v) = -1\) and \(e^1_v \in E'_f \Leftrightarrow f(e^1_v) = 0 \Leftrightarrow\) reverse of \(e^1_v \not\in E'_f\).
For the \(\alpha_k\) network, \(d(s) = d(t) + k\), since we assume \(f(t, s) \ge 1\): otherwise, there is no path of length more than \(k\) (one such path would reduce \(c(f)\)) and by Mirsky’s theorem [1] a MAP is a MA-\(k\) whose coverage (\(\alpha_k = |V|\)) matches the \(Sk\)-norm of \(\mathcal{P}_f = \emptyset\).
For the \(\beta_k\) network, we assume \(f(t,s) = k\): otherwise we can redefine \(f\) to be a different minimum cost circulation with the same cost and \(f(t,s) = k\) (e.g. pick arbitrary \(v\in V\) and push \(k-f(t,s)\) units of flow on \((s, v^{in}), e^2_v, (v^{out}, t)\) and \((t,s)\) at total cost \(0\)).
We define the following subset of vertices \(U_i := \{v' \in V' \mid d(v') \ge i + d(t)\}\) for \(i \in \{1, \ldots, d(s) - d(t)\}\). By definition, \(U'_i\) is an \(st\)-cut (\(s\in U'_i\), \(t\not\in U'_i\)). Moreover, there are no edges, other than \((t,s)\) going into \(U'_i\) in \(G'\): indeed, if \((u', v') \in E'\setminus \{(t,s)\}, u' \not\in U'_i, v'\in U'_i\), then by 1. and 2., \(d(v') \le d(u')\), but also \(d(u') < i + d(t)\) and \(d(v') \ge i + d(t)\) implying \(d(u') < d(v')\), a contradiction. We use \(U_i\) to define subsets of vertices of the input DAG \(G\), \(A_i = \{v\in V\mid v^{in} \in U'_i \land v^{out} \not\in U'_i\}\). In fact, \(A_i\) is an antichain: if \(u\neq v \in A\) are such that there is a \(uv\) path in \(G\), then there is a \(u^{out}v^{in}\) path in \(G'\setminus \{(t,s)\}\), but such a path would cross from \(V'\setminus U_i\) to \(U_i\), a contradiction. We define \(\mathcal{A}_f = \{A_{1}, \ldots, A_{d(s)-d(t)}\}\) to be the collection of antichains extracted from \(f\). Note that in the \(\alpha_k\) network, by 3., \(|\mathcal{A}_f| = k\). And in the \(\beta_k\) network, by 4., \(|\mathcal{P}_f| = k\). These collections satisfy:
a. \(V\setminus V(\mathcal{P}_f) \subseteq V(\mathcal{A}_f)\): indeed, if \(v \in V\setminus V(\mathcal{P}_f)\), then \(f(e^1_v) = 0\) and, by 2., \(d(v^{out}) \le d(v^{in}) - 1\). But then, \(v \in A_{d(v^{in}) - d(t)} \subseteq V(\mathcal{A}_f)\). Note that, \(1 \le d(v^{out}) + 1 - d(t) \le d(v^{in}) - d(t) \le d(s) - d(t)\) since both \((s, v^{in}), (v^{out}, t) \in E'_f\).
b. Thus also \(V\setminus V(\mathcal{A}_f) \subseteq V(\mathcal{P}_f)\).
For the \(\alpha_k\) network we have: \[\begin{align} k|\mathcal{P}_f| &=\\ \text{(by \boldsymbol{3.})} &= (d(s) - d(t))f(t,s)\\ \text{(f is circulation)} &= \sum_{e'=(u',v')\in E'\setminus\{(t,s)\}} (d(u')-d(v'))f(e')\\ &= \sum_{e'=(u',v')\in E'\setminus (\{e^1_v \mid v \in V\}\cup \{(t,s)\})\})} (d(u')-d(v'))f(e') \\ &+ \sum_{e^1_v, v \in V} (d(v^{in})-d(v^{out}))f(e^1_v)\\ \text{(by \boldsymbol{1.})} &= \sum_{e^1_v, v \in V} (d(v^{in})-d(v^{out}))f(e^1_v) \\ \text{(by \boldsymbol{2.})}& = |\{v \in V \mid f(e^1_v) = 1 \land d(v^{in})-d(v^{out}) = 1\}| \\ &\le |V(\mathcal{P}_f) \cap V(\mathcal{A}_f)| \end{align}\]
For the \(\beta_k\) network we have: \[\begin{align} k|\mathcal{A}_f| &=\\ \text{(by \boldsymbol{4.})} &= f(t,s) (d(s) - d(t)) \\ \text{(previous derivation)}&\le |V(\mathcal{P}_f) \cap V(\mathcal{A}_f)| \end{align}\]
For \(\alpha_k\) the proof concludes by: \[\begin{align} |V\setminus V(\mathcal{P}_f)| + k |\mathcal{P}_f| &=\\ \text{(by \boldsymbol{a.})} &= |V(\mathcal{A}_f)\setminus V(\mathcal{P}_f)| + k |\mathcal{P}_f| \\ \text{(derivation for \alpha_k network)} &\le |V(\mathcal{A}_f)\setminus V(\mathcal{P}_f)| + |V(\mathcal{P}_f) \cap V(\mathcal{A}_f)| \\ &= |V(\mathcal{A}_f)| \end{align}\]
Analogously for \(\beta_k\): \[\begin{align} |V\setminus V(\mathcal{A}_f)| + k |\mathcal{A}_f| &=\\ \text{(by \boldsymbol{b.})} &= |V(\mathcal{P}_f)\setminus V(\mathcal{A}_f)| + k |\mathcal{A}_f| \\ \text{(derivation for \beta_k network)} &\le |V(\mathcal{P}_f)\setminus V(\mathcal{A}_f)| + |V(\mathcal{P}_f)\cap V(\mathcal{A}_f)| \\ &= |V(\mathcal{P}_f)| \end{align}\] ◻
Department of Computer Science, Aalto University, Finland and Department of Mathematics and Computer Science, University of Southern Denmark, Denmark. Supported by the Helsinki Institute for Information Technology HIIT.↩︎
LAMSADE, CNRS UMR7243, Université Paris Dauphine-PSL, 75775 Paris, France and Institute of Informatics, University of Warsaw, Poland. Supported by ANR project ANR-21-CE48-0022 (S-EX-AP-PE-AL).↩︎
Department of Computer Science, University of Helsinki, Finland.↩︎
Department of Computer Science, University of Helsinki, Finland. Co-funded by the European Union (ERC, SCALEBIO, 101169716). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the
European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them. Co-funded also by the Research Council of Finland grants No. 346968, 358744.
↩︎
The generalization of Mirsky’s results is due to Greene only [4], we use GK to refer to both for simplicity.↩︎
Note that any MC-\(k\) can be converted into a MP-\(k\) of the same size and vice versa.↩︎
An extra multiplicative factor of \(\log{U}\cdot\log{C}\) appears in the running time, where \(U\) and \(C\) are the largest (absolute value of the) capacity and cost, respectively. In the flow networks used in this work, \(U\) and \(C\) are polynomial in \(|E|\) and thus \(\log{U}\cdot\log{C} = |E|^{o(1)}\).↩︎
The reuse of \(V\) in the notation is intentional.↩︎
In the DAG \(G\) vertices can be traversed by greedy multiple times in order to reach uncovered vertices, but in the transitive closure \(TC(G)\), this is not
necessary.↩︎