On Kernelization and Approximation for the Vector Connectivity Problem

In the Vector Connectivity problem we are given an undirected graph $G = (V, E)$, a demand function $\phi \colon V \to \{0, \ldots, d\}$, and an integer $k$. The question is whether there exists a set $S$ of at most $k$ vertices such that every vertex $v \in V\setminus S$ has at least $\phi(v)$ vertex-disjoint paths to $S$. The problem is NP-hard already for instances with $d = 4$ (Cicalese et al., manuscript '14), admits a log-factor approximation (Boros et al., Networks '14), and is fixed-parameter tractable in terms of $k$ (Lokshtanov, private communication '14). We prove several results regarding kernelization and approximation for Vector Connectivity and Vector $d$-Connectivity where the upper bound $d$ on demands is a fixed constant. Our main result is a vertex-linear kernelization for Vector $d$-Connectivity($k$). We complement this result by proving that Vector Connectivity($k$) has no polynomial kernelization, unless NP is contained in coNP/poly, even for parameter $d + k$. Thus, size $f(d) \cdot \operatorname{poly}(k)$ for a superpolynomial function $f$ is best possible. As a stepping stone for the kernelization we give a reduction rule that reduces the total demand in the input, which may be of independent interest. The rule also applies to Vector Connectivity and we directly obtain approximation algorithms of ratio $\text{OPT}^2 + 1$ for Vector Connectivity and constant-factor $d^2$ for Vector $d$-Connectivity.


Introduction
In the vector connectivity problem we are given an undirected graph G = (V, E), a demand function φ : V → {0, . . . , d}, and an integer k ∈ N.
The question is whether there exists a set S of at most k vertices of G such that every vertex v ∈ V is either in S or has at least φ(v) vertexdisjoint paths to vertices in S (where the paths may share the vertex v itself). The study of the vector connectivity problem was initiated recently by Boros et al. [4,5] motivated by its similarity to well-studied domination and connectivity problems. In particular, if paths to S are restricted to length one then we obtain the vector domination problem, which generalizes vertex cover and dominating set amongst others. Boros et al. give polynomial-time algorithms for trees, cographs, and split graphs. Moreover, they obtain an ln n + 2-factor approximation algorithm for the general case.
More recently, Cicalese et al. [7] continued the study of vector connectivity and proved that it is APX-hard (and NP-hard) on general graphs, even when all demands are upper bounded by four. In fact, this holds even for the special case that each demand φ(v) is either 0 or d for some fixed d ≥ 4 (Milanič [20]). Cicalese et al. [7] also obtain NP-hardness on several restricted graph classes and a polynomial-time algorithm for block graphs. In a related talk during a recent Dagstuhl seminar 1 Milanič asked whether vector connectivity is fixed-parameter tractable with respect to the maximum solution size k (see Section 2 for definitions). This was answered affirmatively by Lokshtanov [16].
Motivated by the fixed-parameter tractability result we study the kernelizability of vector connectivity, with parameter k, i.e., whether there is an efficient algorithm that preprocesses instances of vector connectivity to size bounded in terms of k. Our interest stems from the progress on kernelization (and also fixed-parameter algorithms) that has been made while studying cut, feedback, and connectivity problems (see, e.g., [6,19,8,15]). As a byproduct of our work we also obtain new approximability results for vector connectivity and a variant thereof where demands are upperbounded by a fixed constant.
vector connectivity Instance: A graph G = (V, E), a function φ : V → {0, . . . , d}, and k ∈ N. Question: Is there a set S of at most k vertices such that each vertex v ∈ V \ S has φ(v) vertex-disjoint paths with endpoints in S?
The value φ(v), v ∈ V is also called the demand of vertex v. We call a set S a vector connectivity set for (G, φ), if it fulfills the requirements above. We do not formally distinguish between decision and optimization version; clearly, k is not needed in the input for the latter.
Our results. Our main result is a vertex-linear kernelization for vector d-connectivity(k), where the maximum demand d is a problemspecific constant and with parameter k. The result uses ideas similar to Marx' notion of important separators [17] and the protrusion-replacement strategy used in meta kernelization results (e.g., [2,13]), but neither finds direct application. The size of the kernel is O(k 2 ) and the number of vertices in a kernelized instance is O(k); the hidden constants are superpolynomial in d. We complement this result by proving that vector connectivity(k), i.e., with unrestricted demand values, admits no polynomial kernelization unless NP ⊆ coNP/poly. This holds also under the more restrictive parameterization by k + d, which supports the superpolynomial dependence on d in our kernelization for vector d-connectivity(k).
As a crucial subroutine of our kernelization we provide a reduction rule that reduces (and in a sense sparsifies) the total demand in the input, which may be of independent interest. The rule is independent of the value of k and preserves all feasible solutions, rather than maintaining only the status of the decision problem (whether there is at least one solution of value at most k). We prove that reduced instances have a total number of nonzero demand vertices (i.e., φ(v) > 0) that is at most d 2 opt, where opt denotes the (unknown) minimum size of a feasible solution. This yields a constantfactor d 2 approximation for vector d-connectivity and an (opt 2 + 1)factor approximation for vector connectivity. Note that APX-and NPhardness of vector d-connectivity for d = 4 are proven by a nontrivial but fairly direct reduction from vertex cover [7], making the problem an interesting generalization of vertex cover that still enjoys constant-factor approximability.
Finally, the reduction rule can also be used to reduce to at most k 3 + k nonzero demand vertices (or correctly answer no). Using this we derive an alternative FPT algorithm for vector connectivity(k) using an algorithm of Marx [18] that finds a set of size k that is independent in each of ℓ given linear matroids in time that is FPT with respect to k + ℓ.
Related work. Considering the vertex-linear kernelization for vector d-connectivity(k) there is some similarity to the mentioned metakernelization results for problems restricted to sparse graph classes [2,13]. Upon closer inspection, however, the two approaches differ substantially since we assume no restriction on the input graphs and we make no use of treewidth-related techniques (nor would it seem that they apply).
Our lower bound ruling out polynomial kernels for vector connectivity(k) is by reduction from hitting set parameterized by the number m of sets. Apart from this, for the standard parameterization (with or without restricted demand/set size) the problems behave very differently: hitting set(k) is W[2]-complete and d-hitting set(k) admits an essentially opti-mal kernel of size O(k d ) [1,9]. vector connectivity(k) is FPT [16] and vector d-connectivity(k) has a vertex-linear kernelization of size O(k 2 ).
Organization. In Section 2 we recall some definitions from graph algorithms and properties of so-called closest sets, which we frequently use. In Section 3 we present the reduction rule and the obtained approximation results. Section 4 contains the vertex-linear kernelization for vector dconnectivity(k). In Section 5 we prove the kernelization lower bound for vector connectivity(k). We conclude in Section 6. For background on parameterized complexity we refer to the literature [11,12,21].

Preliminaries
We consider only undirected, simple graphs Due to the nature of the vector connectivity problem we are frequently interested in disjoint paths from a vertex v to some vertex set S, where the paths are vertex-disjoint except for sharing v. The natural counterpart, in the spirit of Menger's theorem, are v, S-separators C ⊆ V (G)\{v} such that in G − C no vertex of S \ C is reachable from v; the maximum number of disjoint paths from v to S that may overlap in v equals the minimum size of a v, S-separator. Throughout, by disjoint paths from v to S, or v, S-separator (for any single vertex v and any vertex set S) we mean the mentioned path packings and separators with special role of v. (In a network flow interpretation of the paths between v and S, this essentially corresponds to giving v unbounded capacity, whereas all other vertices have unit capacity.) Several proofs use the function f : 2 V → N : U → |N (U )|, which is well-known to be submodular, i.e., for all X, Y ⊆ V it holds that So-called closest sets will be used frequently; these occur naturally in cut problems but appear to have no generalized name. As an example, if C is a minimum s, t-vertex cut that, amongst such cuts, has the smallest connected component for s in G−C then C is also closest. Formally, without restricting to cuts specifically, we define a vertex set C to be closest to v if C is the unique v, C-separator of size at most |C|, where v, C-separator is in the above sense. The following proposition captures some properties of closest sets, mostly specialized to v, S-separators (see also [15]).
The following holds.
1. If C is a closest v, S-separator and X the connected component of v in G − C, then for every set Since X ′ X and X is connected, it follows that N (X ′ ) ∩ X = ∅ and, thus, that N (X ′ ) = N (X). Since C is closest to v, we must have |N (X ′ )| > |C| = |N (X)| or else N (X ′ ) would be a v, C-separator of size at most |C| but different from C = N (X).
2. Assume that both C 1 and C 2 are minimum v, S-separators that furthermore minimize the size of the connected component of v in G− C i ; let X i denote those components. Note that N (X i ) = C i since C i is a minimum v, S-separator. We have . It is easy to see that N (X 1 ∩ X 2 ) is also a v, S-separator of size at most f (X 1 ) = |C 1 | and, if C 1 = C 2 , then X 1 = X 2 and X 1 ∩ X 2 X 1 ; a contradiction to X 1 being a minimum size connected component. Thus, we have C 1 = C 2 , proving the first part of the claim.
For the second part, assume first that C 3 is a v, C 1 -separator of size at most |C 1 | and let X 3 the connected component of v in G − C 3 . Since every path from v to S contains a vertex of C 1 , each such path must also contain a vertex of C 3 (to separate v from C 1 ). Thus C 3 is also a v, S-separator, but then C 3 is also minimum (as |C 3 | ≤ |C 1 |). Note that, since C 3 is a v, C 1 -separator we have X 3 ∩ C 1 = ∅. It follows that X 3 ⊆ X 1 . If X 3 X 1 then C 3 would violate the choice of C 1 as minimum v, S-separator with minimum component size for v. But then we must have X 3 = X 1 and C 1 = C 3 , which proves closeness of C 1 to v.
Finally, assume that C 4 is another minimum v, S-separator closest to v; for uniqueness we want to show C 1 = C 4 . If X 1 and X 4 are the corresponding connected components, then C i = N (X i ). By submodularity of f and the same arguments as above we find that |N ( 3. Let C 1 and C 2 minimum v, S-separators and let C 1 be closest to v. Let is also a v, S-separator; this contradicts C 1 and C 2 being minimum v, S-separators. 4. Let C closest to v and let C ′ ⊆ C. If C ′ is not closest to v then there is a v, C ′ -separator C ′′ of size at most |C ′ | and with C ′′ = C ′ . Consider C = C ′′ ∪(C \C ′ ) and note that |Ĉ| ≤ |C ′′ |+|C \C ′ | ≤ |C ′ |+|C \C ′ | = |C|. Observe thatĈ is a v, C-separator since C ′′ ⊆Ĉ separates v from C ′ , and C \ C ′ is contained inĈ. Thus, |Ĉ| < |C| would contradict C being closest to v because it implies thatĈ = C in addition toĈ being a v, C-separator of size at most |C|. Thus, |Ĉ| = |C| and by closeness of C to v, we haveĈ = C. The latter can hold only if This completes the proof.

Reducing the number of demand vertices
In this section we introduce a reduction rule for vector connectivity that reduces the total demand. We prove that the reduction rule does not affect the solution space, which makes it applicable not only for kernelization but also for approximation and other techniques. In the next section, we will use this rule in our polynomial kernelization for vector d-connectivity(k).
In the present section, as more direct applications, we get approximation results for vector connectivity and vector d-connectivity. Finally, we sketch an alternative FPT algorithm for vector connectivity(k), using a result of Marx [18].
Reduction Rule 1. Let (G, φ, k) be an instance of vector connectivity. If a vertex v ∈ V has at least φ(v) vertex-disjoint paths to vertices different from v with demand at least φ(v) then set the demand of v to zero.
We prove that the rule does not affect the space of feasible solutions for any instance. Proof. Let v denote the vertex whose demand was set to zero by the reduction rule and define r := φ(v). Clearly, φ(u) = φ ′ (u) for all vertices u ∈ V (G) \ {v}, and φ ′ (v) = 0. It suffices to show that if S fulfills demands according to φ ′ then S fulfills also demands according to φ since φ(u) ≥ φ ′ (u) for all u ∈ V (G). This in turn comes down to proving that S fulfills the demand of r at v assuming that it fulfills demands according to φ ′ . If v ∈ S then the demand at v is trivially fulfilled so henceforth assume that v / ∈ S. Let w 1 , . . . , w r denote vertices different from v with demand each at least r such that there exist r vertex-disjoint paths from v to {w 1 , . . . , w r }, i.e., a single path to each w i . Existence of such vertices is required for the application of the rule.
Assume for contradiction that S does not satisfy the demand of r at v (recall that v / ∈ S, by assumption), i.e., that there are no r vertex-disjoint paths from v to S that overlap only in v. It follows directly that there is a v, S-separator C of size at most r − 1. (Recall that C may contain vertices of S but not the vertex v.) Let R denote the connected component of v in G − C, then the following holds for each vertex w i ∈ {w 1 , . . . , w r }: 2. If w i / ∈ S then w i / ∈ R: Since S fulfills demands according to φ ′ there must be at least r vertex-disjoint paths from w i to S that overlap only in w i . However, since w i ∈ R the set C is also a w i , S-separator; a contradiction since C has size less than r.
Thus, no vertex from w 1 , . . . , w r is contained in R. This, however, implies that C separates v from {w 1 , . . . , w r }, contradicting the fact that there are r vertex-disjoint paths from v to {w 1 , . . . , w r } that overlap only in v. It follows that no such v, S-separator C can exist, and, hence, that there are at least r = φ(v) vertex-disjoint paths from v to S, as claimed. Thus, S fulfills the demand of r at v and hence all demand according to φ. (Recall that the converse is trivial since φ(u) ≥ φ ′ (u) for all vertices u ∈ V (G).) We have established that applications of Rule 1 do not affect the solution space of an instance while reducing the number of vertices with nonzero demand.
Lemma 2. Rule 1 can be exhaustively applied in polynomial time.
Proof. To check whether the rule applies to some vertex v with demand r it suffices to perform one maximum flow computation for source v (with unbounded capacity) and using all vertices with demand at least r as sinks (with capacity one). Finding a vertex suitable for applying Rule 1 thus takes only polynomial time and each application reduces the number of nonzero demand vertices decreases by one limiting the number of iterations to |V (G)|.
To analyze the impact of Rule 1 we will now bound the number of nonzero demand vertices in an exhaustively reduced instance in terms of the optimum solution size opt and the maximum demand d. To this end, we require the following technical lemma about the structure of reduced instances as well as some notation.
If (G, φ, k) is reduced according to Rule 1 then for each vertex v with demand r = φ(v) ≥ 1 there is a cut set C of size at most r−1 that separates v from all other vertices with demand at least r. We fix for each vertex v with demand at least one a vertex set C, denoted C(v), by picking the unique Intuitively, any solution S must intersect every set R(v) since |C(v)| < φ(v). The following lemma shows implicitly that Rule 1 limits the amount of overlap of sets R(v).
Proof. Assume for contradiction that we have u, v with φ(u) = φ(v) ≥ 1 and with R(u) ∩ R(v) = ∅ and u / ∈ C(v) and v / ∈ C(u). We will show that this implies that at least one of C(u) and C(v) is not a closest minimum cut, giving a contradiction. By definition of cuts C(u) and C(v) as separating u resp. v from all other vertices of at least the same demand, we have u / ∈ R(v) and v / ∈ R(u); furthermore u / ∈ C(u) and v / ∈ C(v), by definition. Let C = C(u) ∪ C(v) and note that u, v / ∈ C. Let I, J denote the connected components of u, v in G − C. Note that I ⊆ R(u) since C ⊇ C(u) and, thus, v / ∈ I. Similarly we have u / ∈ J and thus I and J are two different connected components in G − C. As the next step, we show that To this end, let us first note that N (I) ∪ N (J) ⊆ C = C(u) ∪ C(v) by definition of I and J as connected components of G − C. Thus, every vertex p that appears in exactly one of N (I) and N (J) contributes value one to the right-hand side of (1) and at least value one to the left-hand side since it must be contained in C(u) ∪ C(v). Now, for vertices p ∈ N (I) ∩ N (J) we see that they contribute value two to the right-hand side of (1). Note that each such vertex is contained in a path from u to v whose other interior vertices are disjoint from C = C(u) ∪ C(v). Thus, p must be contained in both C(u) and C(v) since otherwise the corresponding set would fail to separate u from v (or vice versa), which is required since φ(u) = φ(v). Therefore, if any vertex contributes a value of two to the right-hand side, then it also contributes two to the left-hand side. This establishes Equation (1). Now, from (1) we immediately get that at least one of Furthermore, we can see that I R(u) by using the fact that R(u) ∩ R(v) = ∅: Let q ∈ R(u) ∩ R(v) ⊆ R(u). If q ∈ I then u can reach q in G − C but, in particular, also in G − C(v). By definition of R(v) and using q ∈ R(v), we know that v can reach q in G − C(v), implying that there is a path from u to v in G−C(v) (since there is a walk through q), violating the fact that C(v) separates v from u (amongst others). Thus q / ∈ I and since I ⊆ R(u) follows from C ⊇ C(u), we get that I R(u). Since |N (I)| ≤ |C(u)| we find that N (I) is of at most the same size as C(u) but with a smaller connected component I for u, contradicting the fact that C(u) is the unique minimum closest set that separates u from all other vertices of demand at least φ(u). This completes the proof of the lemma. Now, we can give the promised bound on the number of nonzero demand vertices.
Lemma 4. Let (G, φ, k) be an instance of vector connectivity that is reduced according to Rule 1 and let opt denote the minimum size of feasible solutions S ⊆ V for this instance. Then there are at most d 2 opt nonzero demand vertices in G.
Proof. For analysis, let S ⊆ V denote any feasible solution of size opt, i.e., such that every v with φ(v) ≥ 1 has v ∈ S or there are φ(v) vertexdisjoint paths from v to S that overlap only in v. We will prove that for all r ∈ {1, . . . , d} there are at most 2r − 1 vertices of demand r in G (according to φ). Fix some r ∈ {1, . . . , d} and let D r denote the set of vertices with demand exactly r. For each v ∈ D r the solution S must contain at least one vertex of R(v) since C(v) = N (R(v)) has size at most r − 1. (Otherwise, C(v) would be a v, S-separator of size less than r.) Fix some vertex p ∈ S and let v 1 , . . . , v ℓ denote all vertices of demand r that have p ∈ R(v i ). We will prove that ℓ ≤ (2r − 1) and |D r | ≤ opt(2r − 1).
At most r − 1 vertices are contained in C(v i ) for every i ∈ {1, . . . , ℓ}. Thus, on the one hand the total size |C(v i )| of these sets is at most (r − 1)ℓ. On the other hand, for every pair Thus, every pair contributes at least a value of one to the total size of the sets C(v i ). (To see that different pairs have disjoint contributions note that, e.g., v i ∈ C(v j ) uniquely defines pair v i , v j .) We get the following inequality: Since there are exactly opt choices for p ∈ S and every set R(v) for v ∈ D r must be intersected by S, we get an upper bound of for the size of D r . If we sum this over all choices of r ∈ {1, . . . , d} we get an upper bound of for the number of vertices with nonzero demand. This completes the proof. Lemma 4 has several nice consequences for both kernelization and approximation. Let us first discuss approximability. The key point in this regard is that taking all vertices of nonzero demand constitutes a feasible solution. After having reduced the number of these vertices via Rule 1 and using Lemma 4, this constitutes a viable approximation algorithm. Theorem 1. vector d-connectivity has a constant-factor approximation algorithm with ratio d 2 . vector connectivity has an approximation algorithm with ratio (opt 2 + 1), i.e., the algorithm guarantees to find a solution of cost at most opt 3 + opt.
Proof. Both algorithms proceed by first applying Rule 1 exhaustively, which uses polynomial time, and then simply returning the set of all nonzero demand vertices as the proposed solution. In the case of vector d-connectivity, Lemma 4 already guarantees that this set has size at most d 2 opt and, as mentioned earlier, it is a feasible solution. For vector connectivity a little more discussion is necessary.
Let (G, φ, k) denote an instance of vector connectivity that is reduced according to Rule 1 and let S ⊆ V (G) a feasible solution of size opt. From the proof of Lemma 4 we know that G contains at most opt(2r − 1) vertices of demand exactly r. For r > opt we have a better bound: Observe that S must contain all vertices of demand greater than opt, since their demand for vertex-disjoint paths exceeds the size of S. Thus, there are at most opt vertices of demand greater than opt in G and at most vertices of demand up to opt. Thus, the returned set of nonzero demand vertices is a feasible solution of size at most opt 3 + opt, which corresponds to a ratio of (opt 2 + 1).
We now turn to kernelization and derive a reduction rule from Lemma 4. The crux is that a large number of nonzero demand vertices in a reduced instance implies that opt is large; if it is guaranteed to be larger than k then we may safely reject the instance.
The combination of Rules 1 and 2 also allows an efficient reduction to at most k 3 + k nonzero demand vertices. Using a result of Marx [18] on fixedparameter tractability of a parameterized (and generalized) matroid parity problem, this gives an alternative proof of fixed-parameter tractability for vector connectivity(k). Concretely, this permits us to search for an independent set of size k in k 3 + k linear matroids over the same ground set. (A matroid is linear if it contains as independent sets precisely the sets of linearly independent columns of a fixed matrix. For more information see, e.g., Oxley's book [22].) Theorem 2 (Lokshtanov [16]). vector connectivity(k) is fixed-parameter tractable.
Proof. We sketch an alternative proof for fixed-parameter tractability of vector connectivity(k). W.l.o.g., input instances (G, φ, k) are already reduced to at most k 3 + k nonzero demand vertices (else apply the reduction rules); let Clearly, if the instance is yes then there exist also solutions of size exactly k (barring |V (G)| < k which would be trivial).
Algorithm. As a first step, we guess the intersection of a solution S * of size k with the set D; there are at most (k 3 + k) k choices for S 0 = D ∩ S * . Note that all vertices of demand exceeding k must be contained in S 0 for S * to be a solution (we ignore S 0 if this is not true).
For each v ∈ D \ S 0 , we construct a matroid M v over V ′ = V \ D as follows.
• Build a graph G v by first adding to G additional c − 1 copies of v, . . , w r } and ground set V ′ ∪ S 0 . Recall that the independent sets of a gammoid are exactly those subsets I of the ground set that have |I| vertexdisjoint paths from the sources to I. It is well known that gammoids are linear matroids and that a representation over a sufficiently large field can be found in randomized polynomial time (cf. Marx [18]).
Use Marx' algorithm [18] to search for a set I * of size k − |S 0 | that is independent in each matroid M v for v ∈ D \ S 0 . If a set I * is found then test whether S 0 ∪ I * is a vector connectivity set for (G, φ, k) by appropriate polynomial-time flow computations. If yes then return the solution S 0 ∪ I * .
Otherwise, if S 0 ∪ I * is not a solution or if no set I * was found then try the next set S 0 , or answer no if no set S 0 is left to check.
It remains to prove that the algorithm is correct and to (briefly) consider the runtime.
Correctness. Clearly, if (G, φ, k) is no then the algorithm will always answer no as all possible solutions S 0 ∪ I * are tested for feasibility.
Assume now that (G, φ, k) is yes, let S * a solution of size k, and let Thus, S satisfies the demand of any v ∈ D \ S 0 . Since S ⊇ S 0 , we see that S satisfies all demands. Thus, the algorithm returns a feasible solution, as required.
Runtime. Marx' algorithm for finding a set of size k ′ that is independent in ℓ matroids has FPT running time with respect to k ′ + ℓ. We have k ′ ≤ k and ℓ ≤ |D| ≤ k 3 + k in all iterations of the algorithm and there are at most (k 3 + k) k iterations. This gives a total time that is FPT with respect to k, completing the proof sketch.

Vertex-linear kernelization for constant demand
In this section we prove a vertex-linear kernelization for vector d-connectivity(k), i.e., with d a problem-specific constant and k the parameter. We recall the problem definition. Question: Is there a set S of at most k vertices such that each vertex v ∈ V \ S has φ(v) vertex-disjoint paths with endpoints in S?
The starting point for our kernelization are Reduction Rules 1 and 2, and a result of Cicalese et al. [7] that relates vector connectivity sets for (G, φ) to hitting sets for a family of connected subgraphs of G: Intuitively, if the neighborhood of X ⊆ V in G is smaller than the largest demand of any v ∈ X, then every solution must select at least one vertex in X to satisfy v (by Menger's Theorem). We begin by introducing notation for such a set family but additionally restrict it to (inclusionwise) minimal sets X where the demand of some vertex in X exceeds |N (X)|. We then state the result of Cicalese et al. [7] using our notation.
Using this notation, the result of Cicalese et al. [7] is as follows. Proof. Cicalese et al. [7] proved Proposition 2 without the minimality restriction, allowing for a larger family, say X + ⊇ X . Clearly, hitting sets for X + are also hitting sets for X . Conversely, since X + \ X contains only supersets of sets in X , hitting sets for X are also hitting sets for X + .
Note that for the general case of vector connectivity with unrestricted demands the size of X (G, φ) can be exponential in |V (G)|; for vector d-connectivity there is a straightforward bound of |X | = O(|V (G)| d ) since |N (X)| ≤ d − 1. However, even for vector d-connectivity, the sets X ∈ X are not necessarily small and, thus, we will not take a hitting set approach for the kernelization; in fact, we will not even materialize the set X but use it only for analysis.
We will leverage Reduction Rules 1 and 2 throughout this section. Hence, we will, sometimes tacitly, assume that all instances of vector connectivity are reduced with respect to these rules.
As a first step, we prove that instances (G, φ, k) of vector d-connectivity(k) that are reduced under Rule 1 have the property that every set X ∈ X (G, φ) contains at most d 3 vertices with nonzero demand. For ease of presentation we define D(G, φ) := {v ∈ V (G) | φ(v) ≥ 1}, and use the shorthand D = D(G, φ) whenever G and φ are clear from context.
If R(v) X, then this would contradict minimality of X: By reducedness under Rule 1, we have |C(v)| < φ(v) or else the rule would apply to v. But then R(v) with N (R(v)) = C(v) fulfills the conditions for being in X , except possibly for minimality. This would prevent X . In this case we get, |X ∩ D r | = 1.
In the remaining case, there is no and G[R(v)] are connected. We will use this fact to bound the number of vertices with demand r in X. Let w ∈ N (X) and let W ⊆ D r ∩ X contain those vertices v of demand r whose set R(v) contains w; each R(v) must contain at least one vertex in N (X). Thus, for any two vertices u, v ∈ W we find that their sets R(u) and R(v) have a nonempty intersection, since they share at least w. We can now repeat the same analysis as used in the proof of Lemma 4 to get that |W | ≤ 2r − 1. Over all choices of w we get an upper bound of (d − 1)(2r − 1) vertices of demand r in X.
To arrive at our kernelization we will later establish a, somewhat technical, reduction rule that shrinks connected subgraphs with small boundary and bounded number of demand vertices to constant size. This is akin to protrusion-based reduction rules, but there is no treewidth involved. Applying this reduction to the family X , that is, reducing graphs G[X], X ∈ X , to constant size, would yield polynomial total size but not necessarily a vertexlinear upper bound. To achieve the latter, we introduce a new family Y with larger but (as it will turn out) fewer sets, and apply the reduction process , Y has at most d neighbors, and For (G, φ, d), we relate X = X (G, φ) and Y = Y(G, φ, d) by proving that every set X ∈ X is contained in at least one Y ∈ Y. Intuitively, this proves that all "interesting" parts of the instance are contained in subgraphs G[Y ].
i.e., those nonzero demand vertices that are not in X. Now, let Z ⊆ V \ {v} the minimum v, D 1 -separator that is closest to v, and let Y be the connected component of v in G−Z; thus Z = N (Y ). We claim that X ⊆ Y and Y ∈ Y.
First, assume for contradiction that X Y . We use submodularity of (2) Plugging this into (2) we obtain f (X) ≥ f (X ∩ Y ). Note that v ∈ X ∩ Y and D 1 ∩(X ∩Y ) = ∅, implying that N (X ∩Y ) is also a v, D 1 -separator of size at most |N (X)| = f (X). From X Y we get X ∩ Y X. But then X ∩ Y is a proper subset of X containing v and having |N (X ∩Y )| ≤ |N (X)| < φ(v). It follows that the connected component of v in G[X ∩Y ] also has neighborhood size (in G) less than φ(v). This contradicts the fact that X is a minimal set fulfilling the properties of Definition 1, which is required for X ∈ X . We conclude that, indeed, X ⊆ Y .
Second, let us check that Y fulfills the requirements for Y ∈ Y = Y(G, φ, d) (as in Definition 2). Note that Z separates v from all nonzero demand vertices that are not in X, since D 1 = D \ X. Thus, every nonzero demand vertex in Y is also contained in X, i.e., D∩Y ⊆ D∩X, which bounds their number by d 3 using Lemma 6. It also follows that We prove that the number of sets Y ∈ Y is linear in k for every fixed d. Thus, by later shrinking the size of sets in Y to some constant we get O(k) vertices in total over sets Y ∈ Y. Proof. We prove the lemma by giving a branching process that enumerates all sets Y ∈ Y within the leaves of a branching tree and by showing that the tree has at most d 2 k · 2 d 3 +d leaves in which sets Y are found. Given G = (V, E), φ : V → {0, . . . , d}, and k ∈ N, the process works as follows.
1. As a first step, branch on choosing one vertex v ∈ D. Recall that an instance reduced with respect to Rule 2 has |D| ≤ d 2 k. Hence, this branching step incurs a factor of |D| ≤ d 2 k to the number of leaves and creates one node for each choice.

All further branchings work as follows: Pick an arbitrary vertex
Branch on either adding this vertex to D 0 or to D 1 , creating a child node for each choice. In the branch where p is added to D 1 update the minimum v, D 1 -separator Z closest to v and update the connected component 4. Terminate a branch if any of the following three termination conditions occurs.
(a) The size of D 0 exceeds d 3 .
(b) The size of Z exceeds d.
We will now analyze this process. First, we show that every set of Y occurs as the set Y in some leaf node of the process, i.e., a node to which a termination condition applies. Second, we show that the number of such leaf nodes is bounded by |D| · 2 d 3 +d ≤ d 2 k · 2 d 3 +d .
Each set of Y occurs in some leaf. We show that every set Y * ∈ Y is found as the set Y of at least one leaf of the branching tree. To this end, fix an arbitrary set Y * ∈ Y and let Z * : Among such nodes pick one that is either a leaf or such that neither child node fulfills the requirements. Clearly, the node with D 0 = {v}, D 1 = ∅, Z = ∅, and Y equal to the component of v in G fulfills the requirements, so we can indeed always find such a node by starting at this one and following child nodes fulfilling the requirements until reaching a leaf or until both child nodes do not fulfill the requirements.
Leaf node fulfilling the requirements. If the chosen node is a leaf then one of the three termination conditions must hold. Clearly, we cannot have |D 0 | > d 3 since that would imply |D * 0 | > d 3 , violating the definition of Y and the sets therein. Similarly, we cannot have |Z| > d: In this regard, note that It follows directly that Z * , which separates v from D \ Y * , also separates v from D 1 . But then the size of Z * is an upper bound for the minimum cut size for v, D 1 -separators and |Z| > d would imply |Z * | ≥ |Z| > d, again violating the definition of Y.
Thus, in case of a leaf node the only remaining option is that no further Thus, the size of the minimum v, D \ Y * -separator Z * is upper-bounded by |Z| since Z is also a v, D \ Y *separator. Recall that we have Y ⊇ Y * , which implies that Z * = N (Y * ) also separates v from Z = N (Y ). Now, because Z is closest to v, it is the unique v, Z-separator of size at most |Z|, which implies Z = Z * since we just derived that |Z * | ≤ |Z|. Thus, Y = Y * since both are identified as the connected component of v in G − Z = G − Z * . We conclude that Y * is equal to Y in the chosen node if it is a leaf.
Internal node fulfilling the requirements. Now, let us consider the case that the chosen node is not a leaf of the branching tree. We want to check that at least one possible branch must lead us to a child node that also fulfills our restrictions; this would contradict our choice of node that is either a leaf or such that neither child node fulfills the requirements, implying that we necessarily pick a leaf node. Thus, for any Y * ∈ Y there is a leaf of the branching tree with Y = Y * . For clarity, in the following discussion we will use Y , D 0 , etc. for the current node and Y ′ , D ′ 0 , etc. for the considered child node in the branching tree.
Since we are not in a leaf in this case, the process chooses an arbitrary vertex p ∈ D \ (D 0 ∪ D 1 ) that is reachable from v in G − Z to branch on. If p ∈ D * 0 then the child node corresponding to adding p to D 0 has D ′ 0 = D 0 ∪{p} ⊆ D * 0 and D ′ 1 = D 1 . Thus, Z ′ = Z and, hence, Y ′ = Y ⊇ Y * . Thus, the child node fulfills all requirements; a contradiction.
Thus, the child node corresponding to adding p to D 1 has For the desired contradiction it remains to prove that Y ′ ⊇ Y * since we assumed that neither child fulfills the requirements.
Assume that Y * Y ′ . Thus, Y * ∩Y ′ Y * . We again use submodularity of the function f : 2 V → N : U → |N (U )| and get Since ; let us check that this violates the fact that ; a contradiction. Hence, by our choice of node that fulfills the requirements and is a leaf or neither child fulfills the requirements, we must obtain a leaf with set Y equal to Y * .
Number of leaves containing some Y * ∈ Y. We have seen that every set Y * ∈ Y is equal to the set Y of some leaf node fulfilling certain requirements. Furthermore, leaves with |D 0 | > d 3 or |Z| > d were shown not to correspond to any Y ∈ Y. We will now analyze the number of leaf nodes with |D 0 | ≤ d 3 and |Z| ≤ d.
Crucially, we show that each branching increases |D 0 |+|Z|. For adding p to D 0 this is obvious, for adding p to D 1 we prove this next. Concretely, we prove that adding p to D 1 increases the minimum size of v, D 1 -separators by at least one. (This is essentially folklore but we provide a proof for completeness.) Use D ′ 1 = D 1 ∪ {p} and let Z and Z ′ denote minimum v, D 1and v, D ′ 1 -separators closest to v; use Y and Y ′ for the components of v in G − Z and G − Z ′ , respectively. We use again the submodular function Both Z and Z ′ separate v from D 1 . Thus, is also a v, D 1 -separator of size at most |Z|. However, as this is a contradiction to Z being closest to v. As a consequence, the size of closest, minimum v, D 1 -separators increases whenever we branch into adding a so far reachable vertex to D 1 .
Thus, every child node has |D ′ 0 | + |Z ′ | ≥ |D 0 | + |Z| + 1 and, clearly, neither value decreases when branching. Thus, the process can only reach leaf nodes with |D 0 | ≤ d 3 and |Z| ≤ d via internal nodes where |D 0 | + |Z| ≤ d 3 + d. It follows that the number of such leaf nodes is upper bounded by |D| · 2 d 3 +d ≤ d 2 k · 2 d 3 +d . (Once |D 0 | ≥ d 3 or |Z| ≥ d at most one child node can lead to such a leaf, since the other child violates the restriction on |D 0 | or |Z|; these branches are not counted.) Thus, |Y| ≤ d 2 k · 2 d 3 +d , as claimed.
Reducing the size of sets in Y. In this part, we explain and prove how to reduce the size of sets Y ∈ Y through modifications on the graph G. At a high level, this will be achieved by replacing subgraphs G[Y ] by "equivalent" subgraphs of bounded size. When this is done, we know that the total number of vertices in sets Y ∈ Y is O(k). Since this part is somewhat technical and long, let us try to illustrate it first.
Consider a set Y ∈ Y and its (small) neighborhood Z := N G (Y ). Think of deciding whether (G, φ, k) is yes as a game between two players, Alice and Bob. Alice sees G[Y ∪ Z] and wants to satisfy the demands of all vertices in Y , and Bob sees G − Y and wants to satisfy the demands of the vertices in V \ Y . To achieve a small solution the players must cooperate and exchange information about paths between vertices in Z, or between Z and vertices of a partial solution, that they can provide or that they require.
Since our goal is to simplify G[Y ], all notation is given using Alice's perspective. Crucially, we know that there are only constantly many nonzero demand vertices in Y , which can be seen to imply that the intersection of optimal solutions with Y is bounded (Lemma 10). Thus, Alice can try all partial solutions S Y ⊆ Y of bounded size and determine what facilities each S Y provides for Bob, and what requirements she has on Bob to satisfy her demand vertices using S Y and further paths through G − Y .
Let us be slightly more concrete about facilities and requirements, before making them fully formal. If we fix some partial solution S Y ⊆ Y then Alice can offer (as facilities) to Bob to connect some subsets of Z to S Y by disjoint paths in G[Y ∪ Z], and to, additionally, provide paths connecting certain pairs of vertices in Z. There can be a large number of such options for each S Y . Similarly, to fulfill demands in Y , Alice may need (as requirements) that Bob can provide paths from certain subsets of Z to a solution and, additionally, paths connecting pairs of vertices in Z. (Note that there is some asymmetry here since Bob's part is too large to fully analyze, but this will be no problem.) Fortunately, while there may be many choices for S Y , and many facilities and requirements relative to a single S Y , it will turn out that the overall number of things to keep track of is bounded (in d); this will be called the signature of G[Y ∪ Z]. Ultimately, we will be able to replace G[Y ∪ Z] by a bounded-size graph G[Y ′ ∪ Z] with the same signature.
Let us now make this approach formal. In the following, let G and φ represent the graph and demand function of an instance of vector d-connectivity(k). To decrease the necessary notation we also fix a set Y ⊆ V (G) such that |Y ∩ D| ≤ d 3 and |N (Y )| ≤ d. (In the kernelization procedure, the role of Y will be assumed by some set in Y.) We denote the neighborhood N (Y ) by Z. The edges in G[Z] will be administered by Bob. Hence, Alice will play on G[Y ∪ Z] − E(G[Z]); this is a somewhat arbitrary choice. As a shorthand, we use G Z for G − E(G[Z]).
We will first take care of the requirements that Alice has. The facilities will be treated later. As mentioned above, a requirement comprises several sets of paths outside of G[Y ] one set of which needs to be provided by Bob (and his part of the solution) in order to satisfy the demand of a vertex v ∈ D ∩ Y . To this end, we define a satisfying connector. In the following, all paths contain at least one edge.
Definition 3 (Satisfying connector). Let H be a graph on vertex set Y ⊎ Z such that Z is independent in H, let v ∈ Y , let d v = 0 be a positive integer, and let S Y ⊆ Y be a partial solution. 3 We define a satisfying connector of v with respect to S Y as a tuple (T, F ) consisting of a vertex set T and an edge set F ⊆ Z 2 . Tuple (T, F ) is a satisfying connector for v if in H, after adding the edges F , there are d v vertex-disjoint paths from v to S Y ∪T . The set of all satisfying connectors of v with demand d v is denoted by Sat(H, Z, d v , S Y , v). Now we can formally define the requirement of Alice. Intuitively, Bob should provide paths that "hit" all the sets of satisfying connectors.
Definition 4 (Requirement). Let H be a graph on vertex set Y ⊎ Z such that Z is independent in H, let φ be a demand function on Y , and let S Y ⊆ Y be a partial solution. The requirement Req(H, Z, φ, S Y ) is the collec- Let us show that, the demand of each vertex in D(φ) ∩ Y can be met if and only if the requirement of Alice is met by suitable paths provided by Bob.
such that 2. there are |T \ S| + |F | paths in G − Y with no internal vertices from Z that can be partitioned into a set P 1 of |T \ S| pairwise vertex-disjoint paths that run between T \ S and S \ (Z ∪ Y ), and a set P 2 of |F | paths that yield F when, for each of them, contracting all but one of its edges. Furthermore, the inner vertices of each path in P 2 need to be disjoint to the inner vertices of every other path in P 1 ∪ P 2 .
Proof. "⇐": Assume that (T, , such that sets P 1 and P 2 of paths exist as described above. By the definition of satisfying connector, there is a set Append to each path in P that ends in T \ S a path in P 1 from the corresponding vertex in T \ S to a vertex in S \ (Z ∪ Y ). Since the paths in P 1 are contained in G − (Y ∪ (Z \ T )) and they are pairwise vertexdisjoint, the resulting set P of walks is indeed a set of φ(v) vertex-disjoint paths in G + F . Furthermore, every path in P now has one endpoint in v and one in S. (Note that some paths may end in T ∩ S.) Next, replace each edge e ∈ F used in a path in P by the corresponding path in P 2 that yields e when contracting all but one of its edges. Since the inner vertices of all paths in P 2 do intersect neither Y nor the inner vertices of any other path in P 1 ∪ P 2 , the paths in P are pairwise vertex-disjoint. Hence, after the replacement we obtain φ(v) pairwise vertex-disjoint paths between v and S in G. "⇒": Let P be a set of φ(v) paths from v to S of shortest possible total length. Note that no path in P contains a vertex u ∈ S as an inner vertex since otherwise we may shortcut this path so that u is an endpoint. We construct a satisfying connector (T, F ) for v. Consider the paths in P and their maximal subpaths in G − Y that do not contain any vertex from Z as an inner vertex. There are two possible types of such subpaths (containing at least one edge): a set P 2 of paths that start and end in Z, and a set P 1 of paths that start in Z and end in S \ (Z ∪ Y ). Let us define T as the union of S ∩Z and the set T ′ of endpoints of paths in P 1 that are also in Z, and let us define F as the set of edges in Z 2 obtained by contracting all but one edge in each path in P 2 . We claim that (T, and P 1 and P 2 are the sets of paths required in statement 2 of the lemma. Let us first prove the second part of the claim. Clearly, the inner vertices of the paths in P 1 ∪ P 2 are disjoint to Z. Note that T ′ does not contain any vertex of S; otherwise there was a path in P 1 that contains two vertices of S which is a contradiction to our choice of P. Hence, there are |T ′ | = |T \ S| paths in P 1 . The set P 2 of paths contracts to F per definition and hence, |F | = |P 2 |. It remains to show the disjointness of their vertex (sub)sets. First, since the paths in P are pairwise vertex-disjoint, the inner vertices of paths in P 1 ∪ P 2 are also pairwise disjoint. Furthermore, no two paths in P 1 share an endpoint in Z since otherwise, P contains a path with two endpoints in S which is absurd.
It remains to show that (T, We claim that modifying P as follows yields a set of paths that witness that (T, F ) is the desired satisfying connector. We first contract all edges that occur in paths in P 1 and then, for each path in P 2 , we contract all but one edge. Note that, as v ∈ Y and all contracted edges are not contained in Y ∪ Z, we obtain φ(v) vertex-disjoint paths. Moreover, these paths are contained in G Z [Y ∪ Z] + F . Finally, each path either still has an endpoint in S ∩ Y = S Y , it still has an endpoint in S ∩ Z, or it now ends at an endpoint of a path in P 1 ; hence, the paths run from v to S Y ∪ (S ∩ Z) ∪ T ′ = S Y ∪ T , as required.
Note that, in order to be able to replace G[Y ] by a different graph, we need to know which requirements it imposes for any relevant choice of the partial solution S Y . Since we are aiming for a polynomial-time kernelization, we also need to be able to compute them in polynomial time. For this, we first bound the size of S Y .
Lemma 10. For each vector connectivity set S of (G, φ), there is a vector connectivity set S ′ such that |S ′ | ≤ |S| and such that |Y ∩ S ′ | ≤ d 3 + d. We are ready to compute the requirements. So far we have only talked about the requirements that Alice has on Bob. Now let us come to the facilities that Alice provides. As mentioned, a facility models the sets of paths inside of G[Y ] that Alice, using her part of the solution, provides to Bob so to satisfy the demand of each vertex in D \ Y . Let us first focus on vertices in D \ (Y ∪ Z).
Definition 5 (Provided connector). Let H be a graph on vertex set Y ⊎ Z such that Z is independent in H, and let S Y ⊆ Y be a partial solution. A provided connector of S Y in H is a tuple (T, F ) consisting of a vertex set T ⊆ Z, and an edge set F ⊆ Z 2 . Tuple (T, F ) is a provided connector if there are |T | + |F | paths in H that contain no vertices of Z as inner vertices and that can be partitioned into |T | paths P 1 from T to S Y that are pairwise vertex-disjoint and |F | paths P 2 such that, for each of these, contracting all but one of its edges yields exactly F . Furthermore, the inner vertices of each path in P 2 need to be disjoint to the inner vertices of any other path in P 1 ∪ P 2 .
We now prove that all demands of vertices in D \ (Y ∪ Z) can be met if and only if Alice provides suitable paths to Bob. The proof is similar to Lemma 9 where the roles of Alice and Bob are reversed. However, note that Bob has the edges of G[Z] at his disposal and also knows the vertices in S ∩ Z, which imposes subtle differences.
Proof. "⇐": Let P 1 and P 2 denote the sets of paths guaranteed by the provided connector and let P ′ denote the set of paths guaranteed by statement 2 of the lemma. Then append to each path in P ′ that ends in T a path in P 1 from the corresponding vertex in T to S Y . Since the paths in P 1 do not contain vertices from Z as inner vertices and are pairwise vertex-disjoint, the resulting set of walks P ′ is indeed a set of pairwise vertex-disjoint paths in G + F . Next, replace all edges e ∈ F used in a path of P ′ by the path in P 2 that contracts to e. Since the inner vertices of paths in P 2 are disjoint to those of paths in P 1 and paths in P 2 do not contain any vertices from Z as inner vertices, the replacement results in a set of φ(v) vertex-disjoint paths from v to S in G.
"⇒": Assume that there is a set P of φ(v) vertex-disjoint paths from v to S in G. Consider the set P ′ of maximal subpaths of P in G Z [Y ∪ Z] that do not contain any vertex from Z as an inner vertex. There are two possible types of paths in P ′ : a set P ′ 2 of paths that start and end in Z and a set P ′ 1 of paths that start in Z and end in S Y ⊆ Y . We claim that these two sets of paths witness that (T, F ) is a provided connector, where T is the set of endpoints in Z of the paths in P ′ 1 and F is the set of edges obtained by contracting all but one edge in each path in P ′ 2 . Clearly, the paths in P ′ 1 ∪P ′ 2 are in G Z [Y ∪ Z] and they do not contain vertices from Z as inner vertices. It remains to show the disjointness of their vertex (sub)sets. First, note that the paths in P ′ 1 are pairwise vertex-disjoint, since otherwise, there was a path from a vertex in S Y to another vertex in S Y in P ′ which is absurd. Furthermore, the inner vertices of any path in P ′ 2 do not intersect with the inner vertices of any other path in P ′ 1 ∪ P ′ 2 because that would mean that the paths in P ′ are not pairwise vertex-disjoint. (The endpoints of paths in P ′ 2 may overlap with the endpoints of other paths, however.) This proves that (T, F ) is a provided connector. Now, for each path in P ′ 2 contract all but one edge in the corresponding path in P and remove the vertices of the paths in P ′ 1 , except the vertices in T . This yields the set of paths claimed to exist in statement 2.
We take special care of vertices in D ∩ Z, as they may need multiple paths into G[Y ].
Definition 6 (Provided special connector). Let H be a graph on vertex set Y ⊎ Z such that Z is independent in H, and let S Y ⊆ Y be a partial solution. A provided special connector of S Y in H is a tuple (z, i, T, F ) of the form z ∈ Z, i ∈ {0, 1, . . . , d}, T ⊆ Z \ {z}, and F ⊆ Z 2 . A tuple (z, i, T, F ) is a provided special connector if there are i + |T | + |F | paths in H that can be partitioned into i paths P 1 from z to S Y , |T | paths P 2 from T to S Y , and |F | paths P 3 such that, for each of these, contracting all but one of its edges yields exactly F . Furthermore, none of these paths may contain vertices from Z as inner vertices, the paths in P 1 ∪ P 2 need to be pairwise vertex-disjoint except for z, and the inner vertices of each path in P 3 may not intersect with the inner vertices of any path in P 1 ∪ P 2 .
Lemma 13. Let z ∈ D ∩ Z, and let S ⊆ V (G) with S ∩ Y = S Y . There are φ(z) vertex-disjoint paths from z to S in G if and only if The proof is analogous to the proof of Lemma 12 and we omit it. We are now ready to give a formal definition of the facilities provided by Alice.
Definition 7 (Facility). Let H be a graph on vertex set Y ⊎ Z such that Z is independent in H, and let S Y ⊆ Y be a partial solution. The facility Fac(H, Z, S Y ) of S Y in H is the set of all provided connectors and provided special connectors of S Y .
Similarly to requirements, we need an efficient algorithm for computing the facilities.
time and, for each such S Y , we compute all provided connectors and provided special connectors. This is done by iterating over all possible tuples (T, F ) and (z, i, T, F ) (there are at most 2d 2 · 2 d · 2 d 2 ∈ O(1) of them) and checking whether they indeed are provided (special) connectors. This is done mainly by using Robertson and Seymour's O(|V (G)| 3 )-time algorithm for deciding whether for a fixed number of given pairs in V (G) 2 there are pairwise vertex-disjoint paths joining the pairs [23]. Let us focus on provided special connectors as the case of ordinary provided connectors is simpler. To decide whether a given tuple (z, i, T, F ) is a provided special connector, we introduce i − 1 copies z 1 , . . . , z i−1 of z into G Z [Y ∪ Z] (adjacent to all neighbors of z). Furthermore, for each edge e = {p, q} ∈ F ⊆ Z 2 we add "private" copies p e , q e of p, q and replace e in F by {p e , q e }. We delete all vertices of Z that are not in F ∪ {z, z 1 , . . . , z i−1 } from the graph, in order to avoid their appearance as internal vertices of paths. Then, for all size-(i + |T |) matchings M of S Y on the one hand, and z, z 1 , . . . , z i−1 and T on the other hand, we test whether the pairs M ∪ F have pairwise vertexdisjoint paths joining them using Robertson and Seymour's algorithm. We have |M ∪ F | ≤ 2d + d 2 ∈ O(1), and there are at most (d 3 + d) 2d ∈ O(1) matchings M . Thus, the overall procedure runs in polynomial time. Now we can precisely define the signature of G[Y ∪ Z] that we mentioned earlier.
Definition 8 (Signature). Let H be a graph on vertex set Y ⊎Z such that Z is independent in H, let φ be a demand function on Y , and let S Y ⊆ Y be a partial solution. The signature of H is the set We claim that we can replace G Z [Y ∪ Z] with any graph G ′ [Y ′ ∪ Z] that has the same signature and that there is a graph G ′ [Y ′ ∪ Z] of constant size with the same signature.
Lemma 15. There is a polynomial-time algorithm that receives G Z [Y ∪ Z], Y and φ| Y as input and computes a graph G ′ on vertex set Y ′ ∪ Z such that Z is independent in G ′ and a demand function φ ′ : Moreover, the resulting G ′ and φ ′ are encoded using at most f (d) bits and G ′ has at most f (d) vertices, for some computable function f depending only on d.
Proof. The algorithm is as follows. First, compute Sig(G Z [Y ∪ Z], Z, φ| Y ) in polynomial time using Lemmas 11 and 14. Then, generate all graphs containing Z as an independent set in the order of increasing number of vertices (break the remaining ties arbitrarily). For each graph G ′ , iterate over all possible φ ′ : V (G ′ )\Z → {0, . . . , d} and check whether Clearly, this procedure terminates and finds the required tuple (G ′ , φ ′ ), because (G Z [Y ∪ Z], φ| Y ) witnesses its existence.
Without loss of generality, we may assume Z = {1, . . . , |Z|}. Now note that both requirements and facilities contain only set systems and tuples of elements of Z, and numbers in {1, . . . , can be encoded using at most g(|Z|) ≤ g(d) bits, where g is some monotone ascending, computable function. Thus, since Sig(G Z [Y ∪ Z], Z, φ| Y ) is the only input to the procedure that finds G ′ and φ ′ , the procedure terminates after at most f ′ (g(d)) steps for some computable function f ′ , meaning that (G ′ , φ ′ ) is of size at most f ′ (g(d)). Now we can make the notion of replacing G[Y ] more precise; it involves an operation commonly referred to as glueing of graphs.
Definition 9 (Glueing). Let G 1 , G 2 be two graphs, both containing Z as a subset of their vertices. Glueing G 1 and G 2 on Z results in a graph denoted by are treated as being disjoint except for Z.
We arrive at the reduction rule aiming at reducing the size of Y .
Reduction Rule 3. Let (G, φ, k) be an instance of vector d-connectivity(k) that is reduced with respect to Reduction Rules 1 and 2. Let Y ∈ Y, where Y is as in Definition 2, and let Z = N G (Y ). Furthermore, let (G ′ , φ ′ ) be as in Lemma 15. If |Y | > |V (G ′ ) \ Z|, then replace G by G ′ ⊕ Z (G − Y ) and replace φ by φ ′′ : Lemma 16. Rule 3 is safe.
Proof. We claim that an even stronger statement holds. Namely, let G 1 , G 2 ,Ĝ be three graphs, each containing Z as a vertex subset, where |Z| ≤ d and Z is independent in G 1 and G 2 . Furthermore, let φ 1 : V (G 1 ) \ Z → {0, . . . , d}, φ 2 : V (G 2 ) \ Z → {0, . . . , d}, and φĜ : V (Ĝ) → {0, . . . , d} be three demand functions, such that |D(G 1 , φ 1 )|, |D(G 2 , φ 2 )| ≤ d 3 and such that Sig(G 1 , Z, φ 1 ) = Sig(G 2 , Z, φ 2 ). Then G 1 ⊕ ZĜ has a vector connectivity set of size k with respect to φ 1 ∪ φĜ if and only if G 2 ⊕ ZĜ has a vector connectivity set of size k with respect to φ 2 ∪ φĜ. Below we only glue on Z, so we will omit the index Z in the ⊕ operation. each Y until we find a replacement subgraph that is strictly smaller; in total this takes polynomial time. Furthermore, repeating these steps whenever Rule 3 has been applied gives only a polynomial factor because each time the instance shrinks by at least one vertex. Finally, it is easy to implement the torso operation in polynomial time.

Kernelization lower bound
In this section, we prove that vector connectivity(k) admits no polynomial kernelization unless NP ⊆ coNP/poly. We give a reduction from hitting set(m), i.e., hitting set with parameter number of sets, which also makes a polynomial Turing kernelization unlikely (cf. [14]). Since demands greater than k+1 can be safely replaced by demand k+1, implying d ≤ k+1, the lower bound applies also to parameterization by d + k.
Theorem 4. vector connectivity(k) does not admit a polynomial kernelization unless NP ⊆ coNP/poly and the polynomial hierarchy collapses.
Proof. We give a polynomial parameter transformation from hitting set(m) to vector connectivity(k), which is known to imply the claimed lower bound (cf. [3]). Let (U, F, k) be an instance of hitting set(m) with parameter m = |F|; w.l.o.g. k ≤ m. Let n := |U |. We construct a graph G on 2(k + 1)m + n vertices that has a vector connectivity set of size at most k ′ = (k + 1)m + k = O(m 2 ) if and only if (U, F, k) is yes for hitting set(m).
Construction. Make one vertex x u for each element u ∈ U , and make 2(k + 1) vertices y 1,F , . . . , y k+1,F , y ′ 1,F , . . . , y ′ k+1,F for each set F ∈ F. We add the following edges: at most k vertices in S are not y ′ -vertices, we can choose i ∈ {1, . . . , k + 1} such that S does not contain y i,F . Consider the set C consisting of all y-vertices other than y i,F as well as the vertex y ′ i,F . In G − C we find a connected component containing y i,F and all x u with u ∈ F but no further vertices. Crucially, all other neighbors of y i,F are y ′ i,F and all y-vertices, and x-vertices only have y-vertices as neighbors. By assumption S contains no vertex of this connected component. This yields a contradiction cause C is of size (k + 1)m and separates y i,F from S, but since S is a solution with y i,F / ∈ S there should be (k + 1)m + 1 disjoint paths from y i,F to S. Thus, S must contain some x u with u ∈ F , and then T ∩ F = ∅. Now, assume that (U, F, k) is yes for hitting set(m) and let T a hitting set of size at most k for F. We create a vector connectivity set S by selecting all x u with u ∈ T as well as all y ′ -vertices; thus |S| ≤ k ′ = (k + 1)m + k. Clearly, this satisfies all y ′ -vertices. Consider any vertex y i,F and recall that its demand is φ(y i,F ) = (k + 1)m + 1. We know that S contains at least one vertex x u with u ∈ F that is adjacent to y i,F . Thus, we can find the required (k + 1)m + 1 disjoint paths from y i,F to S: • We have one path (y i,F , y ′ i,F ) and one path (y i,F , x u ). • For all (j, F ′ ) = (i, F ) we get one path (y i,F , y j,F , y ′ j,F ); we get (k + 1)m − 1 paths total.
It follows that (G, φ, k ′ ) is yes for vector connectivity(k).
We have given a polynomial parameter transformation from hitting set(m), which is known not to admit a polynomial kernelization unless NP ⊆ coNP/poly [10] (see also [14]). This is known to imply the same lower bound for vector connectivity(k) [3].

Conclusion
We have presented kernelization and approximation results for vector connectivity and vector d-connectivity. The centerpiece of our results is a reduction rule that reduces the number of vertices with nonzero demand to at most d 2 opt (or, similarly, to at most opt 3 +opt or k 3 +k). Since the set of nonzero demand vertices always constitutes a feasible solution, the approximation results follow directly. For vector d-connectivity we get a constant factor of d 2 . For the special case of all demands being either 0 or d the approximation factor improves to (2d − 1); this is still NP-hard when d ≥ 4 from vertex cover (Milanič [20]). It would be interesting whether a ratio of O(d) can also be achieved for demands in {0, . . . , d}.
On the kernelization side we show that vector connectivity(k) does not admit a polynomial kernelization unless NP ⊆ coNP/poly. Since demands greater than k + 1 can be safely replaced by demand k + 1 (because they cannot be fulfilled without putting the vertex into the solution) the lower bound extends also to parameter k + d. For vector d-connectivity(k), where d is a problem-specific constant, we get a vertex-linear kernelization with at most f (d) · k = O(k) vertices; the computable function f (d) is superpolynomial in d, which is necessary (unless NP ⊆ coNP/poly) due to the lower bound for d + k. We do not optimize the dependence on d and ask whether single exponential dependence on d is possible.
Finally, the reduction to k 3 + k nonzero demand vertices allows an alternative proof for fixed-parameter tractability. We have sketched how to use an algorithm of Marx [18] that permits us to find a set of size k that is independent in each of ℓ linear matroids in time FPT with respect to k + ℓ to find a vector connectivity set for (G, φ, k) if one exists.