Sparse graphs and an augmentation problem

For two integers k>0\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$k>0$$\end{document} and ℓ\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell $$\end{document}, a graph G=(V,E)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$G=(V,E)$$\end{document} is called (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-tight if |E|=k|V|-ℓ\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$|E|=k|V|-\ell $$\end{document} and iG(X)≤k|X|-ℓ\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_G(X)\le k|X|-\ell $$\end{document} for each X⊆V\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\subseteq V$$\end{document} for which iG(X)≥1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_G(X)\ge 1$$\end{document}, where iG(X)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_G(X)$$\end{document} denotes the number of induced edges by X. G is called (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-redundant if G-e\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$G-e$$\end{document} has a spanning (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-tight subgraph for all e∈E\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$e\in E$$\end{document}. We consider the following augmentation problem. Given a graph G=(V,E)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$G=(V,E)$$\end{document} that has a (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-tight spanning subgraph, find a graph H=(V,F)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$H=(V,F)$$\end{document} with the minimum number of edges, such that G∪H\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$G\cup H$$\end{document} is (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-redundant. We give a polynomial algorithm and a min-max theorem for this augmentation problem when the input is (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-tight. For general inputs, we give a polynomial algorithm when k≥ℓ\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$k\ge \ell $$\end{document} and show the NP-hardness of the problem when k<ℓ\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$k<\ell $$\end{document}. Since (k,ℓ)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(k,\ell )$$\end{document}-tight graphs play an important role in rigidity theory, these algorithms can be used to make several types of rigid frameworks redundantly rigid by adding a smallest set of new bars.

i G (X ) > 0, where i G (X) denotes the number of edges of G induced by X ⊆ V . A (k, )-sparse graph is called (k, )-tight if |E| = k|V | − . A graph G is called (k, )-rigid if G has a (k, )-tight spanning subgraph. We call an edge e of G a (k, )redundant edge if G − e is (k, )-rigid. A graph G is a (k, )-redundant graph if each edge of G is (k, )-redundant. We consider the following problem that we call the general (augmentation) problem.
Problem Let k and be integers with k > 0 and < 2k and let G = (V , E) be a (k, )-rigid graph. Find a graph H = (V , F) on the same vertex set with minimum number of edges, such that G ∪ H = (V , E ∪ F) is (k, )-redundant.
We call the special case of this problem, where the input graph G is (k, )-tight, the reduced (augmentation) problem. In this paper, we give a min-max theorem and an O(|V | 2 ) time algorithm for the reduced problem for each pair of k and . We also show how this algorithm can be extended to solve the general problem in the same running time when ≤ k. In contrast, we show that the general problem is NP-hard whenever > k.
Sparsity properties are important in rigidity theory as they can be used in the characterization of many rigidity classes. For example, the generically rigid graphs in R 2 are exactly the (2, 3)-rigid graphs by the fundamental theorems of Pollaczek-Geiringer [24] and Laman [18]. The 'body-bar graph' induced by a given graph G is generically rigid in R d if and only if G is d+1 2 , d+1 2 -rigid by Tay's theorem [26]. Note that G is (k, k)-rigid if and only if G contains k edge-disjoint spanning trees by the fundamental result of Nash-Williams [22].
Besides the effect of redundancy, redundant rigidity is an important concept in rigidity theory since variants of Hendrickson's result [9] show that redundant rigidity is often a necessary condition for 'global rigidity' which plays a crucial role in many applications [1,28,29]. Furthermore, in some cases, for example for 'body-bar graphs' (see [3]), redundant rigidity is also a sufficient condition for global rigidity. It is thus natural to ask how many new edges are needed to make a rigid graph redundantly rigid.
There are special pairs of k and for which these problems were already investigated. The general problem for (1, 1)-rigid graphs is a special case of the well-studied 2-edge-connectivity augmentation problem solved by Eswaran and Tarjan [4]. The general problem for k = was solved by Frank and T. Király [7] who gave a polynomial algorithm to augment an arbitrary graph to an h-times (k, k)-redundant graph using polyhedral techniques (where h-times (k, k)-redundant means that it remains (k, k)-rigid after deleting any set of its edges of cardinality h). The algorithm, that will be presented here, is a more efficient solution for this problem, however, it does not deal with the case of h ≥ 2 and also the (k, k)-rigidity of the input is needed. García and Tejel [8] showed that the general problem is NP-hard for (2, 3)-rigid graphs but can be solved in polynomial time for (2, 3)-tight graphs. We use similar techniques to [8], however, our method is based on a new min-max theorem for the reduced problem, as follows.
For a (k, )-tight graph G = (V , E), we call a set of vertices ∅ = C V (k, )co-tight in G if the complement of C induces a (k, )-tight subgraph of G. We will Fig. 1 The solid edges form a (3, 4)-tight graph G. The three highlighted sets are pairwise disjoint (3, 4)co-tight sets in G, hence no single edge augments G to a (3, 4)-redundant graph by Theorem 1.1. However, it is easy to check that the addition of the two edges uv and ux makes all edges of G (3, 4)-redundant, and hence this gives rise to an optimal solution of the reduced problem on G. For example, after the addition of the dashed edge ux we get a (3, 4)-rigid graph where ux and the bold edges are the only (3, 4)-redundant edges see that it is possible that there is no (k, )-co-tight set in G in which case G + uv is (k, )-redundant for any u, v ∈ V . Our main result is the following min-max theorem which is illustrated by Fig. 1. To obtain the solution for the general problem by using the reduced problem when k ≥ , we need more general concepts. The idea of our method comes from Jackson and Jordán [10] who proved that the (k, k)-redundant edges of a (k, k)-rigid graphḠ form induced subgraphs ofḠ with disjoint vertex sets. If we contract these subgraphs into single vertices one can show that the resulting graph is (k, k)-tight for which we can use the algorithm of the reduced problem. In order to extend this idea for < k, we need the following generalization of sparsity. Let ∈ Z and m : V → Z + be a map where Z + denotes the set of non-negative integers. A graph G = (V , E) is called (m, )-sparse if i G (X ) ≤ m(X ) − holds for every X ⊆ V for which m(X ) − ≥ 0 and i G (X ) = 0 otherwise, where m(X ) := v∈X m(v). Observe that each subgraph of an (m, )-sparse graph is (m, )-sparse. To ensure that the condition m(X ) − ≥ 0 holds (usually with strict inequality) for each set X ⊆ V with |X | ≥ 2, we take the following assumption throughout this paper.
Note that, when m ≡ k, an (m, )-sparse graph is (k, )-sparse and (A0) holds by our assumption that < 2k. (m, )-tight/rigid/redundant graphs and (m, )-co-tight sets can be defined by extending the definitions of (k, )-tight/rigid/redundant graphs and (k, )-co-tight sets similarly. For simplicity, we call a set X ⊆ V (m, )-tight ((k, )-tight, respectively) in G if G[X ] is (m, )-tight ((k, )-tight, respectively). Here G[X] denotes the subgraph of G induced by X for X ⊆ V . Note that (A0) implies that each (m, )-tight set X in G of cardinality at least two induces at least one edge in G, except when = 0 and m(x) = 0 for each x ∈ X . When the pair (m, ) ((k, ), respectively) is clear from the context we may omit the prefix (m, ) ((k, ), respectively) from the notions above.
We will see in Sect. 3 that, after using the above contraction idea for (k, )-rigid graphs with k > , the resulting graph G = (V , E ) on which we need to solve the reduced problem is (m , )-tight for some m : V → Z + and ∈ Z for which (A0) holds. Hence we will prove an extension of Theorem 1.1 for (m, )-tight graphs in Sect. 5 and we will give our algorithm for the reduced problem in Sect. 6 for (m, )-tight inputs.

Notation
All the graphs in this paper are multigraphs, that is, we allow parallel edges and loops. For simplicity, we do not distinguish graphs and their edge sets when it is clear from the context. Given a graph Also note that, in the usual definition of the degree, loop edges count twice for the degree of a vertex, however, we only count them once. We use N G (X) to denote the neighbor set of X ⊆ V , that is, N G (X ) = {v ∈ V − X : d G ({v}, X ) ≥ 1}, and G/X to denote the graph arising from G by contracting X into a single vertex and deleting all the edges spanned by X . We can similarly define D/X for a directed graph D. If G 1 and G 2 are graphs, then G 1 ⊆ G 2 denote that G 1 is a subgraph of G 2 . When it is clear from the context, we omit the subscript G from the notation.

Preliminaries
In this section, we list some basic properties of (m, )-sparse graphs. We sketch their proofs for completeness. It follows from the definition that an (m, )-tight subgraph of an (m, )-sparse graph is always an induced subgraph. Therefore, if is also an induced subgraph of G. Moreover, with standard submodular techniques we can prove the following. Lemma 2.1 Let G = (V , E) be an (m, )-sparse graph, and let T 1 = (V 1 , E 1 ) and Note that the assumption on m(V 1 ∩ V 2 ) always holds when |V 1 ∩ V 2 | ≥ 2 by (A0), and also when ≤ 0 (since m ≥ 0).
− holds thus equality stands in all the above inequalities. This proves the statement.
The (m, )-tight graphs have the following connectivity property.
Proof Note that v cannot induce any loop by the (m, )-sparsity condition. Hence the It is known that the edge sets of the (m, )-sparse subgraphs of a given graph form a matroid, called the (m, )-sparsity matroid or count matroid, which is a straightforward generalization of the well-known 2-dimensional rigidity matroid (see Frank [6,Sect. 13.5], Lorea [20], and Whiteley [27, Appendix A]). A circuit of this matroid is called an (m, )-circuit. By other words, a graph C is an (m, )-circuit if it is not (m, )-sparse and C − e is (m, )-sparse for every single edge e of C. It follows from matroid theory (see details in [6,Chapt. 5]) that for an (m, )-sparse graph G = (V , E) and i, j ∈ V for which G + i j is not (m, )-sparse, G + i j contains a unique (m, )-circuit C G (m, ) (i j). In this case, T G (m, ) (i j) consists of the single edge i j when m(i) = m( j) = = 0, and hence T G (m, ) (i j) consists of only two isolated vertices i and j in this case, however, this subgraph of G is (m, )-tight.) Let V G (m, ) (i j) denote the vertex set of T G (m, ) (i j). (Recall that we do not distinguish graphs and their edge sets, hence T G (m, ) (i j) may be used to denote both a subgraph and its edge set.) For every edge e of C G (m, ) (i j), is the following. It will be used several times in this paper.
Let R G (m, ) (i 1 j 1 , . . . , i r j r ) denote the subgraph of G = (V , E) induced by the edges of E which are (m, )-redundant in G ∪ {i 1 j 1 , . . . , i r j r } where i 1 , . . . , i r , j 1 , . . . , j r ∈ V . For the sake of simplicity, when the graph G or (m, ) is clear from the context, we will omit the superscript G or subscript (m, ), respectively, from all of the above notation. Note that R(i j) = T (i j) for any i, j ∈ V . (See Fig. 1 for an example, where the bold edges form R G (3,4) (ux) = T G (3,4) (ux).) The following lemma extends this simple fact by generalizing [8,Lemma 4] . As mentioned in the introduction, the main advantage of (m, )-tight graphs over (k, )-tight graphs is that an (m, )-tight graph remains (m , )-tight after contracting an (m, )-tight subgraph for some pair (m , ), as follows.

Lemma 2.5 Let G = (V , E) be an (m, )-tight graph. Suppose that T V is an (m, )-tight set in G. Let t be the new vertex that arises after contracting T in G. Let
:= max( , 0) and let m : Assume now t ∈ S ⊆ V (G/T ). By the (m , )-sparsity of G/T , the tightness of

Algorithmic preliminaries
To give a polynomial algorithm for our (general or reduced) augmentation problem, one first needs a polynomial algorithm for testing the (m, )-sparsity of a graph. Such an algorithm already exists for each pair of m and (see the works of Hendrickson, Jacobs and Thorpe [12,13] and Berg and Jordán [2] for the case where k = 2 and = 3, the paper of Lee and Streinu [19] for general k and ≥ 0, the book of Frank [6,Sect. 13.5.4] for the (m, ) case, and the note of the first author [17] for the case of < 0). All the above mentioned algorithms are based on in-degree constrained orientations (see [6,Lemma 13.5.9]).
We note that in the main applications of (k, )-sparse graphs k and are fixed constants thus we may assume the following condition.
We may also suppose that | | ≤ c.
We give the running time of our algorithms by assuming this condition. Observe that (*) implies that an (m, )-sparse graph on V has O(|V |) edges. For a directed graph D, let D (v) denote the in-degree of a vertex v. We shall use the algorithm provided by the following theorem (which can be constructed based on the algorithms in [6,17,19]) as a subroutine in our algorithms. 3 The reduction of the general problem García and Tejel [8] showed that the general augmentation problem is NP-hard for (2, 3)-rigid graphs by reducing it to the set cover problem. Based on their method we will prove in Sect. 7 the NP-hardness of the general problem whenever k < . In this section we show that, in any other case (that is, if ≤ k), there exists an O(|V | 2 ) time reduction from the general problem to the reduced problem that we shall solve in Sects. 5 and 6. Moreover, we give our reduction for all (m, )-rigid graphs for which m(v) ≥ for all v ∈ V (or m ≥ for the sake of brevity).
Throughout this section, letḠ = (V ,Ē) denote an (m, )-rigid graph with m ≥ and G = (V , E) denote an (m, )-tight spanning subgraph ofḠ. Obviously, every edge inĒ − E is (m, )-redundant inḠ. By Lemma 2.4, the (m, )-redundant edges of G inḠ are the edges of R G (Ē − E) = e∈Ē−E T G (e). Since m ≥ , these edges induce vertex disjoint (m, )-tight subgraphs in G by Lemmas 2.1 and 2.4. (Note that we have only one such subgraph which may be disconnected when ≤ 0, and these subgraphs are exactly the connected components of R G (Ē − E) when > 0.) By contracting each of these subgraphs to a single vertex and by defining as max( , 0) and m to be on each of the contracted vertices and to be m(v) on each non-contracted vertex v, we get the contracted graph G = (V , E ) along with the map m : V → Z + . Notice, that this contraction yields a natural surjective map, s : V → V . By using Lemma 2.5(a) for each contracted tight subgraph of G sequentially it is easy to see that G is (m , )-tight. We can state even more.
Conversely, if X ⊆ V induces an (m, )-tight subgraph of G, then s(X ) induces an (m , )-tight subgraph in V , and, when < 0, it contains the only contracted vertex (that is, the single element of V − V ).

Proof
The first statement follows directly by using Lemma 2.5 (b) for each contracted tight subgraph of G sequentially. For the second statement, let X * be the union of X and all the contracted components V i 's for which X ∩ V i = ∅. Then X * induces an (m, )-tight subgraph of G by Lemma 2.1 and s(X * ) = s(X ) is (m , )-tight by Lemma 2.5. (Note that if < 0, then X must intersect the single contracted component If the union of some (m, )-tight subgraphs of G contains every edge ofḠ which is not (m, )-redundant, then by Proposition 3.1 the union of corresponding (m , )tight subgraphs of G is G itself. Hence the minimum number of edges that we need to makeḠ (m, )-redundant is at least the minimum number of edges that we need to make G (m , )-redundant. The following statement shows that these two values are equal.

Preprocessing
Our goal is to provide a solution for the reduced problem for all (m, )-tight graphs, however, it is easier to formulate our results by assuming the following conditions (A) Assuming (A0) and (*) for m and , G = (V , E) is an (m, )-tight graph on at least four vertices such that either ≤ 0 or all of the following three conditions hold.
We note that these conditions automatically hold for (k, )-tight graphs with sufficiently many vertices, as in this case there is at least one vertex-pair u, v ∈ V that does not induce any edge.
When we consider (m, )-tight graphs, it is not hard to see by using our conditions (A0) and (*) that (A2) and (A3) hold for every (m, )-tight graph on at least c 2 + 2 vertices, where c is the constant in (*). Indeed, (A0) and > 0 (which holds when we need assumption (A2) and (A3)) imply that, if {u, v} is an (m, )-tight set in G, then it induces at least one edge, and hence the denial of (A2) (or (A3), respectively) contradicts the (m, )-sparsity of G (or the (m, )-tightness of G[V − v] and G, respectively). Note that since c is considered as a constant in our algorithms, the solution of the reduced problem on less than c 2 +2 vertices can be provided in constant time. When G violates (A1), we may delete its isolated vertices with m(v) = 0 and solve the reduced problem for the arising graph. It is easy to check that the solution of our augmentation problem on this reduced input is a solution of our original problem. As reduction can be done in O(|V | 2 ) running time, the assumption of (A) does not restrict the usability of our results for all (m, )-tight graphs.

The min-max theorem for the reduced problem
In this section we prove Theorem 1.1 and its extension for (m, )-tight graphs for which, throughout this whole section, we assume (A), including that G = (V , E) is an (m, )-tight graph on at least 4 vertices. The generalization of Theorem 1.1 for (m, )-tight graphs is the following.
Recall that we call a set of vertices Fig. 1 where the three highlighted sets {u}, {v}, and X are the (3, 4)-MCT sets of the graph G formed by the solid edges.) ) is also tight in G, contradicting the minimality of C.
Proof If an edge e is not incident with at least one vertex in a co-tight set C, then V (e) ⊆ V − C by Lemma 2.3. Thus no edge set that avoids C can augment G to (m, )-redundant by Lemma 2.4.
This observation immediately implies that min ≥ max in Theorem 5.1 since each co-tight set in C must contain an end-vertex of an edge of H .
We say that a set U covers a set family C, if |U ∩ C| ≥ 1 for every C ∈ C. Let us denote the family of all (m, )-MCT sets of G by C * from now on. Proof Let us suppose that there exists a tight set V V in G for which U ⊆ V . Then V − V is co-tight by definition, and hence there exists an MCT set C ∈ C * such that C ⊆ V − V . However, as U ⊂ V , this contradicts the assumption that |U ∩ C| ≥ 1 for every C ∈ C * . The 'only if' part of the second statement follows by the first one and the tightness of V (uv) u, v. The converse direction follows by Observation 5.3.
Note that it is possible that there are no co-tight sets in a graph G. For example, K 6 − e is (3, 4)-tight and there are no (3, 4)-co-tight sets in it. By Lemma 5.4, if there are no MCT sets in G then G + uv is (m, )-redundant for any pair u, v ∈ V which proves the last part of Theorem 5.1. Thus we may suppose that G contains at least one MCT set. We shall show that in this case min ≤ max also holds. This statement is obvious when the minimum is one since we assumed the existence of an MCT set in G. Hence we may assume that the minimum is at least two. We will show that, in this case, the maximum in Theorem 5.1 is obtained by C * . The following statement on the structure of MCT sets shows that the members of C * are pairwise disjoint. It is an extension of a result of Jordán [14,Theorem 3.9.13] that states the same for (2, 3)-MCT sets.

Theorem 5.5
The members of C * are either pairwise disjoint and |C * | ≥ 3 or there The proof of Theorem 5.5 requires more involved thoughts, hence we prove it separately in Sect. 5.1. Now, to finish the proof of Theorem 5.1, we need to show that G can be augmented to an (m, )-redundant graph by using a set of |C * | 2 edges when at least two edges are needed for the augmentation. Our plan is to add these new edges between the members of C * . By Theorem 5.5, we may suppose from now on that all the MCT sets of G are pairwise disjoint and |C * | ≥ 3. In this case the following stronger result also holds.

Lemma 5.6
Suppose that the members of C * are pairwise disjoint and |C * | ≥ 3. Let C, C ∈ C * . Then N (C) ∩ C = ∅.
Proof Suppose first that m(V −(C ∪C )) < (and > 0). In this case |V −(C ∪C )| ≤ 1 holds by (A0). V = C ∪ C since there exist at least three MCT sets. Therefore, are tight sets in G each of which must induce at least one edge incident with v by Lemma 2.2. Since V = C ∪ C ∪ {v} and |V | ≥ 4, at least one of C and C , say C, must contain at least 2 vertices. Hence d G [C∪{v}] (v) ≥ m(v) also follows by Lemma 2.2. But now the disjointness of C and C implies that On the other hand, if m(V − (C ∪ C )) ≥ (e.g. ≤ 0), then the statement follows by using Lemma 2.1 for As we have noted before, we plan to connect the members of C * by the new edges. Based on the above result, the following statement provides a useful property of the arising redundant subgraphs. (It can be illustrated again by Fig. 1, where the highlighted sets are (3, 4)-MCT sets in G and T (ux) is the subgraph formed by the bold edges.)

Lemma 5.7 Let C be an (m, )-MCT set in G and let u ∈ C and
Note that a transversal of C * can be easily constructed by taking one arbitrary element of each member of C * when the members of C * are pairwise disjoint. Next we show that any connected graph on a transversal of C * augments G to an (m, )-redundant graph, that is, |C * | − 1 edges are enough for the augmentation. Let yy ∈ F such that F − yy is connected. If y, y ∈ V (R(F − yy )), then by We may assume now that {y, y } V (R (F − yy )) and, by switching the role of y and y we may suppose that y ∈ V (F − yy ). Let y ∈ V (F − yy ) − y.  holds when > 0. Therefore, m(V (yy ) ∩ V (R(F − yy ))) ≥ m(C ∪ N (C)) ≥ always holds, and Lemma 2.
Let now T be the minimal tight subgraph of G which induces all elements of Y .
Finally, observe that Lemma 5.4 and the tightness of R(F) imply that, if F induces the whole set X (in particular, when it is a star on X ), then R(F) = G.
The cardinality of the edge set provided by Lemma 5.8 can be decreased by iteratively using the following statement.

Lemma 5.9
Suppose that the members of C * are pairwise disjoint and |C * | ≥ 4. Let y, x 1 , x 2 , x 3 be elements of distinct members of C * . Let T * = T (yx 1 Proof Let us suppose that T * = T (yx 1 ) ∪ T (x 2 x 3 ). Thus there exists an edge e for which e ∈ T * and e / ∈ T (yx 1 ) ∪ T (x 2 x 3 ). Lemmas 2.4 and 5.8 imply that T * is the minimal tight subgraph of G inducing all of y, x 1 , x 2 , and x 3 . However, they similarly imply that this statement also holds for , that is, these two graphs both are equal to T * . Since e ∈ T * and e / ∈ T (yx 1 ) ∪ T (x 2 x 3 ), we get e ∈ T (yx 3 ) and e ∈ T (x 1 x 2 ). (See Fig. 2.) is a tight subgraph of G inducing all of y, x 1 , x 2 , and x 3 , hence it must be equal to T * . (We note that if T * = T (yx 1

follows by a similar proof.)
This finally allows us to finish the proof of Theorem 5.1.
Proof (Proof of Theorem 5.1) As mentioned before, we only need to prove that max ≥ min holds. This is obvious when min = 1. Hence we may assume that at least 2 edges are needed for the augmentation. In this case, the members of C * are pairwise disjoint by Theorem 5.5 and we need to show that the augmentation can be done by using |C * | 2 edges. Let us denote a transversal of C * by X . For an arbitrary y ∈ X , let the edge set F 0 := {yx : x ∈ X − y}, and let H 0 = (V , F 0 ). By Lemma 5.8 G ∪ H 0 is redundant. Let us decrease the number of edges in H i (that is H 0 at the beginning). While there are at least three edges in H i that are incident with y, we can decrease the number of edges in H i and also the edges incident with y by Lemma 5.9 so that the arising graph H i+1 = (V , F i ) still augments G to an (m, )-redundant graph. We can repeat this until the degree of y is at most two and the degree of every other vertex is at most one in the final graph H = (V , F).
Before we prove Theorem 5.5, we show the connection between the results of this paper and the paper of García and Tejel [8]. We also use this result in the proof of the NP-hardness result in Sect. 7. Let us call an (m, Note that this result implies that 'classes of extreme vertices' defined in [8] are exactly the (2, 3)-MCT sets when no edge uv augments G to a (2, 3)-redundant graph.
Proof By Theorem 5.5, all the MCT sets of G are pairwise disjoint. Assume that T (uv) is an inclusion-wise maximal generated subgraph of G for some u, v ∈ V . Let {x 1 , . . . , x t } be a transversal of C * . By Lemma 5.8, by Lemmas 2.4 and 5.8. This means that one of the above three generated tight subgraphs, say T (x 1 x 2 ), contains both u and v thus V (uv) ⊆ V (x 1 x 2 ) by Lemma 2.3. Since T (uv) is inclusion-wise maximal equality must hold.
Let C 1 , C 2 ∈ C * such that x 1 ∈ C 1 and x 2 ∈ C 2 . Suppose that {u, v} ∩ C 1 = ∅. Note that V − C 1 is a tight set in G, and hence V (uv) is disjoint from C 1 , in particular . Therefore, with the same argument for C 2 , either u ∈ C 1 and v ∈ C 2 , or u ∈ C 2 and v ∈ C 1 .
It is clear that taking any element x of C 1 and any element y of C 2 the generated tight set T (x y) is the same by Lemmas 5.7, 5.6 and 2.3. On the other hand, if there are a, b ∈ V such that T (x y) ⊆ T (ab), then a ∈ C 1 and b ∈ C 2 or vice-versa by Observation 5.3. This proves that T (x y) is an inclusion-wise maximal generated subgraph of G.

Proof of Theorem 5.5
Recall that we assume (A) for our (m, )-tight graph G and C * denotes the family of all (m, )-MCT sets of G.

Lemma 5.11 If X and Y are two (m, )-MCT sets in G, such that X
Proof For the sake of contradiction, let us suppose that m(V − (X ∪ Y )) ≥ . V − X and V − Y are tight sets in G by the co-tightness of X and Y .
Note that Lemma 5.11 implies that all the MCT sets of G are pairwise disjoint when ≤ 0. Hence we only need to prove Theorem 5.5 for the case where > 0. In this case, we have two possibilities for intersecting MCT sets: their union may be equal to V or be of cardinality |V | − 1. As we will see, the latter possibility (which does not Given a ground set S, a family of its subsets is called a co-partition of S, if their complements form a partition of S.  Lemma 5.11. However, then both X ∪ Z and Y ∪ Z are equal to V − v by the same reasoning. Thus Z ⊇ (X − Y ) ∪ (Y − X ). This implies also that every two members of C * (v) are intersecting, and hence for every three members W 1 , W 2 , and W 3 of C * (v), W 3 ⊇ (W 1 − W 2 ) ∪ (W 2 − W 1 ) holds. Therefore, every vertex in V − v is avoided by at most one member of C * (v). If there exists a vertex u that is contained in every member of C * (v), then {u, v} covers C * contradicting Lemma 5.4 and T (uv) = G. Therefore, every vertex in V − v is avoided by exactly one member of C * (v), that is, This is the point where our proof gets more involved than that of [14, Theorem 3.9.13]. This is because the following lemma is quite complicated in the case of > 3 2 k. Otherwise we could state it in an even stronger form and the proof would come by a slightly different version of Lemma 2.1 easily.

Lemma 5.13 Suppose that > 0. Let v ∈ V be a vertex for which the family
Suppose that V is an (m, )-tight set in G with w 1 , w 2 ∈ V . Then either V = V or V = {w 1 , w 2 }. In particular, either V (w 1 w 2 ) = V (and T (w 1 w 2 ) = G) or V (w 1 w 2 ) = {w 1 , w 2 }.   We may now suppose that |V ∩ Z v | ≤ 1 for every Z ∈ C * (v). Let us consider the complement sets of the members of C * (v). V intersects at least two of them: Fig. 3 for an illustration.)

Claim 5.14 V intersects exactly two maximal tight sets containing
Proof Let us denote the family of maximal tight sets containing v by  intersecting Z , X ∪ Z = V holds by Claim 5.17. Since C * (v) is a co-partition of V − v and Z = V , Z cannot intersect any member of C * (v). Hence Z must be the singleton v. Therefore, V − v is tight and d G (v) = m(v).
As V − v is tight, (A3) implies that there exists a vertex u ∈ V − v such that V (uv) = {u, v}, that is, {u, v} is not tight. Let W 1 be the member of the co-partition C * (v) of V − v which does not contain this u. Since {u, v} is not tight and W 1 is a minimal co-tight set in G with u, v / ∈ W 1 , |V −W 1 | ≥ 3. Note that Lemma 5.11 implies that m(v) < and Lemma 5.2 implies that m(v) > 0. Hence Lemma 2.2 implies that Now we are ready to finish the proof of Theorem 5.5.

Proof of Theorem 5.5.
We have already seen that Lemma 5.11 implies the disjointness of the (m, )-MCT sets of G when ≤ 0. Hence it is enough to prove the statement when > 0. Let us suppose that there exists X , Y ∈ C * such that X ∩ Y = ∅. By Lemma 5.11, |X ∪ Y | ≥ |V | − 1 holds. According to Lemmas 5.12 and 5.16, either X ∪ Y = V holds or there exists a pair u, v ∈ V such that T (uv) = G. By the minimality of MCT sets, every member of C * − {X , Y } must contain at least one element of both of Lemmas 5.11,5.12,and 5.16 Let us take u ∈ X and v ∈ V − X . Then {u, v} covers C, and hence T (uv) = G by Lemma 5.4.
Note that it can be checked in polynomial time whether G + uv is (m, )-redundant for some pair u, v ∈ V . The naïve algorithm (which can be constructed from the algorithm of Theorem 2.6) has O(|V | 3 ) running time. In Sect. 6, we give a rather complex algorithm for this problem based on the above proof that has O(|V | 2 ) running time.

Algorithmic aspects
Our goal in this section is to show that the reduced augmentation problem can be solved in O(|V | 2 ) time (under the assumption (*)).
By Sect. 5, the MCT sets of G play an important role in the solution of the reduced problem. To give an algorithm that finds an MCT set, we need to use the following observation. For the proof of this lemma we shall use some notation from Sect. 5.

Proof
Observe that, whenever the algorithm returns a vertex, the output is a vertex c 1 ∈ C uv or c 2 ∈ C vc 1 where C uv and C vc 1 are MCT sets by Lemma 6.3. Also by Lemma 6.3, if Algorithm 6.5 returns an edge e after any execution of Algorithm 6.2, then T (e) = G holds thus we can stop. By Lemma 6.4, if it outputs an edge e in Step 3 or 7, then T (e) = G holds thus we can stop. If the Algorithm returns c 1 after Step 10, then it is easy to see that G cannot be augmented to a redundant graph with only one edge by Observation 5.3. Also if its output is given in Step 3 or 7, then this is correct due to Lemma 6.4 and Observation 5.3. Thus we only need to prove that if Algorithm 6.5 reaches Step 11, then one edge from v or c 1 augments G to an (m, )-redundant graph.
Assume that we reached Step 11. Then neither m(v) nor m(c 1 ) is the unique minimum of m and |C uv |, |C vc 1 | ≥ 2. Also notice that in this case > 0 according to Lemma 5.11.
Suppose first that C c 1 c 2 and C vc 1 are intersecting. C c 1 c 2 , C vc 1 ∈ C * (c 1 ) holds by their construction. By Lemma 5.12, there exists a vertex w ∈ V − c 1 such that T (wc 1 ) = G, or C * (c 1 ) forms a co-partition. Note that V −C uv is a tight set containing u, v and c 2 (which is in C vc 1 − C uv ). Moreover, |V − C uv | > 2 must hold since {u, v} is not tight in G as i({u, v}) < m(u) + m(v) − . Hence, if C * (c 1 ) forms a co-partition, then the tightness of V − C uv contradicts Lemma 5.13. Therefore, in this case there exists a vertex w ∈ V − c 1 such that T (wc 1 ) = G.
Suppose now that C c 1 c 2 ∩ C vc 1 = ∅. If C uv and C vc 1 are intersecting, then C uv , C vc 1 ∈ C * (v). Now Lemma 5.12 implies that there exists a vertex w ∈ V −v such that T (wv) = G, or C * (v) forms a co-partition. However, if C * (v) forms a co-partition, then, by Lemma 5.13, either T (c 1 c 2 ) = G or V − C c 1 c 2 = {c 1 , c 2 }, contradicting the assumptions that |C vc 1 | = 1 and C c 1 c 2 ∩ C vc 1 = ∅. Therefore, in this case there exists a vertex w ∈ V − v such that T (wv) = G.
If neither C c 1 c 2 and C vc 1 nor C uv and C vc 1 are intersecting, then C c 1 c 2 intersects C uv , and hence C c 1 c 2 contains every vertex in C vc 1 −c 2 by Lemma 5.11 since C uv ∩C vc 1 = ∅ and c 2 / ∈ C c 1 c 2 . Thus C c 1 c 2 intersects C vc 1 by |C vc 1 | > 1, a contradiction. This proves the correctness of Algorithm 6.5.
We can find appropriate vertices u and v for Step 1 by checking each 2-element vertex set in O(|V | 2 ) total time. As Algorithm 6.2 and checking the size of the generated tight set for each possible new edge from a vertex runs in O(|V | 2 ) time by Lemma 6.3 and Theorem 2.6 like in the proof of Lemma 6.4, and we need to run the O(|V | 2 ) time algorithm of Lemma 6.4 at most twice, the total running time of Algorithm 6.5 is O(|V | 2 ). Now, we focus our attention to the case where there is no edge e that augments G to a redundant graph. From this point on, the idea of our algorithm is a generalization of that of García and Tejel [8] because of Lemma 5.10. Hence from this point on, our description will be more sketchy. By Lemma 5.10, it is easy to see that the following greedy algorithm finds a transversal of the MCT sets of G starting from a vertex v which is taken from an MCT set. The running time of this algorithm is again O(|V | 2 ) by Theorem 2.6.

Explore all vertices j ∈ V :
If j is unmarked, then calculate T (v j) (by using the output of Step 0 and Theorem 2.6(b)) and Mark all unmarked vertices in V (v j). Let X : Finally, by using the reduction steps provided by Lemma 5.9 and the above algorithms, we can easily find an optimal solution of the reduced problem. Observe that, by Theorem 2.6(b), every reduction step can be executed in O(|V |) time thus the total running time of the reduction is again O(|V | 2 ).
Note that it follows by Sect. 4 that assumption (A) can be omitted in our algorithms. This implies the following.

Complexity results
In this section we prove that the general augmentation problem is NP-hard when > k. Moreover, our method also implies that there exists no polynomial time constant factor approximation algorithm for this problem if P =NP. García and Tejel showed in [8] that the general augmentation problem is NP-hard when k = 2 and = 3. Our construction is based on their idea.
First we show the NP-hardness of the following problem, called the Colored Tight Augmentation problem or CTA problem.

Problem Let G = (V , E) be a (k, )-tight graph such that the edges in E are colored to red or black. Find a graph H on the same vertex set with the minimum number of edges, such that each black edge of G is (k, )-redundant in G ∪ H.
The CTA problem is an extension of the general problem: given an instanceḠ = (V ,Ē) of the general problem, one can get an instance of the CTA problem by taking a spanning (k, )-tight subgraph ofḠ and coloring each already redundant edge to red and each not redundant edge to black. Now, for a graph H = (V , F),Ḡ ∪ H is By extending the work of García and Tejel [8], we shall prove that the CTA problem is NP-hard for every (k, ) where k > 1, that is, also for ≤ k in which case the general augmentation problem is solvable in polynomial time by Theorem 6.9. On the other hand, for the (k, ) = (2, 3) case the CTA problem is equivalent to the general augmentation problem: adding parallel edges to the red ones reduces the solution of the CTA problem to the solution of the general problem. (We note that the same construction works whenever = 2k − 1. Also our general construction results in the very same graph for = 2k − 1.) Our NP-hardness proofs for both the CTA problem and the general problem are based on the following statement which extends the well-known fact that an addition of a vertex of degree k maintains the (k, )-tightness (or the (k, )-rigidity of a graph).
Lemma 7.1 is illustrated by Fig. 1  Proof (a) It follows by definition that G * induces k|V ∪ V | − edges. Hence we need to prove the (k, )-sparsity of G * . Let X ⊆ V ∪V . Now, i G * (X ) = i G (X ∩V )+|E |− e G (V − X ) ≤ k|X ∩V |− +k|V |−k|V − X | = k|X ∩V |− +k|X ∩V | = k|X |− by the (k, )-sparsity of G and our assumption on e G . It follows also by our assumption on e G that V is MCT in G * .
(b) V is MCT in G * by part (a). Observe that e G * (Z ) = e G (Z ) holds for each Z ⊆ V − S. This implies that, beside V , every MCT set of G which does not intersect V is also an MCT set in G * . Now the disjointness of the sets C 1 , C 2 and V implies that the MCT sets in G * are pairwise disjoint by Theorem 5.5. However, then, by (c) By Lemmas 5.7 and 5.6, On the other hand, T G * (x y) = T G (x y) since x , y ∈ V and V is co-tight in G * . Furthermore, T G (x y) = T G (x y) follows by Lemma 5.10, completing our proof.
We shall use the set cover problem to show the NP-hardness of the CTA problem. Given a ground set X and a family S = {S 1 , . . . , S m } of subsets of X , an optimal solution of the set cover problem is a subfamily S ⊆ S of sets with minimal cardinality such that their union is X . Proof Given an instance of the set cover problem, a family S on ground set X such that |X | ≥ 2k +1 and no two members of S cover X , let us construct a graph. (We note here that these assumptions do not change the complexity of the set cover problem.) First take a (k, )-tight graph G 0 on a copy X of X such that there are at least two disjoint MCT sets in G 0 . (It is easy to check that such a graph exists when |X | ≥ 2k + 1.) Let us take another copy X of X and connect the copies x and x of each x ∈ X by an edge e x . These |X | edges will be the only black edges in our final graph; every other edge will be red. Add new edges (not parallel to the previous ones) between X and X until d(x ) = k holds for every x ∈ X . Let us denote the graph we got with these steps by G 1 . Now, Lemma 7.1 and Lemma 5.7 imply the following. Claim 7.3 G 1 is (k, )-tight and the family of MCT sets in G 1 equals to the family formed by all one element subsets of X . Furthermore, T G 1 (x y ) induces exactly two black edges e x and e y for each pair x, y ∈ X. Now for every S ∈ S we make the following extension on G 1 . Let S denote the copy of S in X . Start with V S = ∅. First choose one vertex from S and k − 1 vertices from X and add a new vertex v with (red) edges to these k vertices. Add v to V S . Later, when V S is not empty, take the last vertex that is added to V S , say v, one new vertex from S , and k − 2 vertices from X and add a new vertex w of degree k connecting to these k vertices. Add also w to V S . Repeat the above addition until there are no more vertices in S that were not used in such a step. (See Fig. 4) Let us denote the graph that we get from G 1 after running the above procedure for each S ∈ S by G * = (V * , E * ). For an arbitrary S ∈ S, d(v) = k holds for every v ∈ V S in the moment when it is added to V S , however, in the subsequent step this is increased to k + 1, except for the last vertex added to V S that we call m S . By Lemma 7.1(b), this shows that the only MCT sets in G * are the singletons M S := {m S } for all S ∈ S. By the construction, it is also easy to see that V S is co-tight in G * for every S ∈ S. By Lemma 5.10, we may assume that the optimal solution of the CTA problem consists of edges between MCT sets, that is between the vertices m S (S ∈ S). Claim 7.4 Let S 1 , S 2 ∈ S and let e = m S 1 m S 2 be an edge connecting the two (k, )-

MCT sets M S 1 and M S 2 of G * . Then a black edge e x is contained in T G * (e) if and only if x ∈ S i ∪ S j .
Proof Since V S is co-tight for each S ∈ S, T G * (e) ⊆ G * [X ∪ X ∪ V S i ∪ V S j ] =: G i j by Lemma 2.3, and hence T G * (e) = T G i j (e). Now, by using Lemma 7.1(c) several times following the construction of V S i and V S j , we get that T G 0 (x y ) ⊂ T G i j (e) for each pair x, y ∈ S i ∪ S j . Hence T G * (e) = T G i j (e) induces the black edge e x for each x ∈ S i ∪ S j by Claim 7.3. On the other hand, z / ∈ V G i j (e) for z ∈ X − (S i ∪ S j ) since {z } is co-tight in G i j by Lemma 7.1(b). Hence the black edge e z is not induced by T G * (e) = T G i j (e).
Remember, that we only need to add edges so that all the black edges become redundant. Thus from Claim 7.4 one can see that any (not necessarily optimal) solution of the CTA problem on G * of cardinality q gives a (not necessarily optimal) solution of the set cover problem that uses at most 2q sets and every (not necessarily optimal) solution of the set cover problem with cardinality q gives a (not necessarily optimal) solution of the CTA problem with cardinality q 2 . However, there is no constant factor approximation of the set cover problem unless P=NP by [21]. Therefore, there is no constant factor approximation of the CTA problem unless P=NP. This finishes the proof of Theorem 7.2.
To show the NP hardness of the general problem for k < , we shall modify the above NP-hardness proof in such a way that we add now 2k − parallel copies of each edge during the construction. To this end, we shall attach MCT sets -other than the singletons used in the above proof -by using Lemma 7.1.
For a set E and c ∈ Z + let cE denote the multiset that arises by taking c copies of each element of E. For a graph G = (V , E), cG denotes the graph (V , cE). It is easy to check that H (k, ) = (2k − )H (k, ) is (k, )-sparse and has k|V (k, ) | edges. Moreover, is follows by a short calculation that e H (k, ) (X ) > k|X | for each X V (k, ) . (It is enough to check this for subpaths of P (k, ) for which the calculation is simple.) Therefore, H (k, ) fulfills the conditions of Lemma 7.1. (Observe that in Fig. 1 the (3,4)-tight graph G is obtained from G − X by gluing 2H (3,4) to G − X .) We can now use H (k, ) in the proof of Theorem 7.2 instead of vertices of degree k since |S| = c + 1 ≥ 2. The only difference is that we do not naturally have the second copy X in the construction of G 1 . Instead we perform |X | extensions on G 0 with the H (k, ) in such a way that, in the step where we add V x (k, ) for x ∈ X , we connect V x (k, ) only to X and one of the edges, say, e x connecting V x (k, ) and X connects an element x ∈ V i (k, ) to the copy x of x. The second copy X of X (in which we take the copy S of each set S ∈ S in the final phase of the construction) is the set of these vertices x . The (2k − ) parallel copies of the edges e x for all x ∈ X will be the only black edges in our final graph; every other edge will be red.
This way, for each input S on ground set X of the set cover problem, we obtain an instance G * (k, ) of the CTA problem on which a solution of any (not necessarily optimal) solution of the CTA problem of cardinality q gives a (not necessarily optimal) solution of the set cover problem that uses at most 2q sets and every (not necessarily optimal) solution of the set cover problem with cardinality q gives a (not necessarily optimal) solution of the CTA problem on G * (k, ) with cardinality q 2 . Observe that each edge of G * (k, ) is present 2k − times except the edges of G 0 . Now, given the instance G * (k, ) , defined above, we construct an instanceḠ * (k, ) of the general problem by adding a new parallel copy to each red edge of G * (k, ) . It may mean more parallel new edges added between two vertices. It is clear that all red edges of G * . Therefore, no black edge of G * (k, ) is (k, )-redundant inḠ (k, ) , and hence a (not necessarily optimal) solution of the general problem onḠ * (k, ) is a (not necessarily optimal) solution of the CTA problem on G * and vice versa. This finishes the proof of Theorem 7.5.

Hypergraphs
We can generalize the results if the input is a hypergraph instead of a graph. Most definitions (like (m, )-tight/rigid/redundant) are straightforward to generalize. The problem we seek to solve is the following. Given an (m, )-rigid hypergraph H = (V , E), find an edge set F (and not hyperedge set) of minimum cardinality, such that (V , E ∪ F) is an (m, )-redundant hypergraph. The generalization of the ideas and even the proofs is straightforward, however, some notation needs to be changed. Given a hypergraph H = (V , E), d H (v) denotes the number of hyperedges that contain v ∈ V and, for X , Y ⊆ V , d H (X, Y ) denotes the number of hyperedges that are induced by X ∪ Y but not induced by neither X nor Y . The neighbor set of X ⊂ V in this case is N H (X ) = {v ∈ V − X : there is x ∈ X and e ∈ E such that {v, x} ⊆ e}.
We shall note here that, for hypergraphs, there also exists a polynomial algorithm that satisfies all requirements of Theorem 2.6 except for the running time, see the paper by Streinu and Theran [25]. Its running time is O(h|V | 2 ) where h is an upper bound on the size of the hyperedges. Thus the running time of all the algorithms gets a bit worse in this case, which particularly affects every result in Sect. 6. However, other than these changes the literatim copy of all the claims and the proofs of this paper remain correct for hypergraphs.

Simple graphs
In several applications in rigidity theory (see [11,23]), it must be assumed that all considered graphs are simple, that is, have no loops nor parallel edges. Hence only those redundant augmentations are appropriate that maintain this property, that is, the input as well as the output graph is simple. (Notice that an optimal augmenting edge set never contains two parallel edges by Lemma 2.4.) We consider here a slight generalization of this problem that we call the E -free general problem: Given an (m, )-rigid graph G = (V , E) and E ⊆ E, find a graph H = (V , F) on the same vertex set with minimum number of edges, such that G ∪ H is (m, )-redundant and the edges in F are not parallel to the edges in E . We call the version where the input is (m, )-tight the E -free reduced problem. By using the same reduction as in Sect. 3, we can reduce the solution of the E -free general problem to the solution of the E -free reduced problem in O(n 2 ) time when m ≥ . Hence we only need to solve the E -free reduced problem.
Run the algorithm of Theorem 6.8. First assume that the output is a single edge uv, that is, T (uv) = G for a pair u, v ∈ V . If uv / ∈ E , then uv is an optimal solution of the E -free reduced problem. Hence we may assume that uv ∈ E ⊆ E. Let E * denote the edges not in E , that we may use. If G + E * is not (m, )-redundant, then the E -free reduced problem is not solvable. Thus suppose that G + E * is (m, )-redundant, that is, T (uv) = G = R(E * ) = e∈E * T (e). Then, as uv ∈ E, uv ∈ T (e) for an edge e ∈ E * . Hence G = T (uv) ⊆ T (e) = G by Lemma 2.3. Therefore, in this case we may calculate T (e) for each edge e ∈ E * that takes O(|V | 3 ) time by Theorem 2.6.
Next assume that the output consists of a set F of at least two edges and (A) holds for G. Then no edge in F is parallel to any edge e ∈ E by Lemma 5.6 since the algorithm outputs edges connecting members of C * in this case.
Finally assume that the output consists of a set F of at least two edges and (A) does not hold for G. If (A2) or (A3) does nor hold for G, then G has less than c 2 + 2 vertices by Sect. 4, and hence the solution of the E -free problem is straightforward by checking all possibilities. When G violates (A1), we may delete its isolated vertices with m(v) = 0 like in Sect. 4. If (A) holds for the resulting graph then the output of our algorithm does not use any edge parallel to any edge e ∈ E by Lemma 5.6 and we are done. Otherwise, the resulting graph again has less than c 2 + 2 vertices. Here we need to be careful since it is possible that the E -free augmentation is not solvable for the arising graph while it is solvable for G (for example by using some edges uv from a deleted vertex with m(u) = 0). However, observe that the sets of edges in T (u 1 v) and T (u 2 v) are the same for u 1 , u 2 , v ∈ V with m(u 1 ) = m(u 2 ) = d(u 1 ) = d(u 2 ) = 0, moreover, the edge set of T (u 1 u 2 ) is a subset of both. Hence, in this case, we may add back a single vertex u with m(u) = d(u) = 0 and solve the E -free reduced problem on the arising graph on less than c 2 + 3 vertices by checking all possibilities.

Adding multiple edges
In some other applications, instead of adding non parallel edges, in contrast, we need to add several parallel copies of each edge in the augmentation, that is, we want to minimize |F| such that G + cF is (m, )-redundant. (For example, such a problem arises for m ≡ k = when one wants to augment a 'rigid generic bodyhinge framework' to 'globally rigid' by adding some hinges (see [15]).) Note that, if G is an (m, )-tight graph and F is a set of edges on the same vertex set, then R(cF) = f ∈cF T ( f ) = f ∈F T ( f ) = R(F) by Lemma 2.4. Hence, for any (m, )-rigid graph G, G + cF is (m, )-redundant if and only if G + F is (m, )redundant. Therefore, the above version of the augmentation problem is equivalent to the original one.

Further directions
We considered our augmentation problem only for (k, )-rigid inputs, that is, when the input graph has a spanning (k, )-tight subgraph. It would be natural to consider the problem for general input graphs. This problem was solved for the case where k = by [4,7], however, we leave it open for other values of k and . A specific instance of this open problem is the case where the input is (k, )-sparse or even more specifically contains no edges. Since there always exists a (k, )-circuit on a sufficiently large vertex set and such a graph is (k, )-redundant and has k|V | − + 1 edges, this augmentation problem for edgeless graphs can be solved easily. However, if the edges are weighted, then even with a metric weight function the question becomes rather interesting. For example, the case of k = = 1 is the well-known Minimum Cost 2-Edge Connected Spanning Subgraph problem. Recently, Jordán and the second author of this paper [16] considered the (k, ) = (2, 3) case of this problem and gave a 2approximation algorithm to the metric weight case. By generalizing their method and using the results of this paper, it seems to be possible to obtain similar approximation algorithms for other values of k and .
Another problem, which is also closely related to our augmentation problem, is a version of the pinning problem from rigidity theory. In the pinning problem, our goal is to anchor a minimum set of joints in a bar-joint framework such that the resulting framework is rigid/globally rigid/redundantly rigid. In the generic case, pinning can be modeled by adding a complete graph on the anchored vertices to our graph (see [14]). Fekete and Jordán [5] investigated the (2-dimensional) global rigidity version of this problem and gave a 3-approximation algorithm. Jordán [14] obtained the optimal (2, 3)-redundant pinning of a (2, 3)-tight graph by using [14,Theorem 3.9.13] (that is, the special case of Theorem 5.5 for (2,3)-tight graphs). The main idea behind Jordán's work is similar to Observation 5.3: it can be seen easily that each co-tight set must contain a pinned vertex. By using this idea, our results can be applied for the generalizations of this problem (with (k, )-tight or (k, )-rigid inputs) and one can obtain the similar positive and negative results to the ones what we obtained for our augmentation problem.