Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
CCCG 2010, Winnipeg MB, August 9–11, 2010 Connected Dominating Sets on Dynamic Geometric Graphs∗ Leonidas Guibas† Nikola Milosavljević‡ Abstract We propose algorithms for efficiently maintaining a constant-approximate minimum connected dominating set (MCDS) of a geometric graph under node insertions and deletions. Assuming that two nodes are adjacent in the graph iff they are within a fixed geometric distance, we show that an O(1)-approximate MCDS of a graph in Rd with n nodes can be maintained with polylogarithmic (in n) work per node insertion/deletion as compared with Ω(n) work to maintain the optimal MCDS, even in the weaker kinetic setting. In our approach, we ensure that a topology change caused by inserting or deleting a node only affects the solution in a small neighborhood of that node, and show that a small set of range queries and bichromatic closest pair queries is then sufficient to efficiently repair the CDS. 1 Introduction For an undirected graph G = (V, E), we say that S ⊆ V is a dominating set of G if every node in V \ S is adjacent to some node in S. If S also induces a connected subgraph of G, then S is a connected dominating set (CDS) of G. The problem of finding a CDS with the fewest vertices, or minimum CDS (MCDS), in a given graph has been of interest for a long time because of its application in networking. If G represents a communication network, a small CDS S of G can be used to form a routing “backbone” [6]. The advantage of a CDS-based approach is that all nodes are close to some “backbone” node, and long distance communication is achieved within the sparser subgraph induced by the CDS; potentially expensive routing infrastructure is required only within the small set S. The problem has also been explored in the special case of ad-hoc wireless networks, where geometric graphs are of particular interest [6, 14]. In a geometric graph, nodes are identified with points in a metric space, and two nodes are connected if they are sufficiently close to each other. More recently, there has been a growing interest in ad-hoc networks whose nodes can join and leave arbitrarily, causing the node set and the induced ∗ This work was supported by NSF grants 0626151, 0634803, and 0914833, and a grant from Google, Inc. † Stanford University, guibas@cs.stanford.edu ‡ Max-Planck-Institut für Informatik, nikolam@mpi-inf.mpg.de § Stanford University, amotskin@stanford.edu Arik Motskin§ geometric graph to change over time. The topic of this paper is the problem of maintaining a small CDS in such dynamic graphs. The CDS may require repair when a node is added or deleted, so the challenge is to maintain a CDS that is sufficiently sparse, while also minimizing the necessary repair work. 1.1 New Results We show that maintaining an exact MCDS is expensive. Not only can a single insertion or deletion require Ω(n) work (where n is the number of nodes), but the same bound also holds in the amortized sense, and even when restricted to sequences of highly correlated insertions and deletions emulating a continuous, bounded degree algebraic motion. Our main contribution is a pair of algorithms that efficiently maintain a constant-approximate MCDS for geometric graphs in Rd with rectilinear (ℓ1 and ℓ∞ ) metrics. In particular, our algorithms maintain an O(1)e approximate MCDS with O(1) work1 per operation (insertion or deletion). For geometric graphs in R1 , the CDS that we maintain is an alternating independent set. In Rd , the CDS that we maintain comprises a maximal independent set (MIS) of nodes – which is already a dominating set – along with a small set of paths chosen to make the MIS connected while retaining the constant approximation factor. While the idea of augmenting a MIS with a small set of connectors to form a CDS is not new [2], our paper is the first to address the challenge of efficiently selecting such a sparse structure from an arbitrarily complex underlying dynamic network. Our construction ensures that graph topology changes affect the CDS solution only locally, while a small set of range queries and bichromatic closest pair queries is sufficient to repair the CDS. All of the algorithms in this paper are centralized. As in the literature on maintaining approximate (but not necessarily connected) minimum dominating sets for mobile nodes [8, 11], the quantity of interest is the computational complexity of simulating a dynamic network on a single processor. 1 For any function g, the notation O(g(n)) e is equivalent to O(g(n) logc n), for a constant c. Furthermore, the constant hidden in the big-Oh may depend on d. 22nd Canadian Conference on Computational Geometry, 2010 1.2 Related Work The MCDS problem is very well-studied, long known to be NP-complete [9] for general graphs, but also for unit-disk graphs [5], the context that we are considering. While difficult to approximate in general graphs [4, 10], several polynomial-time approximation schemes for MCDS in static unit-disk graphs have been developed [4, 12, 15]. However, there has been relatively little work on maintaining a CDS under node insertions and deletions. Gao et al. [8] and Hershberger [11] presented algorithms for the related minimum dominating set (MDS) problem, and in weaker kinetic setting, where nodes follow continuous (typically bounded degree algebraic) trajectories instead of entering and leaving at arbitrary locations, and the quantity of interest is the total computational cost for the whole motion. Gao et al. [8] give a randomized algorithm for maintaine 2) ing an O(1)-approximation to the MDS, requiring O(n cumulative work. Hershberger [11] offers a constantapproximate deterministic algorithm for maintaining a covering of nodes by axis-aligned unit boxes. Observe that we achieve the same (up to constant factors) approximation2 and cumulative work3 bounds as these solutions, but with the additional challenge that our structure be connected (a key requirement for networking applications), and that the time bound holds peroperation, instead of only in the amortized sense. Unlike Gao et al. [8], our solution is deterministic, but as in both previous MDS solutions, we work with rectilinear norms, so our solution comprises a covering of the nodes by a connected set of axis-aligned unit boxes, each centered at a node. Alzoubi et al. [2] maintain a constant approximate MCDS solution with mobile nodes, but a change in topology can require Ω(∆) work in repairs (where ∆ is the maximum node degree), aggregating to potentially Ω(n3 ) total work over the course of the entire pseudoalgebraic motion. 1.3 Organization of the Paper The remainder of the paper is organized as follows. In Section 2, we introduce the geometric graph model for which our results hold. In Section 3, we prove a Ω(n) lower bound on the per-operation computational cost of maintaining an exact MCDS, even in the kinetic setting. This motivates the problem of maintaining a constantapproximation. In Section 4 we describe geometric data structures (d.s. for short) used by both algorithms (for graphs in R1 and Rd , for a constant d ≥ 2). The ac2 In Sections 5 and 6, we prove the approximation bounds for our CDS by showing it is within a constant factor of the MDS. 3 This is because over the course of a bounded degree algebraic motion there are O(n2 ) “events” that trigger updates to the MDS. tual algorithms are described in Sections 5 and 6. In Section 7, we conclude the paper and propose several directions for future work. 2 Model In our network model, we assume a graph G = (V, E) (with |V | = n), embedded in Rd for d fixed. Graph topology is determined by the unit-ball graph model with respect to the ℓ∞ norm in the plane4 , i.e., nodes are joined by an edge if and only if their ℓ∞ -distance is at most 1. We use d(·, ·) to denote the ℓ∞ -distance, and dG (·, ·) to denote the hop-distance in G. We denote individual dimensions (point/node coordinates) by subscripts. We assume that G remains connected as nodes are inserted and deleted. For a hyperplane h = {x ∈ Rd | (x − a)b = 0} we define h+ = {x ∈ Rd | b(x − a) ≥ 0} and h− = {x ∈ Rd | b(x − a) < 0}. A set of d hyperplanes H = {h1 , h2 , . . . , hd } (whose normals B = {b1 , b2 , . . . , bd } are a basis of Rd ) defines a (polyhedral) Td cone i=1 h+ i . We use H to denote both the set of hyperplanes and the cone that they define. The apex of H Td is i=1 hi . For a cone H with apex p, the angle of H is maxx,y∈H ∠(x − p, y − p). Clearly, this depends only on normals, so we also call it the angle of B. We say that H (or B) is δ-narrow, if its angle is at most δ. We say that H separates a pair of points (x, y) if p − x, y − p ∈ H. For the proofs we will need the following technical fact. Lemma 1 For any δ > 0, one can compute in d−1 d−1 ) time a collection B = B(δ) of O(( d−1 ) O(( d−1 δ ) δ ) d δ-narrow bases of R such that any vector is “well inside” the cone defined by some B ∈ B, i.e., ∀x ∈ Rd , ∃B ∈ B, ∀y ∈ Rd , ∠(x, y) ≤ 1 2 arctan 1 d−1 tan 2δ ⇒ b1 y, b2 y, . . . , bd y ≥ 0. Proof. See Appendix.  In this paper, we think of a basis as a set of hyperplane normals which define the boundary of a cone. Lemma 1 ensures that we can precompute a collection of bases B, such that the space around any point p can be sufficiently covered by a collection of narrow cones, each having apex at p, and each defined by one of the bases B ∈ B. Given a metric space (X, d), we call Y ⊆ X an r-packing (in (X, d)) if for any y1 , y2 ∈ Y , d(y1 , y2 ) ≥ r, and an r-cover (in (X, d)) if for any x ∈ X, d(x, Y ) ≤ r. The r-ball (in (X, d)) with center c and radius r is denoted by B(X,d) (c, r), where the subscript is omitted if clear from context. 4 For simplicity, the results in this paper are described in terms of the ℓ∞ norm, but also hold for the ℓ1 norm. CCCG 2010, Winnipeg MB, August 9–11, 2010 3 (n) Motivation In this section we show that maintaining the optimal solution cannot be done significantly faster than recomputing it from scratch after each graph update. In fact, this holds even for very simple dynamics — continuous motion of vertices (the so called kinetic setting [3]) — and even when the speed of each vertex does not change with time. In particular, we demonstrate that shifting just 2 nodes causes Ω(n) work in repairs to the MCDS. This stands in contrast to our main result, where our e O(1)-approximate MCDS requires just O(1) work to be repaired after arbitrary node insertion or deletion. Consider n nodes in R1 , and the graph G obtained by connecting two distinct points if and only if their coordinates differ by at most 1. As the nodes move, the graph topology changes, and so does the set of its MCDSs. First we show how to test if a given subset of nodes is the unique MCDS for a given graph. This claim will be invoked multiple times in the proof of the main result. Lemma 2 Let v (1) , v (2) , . . . , v (n) be a fixed left-to-right ordering of nodes (ties broken arbitrarily), and let S be a CDS. S is a unique MCDS if and only if v (1) , v (n) ∈ / S, and there are no distinct vertices u, v, w (ordered from left to right), all pairwise connected, such that v ∈ S and either u ∈ {v (1) } ∪ S or w ∈ {v (n) } ∪ S. Proof. See Appendix. Finally, let v1 = (l − δ)a, where l is an odd integer “much bigger than k”, and δ is small enough, so that v (n) and v (l) have the same neighbors (except each other). No MCDS can contain both v (l) and v (n) (because removing one of the two would yield a smaller CDS). It is easy to see that the CDSs that do not contain v (n) are exactly the CDSs for {v (1) , . . . , v (n−1) }. Hence, the unique MCDS that does not contain v (n) is S1 . Symmetrically (exchanging the roles of v (l) and v (n) ), the unique MCDS that does not contain v (l) is S2 = {v (3) , v (5) , . . . , v (l−2) , v (n) , v (l+2) , . . . , v (n−4) }. Since |S1 | = |S2 |, it follows that S1 and S2 are the only minimum CDSs. See figure below for an illustration with n = 25, k = 8, and l = 17. 24 1 Theorem 3 For any sufficiently large n, one can assign initial positions and constant speeds to n nodes so that the MCDS undergoes Ω(n3 ) total state changes during the motion. Proof. Let n be odd, and let v (1) , v (2) , . . . , v (n) be the (i) nodes. Suppose v1 = ia, for i = 1, 2, . . . , n − 2, where a = 13 + ε, and ε > 0 is small enough, so that 2.5a is smaller than the communication range 1. By Lemma 2, the unique MCDS of {v (1) , . . . , v (n−2) } is S1 = {v (3) , v (5) , . . . , v (n−4) }. See figure below for an illustration with n = 25. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 (n−1) Let v1 = (k − δ)a, where 4 ≤ k ≤ n − 5 is an even integer, and δ > 0 is small enough, so that n − 1 and k have the same neighbors (except each other). Again, Lemma 2 implies that S1 is still the unique MCDS of {v (1) , . . . , v (n−1) }. See figure below for an illustration with n = 25, k = 8. 24 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Now suppose that nodes v (n−1) and v (n) move to the (n−1) (n) = (l − 12 )a and v1 = (k − 12 )a, left by a2 , that is, v1 where k and l have the same values as before. By Lemma 2, the unique MCDS for {v (1) , . . . , v (n) } is S3 = {v (3) , v (5) , . . . , v (k−3) , v (n−1) , v (k+2) , . . . , v (l−3) , v (n) , v (l+2) , . . . , v (n−4) }. See figure below for an illustration with n = 25, k = 8, and l = 17. Notice that all nodes between (not including) v (k+2) and v (l−3) are in S3 if and only if they are in neither S1 nor S2 . 24 1 2 3 25  Now we can prove our main result. 1 2 25 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Set l − k to be the odd number closest to n2 . If ini(n−1) (n) tially v1 = (n − 1)a, v1 = (n + l − k − 1)a, and n, n − 1 move to the left much faster than all other nodes, any algorithm that maintains the exact minimum CDS at all times must make Ω(n) transitions between S1 or S2 (depending on the algorithm) and S3 , with each such transition requiring Ω(n) node state changes. Finally, we can add n2 copies of nodes v (n−1) and v (n) with the same initial positions and speeds geometrically increasing by sufficiently large factors, to get a 2n-node instance that undergoes Ω(n3 ) total state changes over the course of the motion.  4 Data Structures To repair a CDS after a graph change, our algorithms use a number of range queries and bichromatic closest pair queries. In this section we precisely define queries of interest and argue that data structures that support e those queries can be maintained in O(1) time under node insertions/deletions. In subsequent sections we assume correctness of the data structures and show how they are used to maintain correctness of the output (approximate MCDS) after graph changes. 22nd Canadian Conference on Computational Geometry, 2010 Our algorithms reduce the problem of maintaining an O(1)-approximate MCDS to two fundamental problems of dynamic computational geometry. Let P be a set of n points in Rd , where d is fixed (independent of n). An orthogonal range searching (ORS) problem asks to report all points in P contained in a given axis-aligned box, including its boundary. The bichromatic closest pair (BCP) problem asks for a closest red-blue pair, given a BCP instance (i.e., a labeling) that designates each point as either red or blue. A BCP instance separates point pair (x, y) if x is red and y is blue in that instance. We say that a BCP instance is separated by a cone C if any red-blue pair in the instance is separated by the cone C. We say that a BCP instance is δ-narrow if it is separated by a δ-narrow cone. The d.s. of Willard and Lueker [13] solves the ORS problem in O(k + logd n) time, where k is the number of reported points. It can be updated to reflect a single point insertion/deletion in O(logd n) time, and uses O(n logd−1 n) space. The d.s. of Agarwal et al. [1] solves a certain set of BCP instances on subsets of P in time O(1). It uses O(n log2d−1 n) space, and can be updated in time O(log2d n) after insertion/deletion [7]. The set of BCP instances that it solves, defined for a given basis B = {b1 , b2 , . . . , bd } of Rd , and denoted by I(B), satisfies the following properties. (i) Any instance in I(B) is separated by some cone with normals B. (ii) Given a pair (x, y) separated by a cone with normals B, one can compute in O(logd n) time an instance in I(B) that separates (x, y). We prove the following generalization of property (ii), which we will use in Section 6.2.2. Lemma 4 Given a cone C with normals B, one can compute in O(logd n) time a set I(B, C) ⊆ I(B) of O(logd n) instances, such that each pair separated by C is separated by some instance in I(B, C). Proof (sketch): See Appendix. As defined in Section 2, V is the set of all nodes, while T (defined in Section 6) is a certain subset of V . We maintain two ORS d.s.’s, one for V and one for T . In addition, we maintain one BCP d.s. for each basis B ∈ B(δ) (defined in Lemma 1), where δ is a constant that depends on d only. By Lemma 1 and property (i), all BCP instances that we maintain are δ-narrow. 5 Maintaining a CDS in R1 In this section, we show how to construct and maintain an O(1)-approximation to the MCDS in 1-dimensional e graphs, with O(1) work to repair the solution after node insertions or deletions. The main idea is to maintain an alternating independent set that dominates the graph, which we show is a good approximation to the MCDS. For simplicity, in this section a node label u will refer both to a node’s name as well as its x-coordinate. Definition 1 S ⊂ V is an alternating independent set (AIS) for a graph in R1 , if S is connected, and if for any three nodes u, v, w ∈ S with u ≤ v ≤ w, u and w are not connected by an edge. Proposition 5 A dominating AIS is an approximation to the MCDS for a graph in R1 . O(1)- Proof. Let S ∗ denote an MCDS. Given a node v ∈ S ∗ , observe that it is connected to at most 4 nodes from S: if not, there are at least 5 nodes v1 ≤ v2 ≤ v3 ≤ v4 ≤ v5 adjacent to v. By the AIS property, v3 > v1 + 1 and v5 > v3 + 1, so v5 > v1 + 2. Since v1 > v − 1, v5 > v + 1, a contradiction. Moreover, since S ∗ is connected, every member of the AIS (except possibly the leftmost or rightmost nodes) are connected to at least 2 members of S ∗ . These facts imply |S| ≤ 2|S ∗ | + 2.  The initial construction of a dominating AIS is straightforward. Initially, set S ← ∅. Select an arbitrary node u0 and add it to S. Let u1 be a right neighbor of u0 , and add it to S. Let u2 be a right neighbor of u1 ; add it to S, and if u0 and u2 are connected, remove u1 from S. For notational purposes, suppose during the iterative construction that the elements of S are reindexed as u0 , u1 . . . ui where i < j ⇔ ui < uj . Select a right neighbor ui+1 of ui , add it to S, and if ui−1 and ui+1 are connected, remove ui from S. Iterate until done, and repeat procedure to the left of u0 . By construction, the leftmost and rightmost nodes are initially in S. Since S is connected and in R1 , it is a dominating set. Furthermore, using the ORS d.s. on V described in Section 4, which is simply a binary search tree in this case, the left/right neighbor of each node is e computable in O(1) time if it exists, so this construction e takes O(n) time. 5.1 Maintaining Solution with Insertions and Deletions Now, assume that a dominating AIS S has already been constructed. We show how to maintain the AIS after a node insertion or deletion. 1. If node v is added: Check if v is connected to fewer than two nodes in S (ORS query on S with B(v, 1)). If so, add it to S. 2. If v ∈ S is removed: Find immediate left and right neighbors of v if they exist, and add them to S. By the connectivity assumption, this restores connectivity and domination of S. The remaining property can only be violated for triples whose “middle CCCG 2010, Winnipeg MB, August 9–11, 2010 node” is either one of the added nodes, or previous left and right neighbors of v in S, if they exist. Check each one of these (at most 4) possibilities, and whenever the check fails, remove the “middle node”. This preserves connectivity and domination. Immediate left and right neighbors in V (resp. S) of some node can be found by binary search for that node in the range searching d.s. on V (resp. S), which is in fact a binary search tree in case d = 1. All neighbors in S of some node can obviously be found by range searching, and there are always O(1) of them. With regards to necessary data structures, as per the discussion in e Section 4, each one of these operations costs O(1). The above procedure for maintaining a dominating AIS ine vokes them O(1) times, so its cost is also O(1). 6 Maintaining a CDS in Rd In this section, we show how to construct and maintain an O(1)-approximation to the MCDS for graphs in Rd , e with O(1) work to fix the solution after each node insertion or deletion. Our strategy is to maintain a maximal independent set of nodes T (which is itself a dominating set), along with a small set of connecting paths, which together form a small CDS S. The challenge is to efficiently compute such a sparse structure from an arbitrarily complex underlying set of nodes. 6.1 Defining the CDS Let V be the input node set, and let G be its unit-ball graph. Consider a maximal 1-packing on G, which we denote T . For each point v ∈ T , consider the set Sv of v’s connectors, defined as follows. Let Uv be the set of all nodes u ∈ T with dG (v, u) ≤ 3, plus some nodes u ∈ T ∩ B(v, 3) with dG (v, u) ≤ 5. Pick a v–u path of length ≤ 5 for each u ∈ Uv . The connectors of v comprise all points on these chosen paths, including the endpoints. Definition 2 S = S v∈T Sv . Clearly, S ⊃ T . Lemma 6 If G is connected, S is a CDS for G. Proof. By maximality, T is a 1-cover, so it is also a dominating set in G, as is its superset S. We claim that the subgraph H of G induced by S is connected. By definition of connectors, each u ∈ S \ T is connected in H to some v ∈ T via Sv . Hence it suffices to prove that any u, v ∈ T are connected in H. Let u1 , u2 , . . . , uk be the intermediate nodes on some u–v path in G. Since T is a dominating set, u2 is adjacent in G to some w2 ∈ T . As dG (u, w2 ) ≤ 3, w2 is connected to u in H, by the definition of connectors. If w2 is connected to v in H, we are done. Otherwise, since T is a dominating set, u3 is adjacent in G to some w3 ∈ T . Since dG (w2 , w3 ) ≤ 3, w3 is connected to w2 , and hence to u, in H. If w3 is connected to v in H, we are done. Otherwise, this argument is repeated until we have a node wi connected to v in H, which is certainly true for wk−1 , since dG (wk−1 , v) ≤ 2. Thus, we demonstrate a connecting path in H (via nodes wi ) between u and v.  Lemma 7 If G is connected, S is an O(1)-approximate MCDS in G. Proof. Let S ∗ be an arbitrary MCDS for G. Since T is a 1-packing for dG (·, ·), it is also a 1-packing for d(·, ·), so any unit ball contains O(1) elements of T . Considering such balls centered at the points of S ∗ , we get |T | = O(1)|S ∗ |. For any v ∈ T , |Sv | is at most six times the number of nodes in T connected to u via paths of length ≤ 5. By definition of connectors, all such nodes belong to B(v, 4). By a packing argument, P B(v, 4) contains O(1) elements of T . Hence |S| ≤ v∈T |Sv | = O(1)|T | = O(1)|S ∗ |.  6.2 Dynamic Maintenance The key property of our CDS solution S is that a change in graph topology due to node insertion or deletion affects our solution only locally, so that repairs are lime ited to O(1) work. In this section, assume that a CDS S as in Definition 2 already exists; we show how to repair the maximal independent set T and connectors {Sv }v∈T according to Definition 2 after each insertion/deletion event. For each such event, we execute the following threestep procedure. Let v denote the node that was inserted or deleted. (A) Update V . Update the ORS d.s. on V . (B) Update T . If node v is inserted, it may not be dominated by T . Check this by querying ORS d.s. on T with B(v, 1). If query returns empty, add v to T and update ORS d.s. on T . If node v is deleted and v ∈ T , remove v from T and update ORS d.s. on T . The new T may no longer be maximal. We must check if all nodes in B(v, 1) are still adjacent to a node in T . Observe that R = T ∩ B(v, 2) comprises the only current nodes of T that may be adjacent to a node in B(v, 1). Compute R by querying ORS d.s. on T withSB(v, 2). By packing, |R| = O(1). Decompose B(v, 1)\ r∈R B(r, 1) into O(1) axis-aligned boxes. Query the ORS d.s. on V with each box and return a node w contained in any of them, if it exists. If not, T must be maximal, and we are done. Otherwise, add w to T (with default Sw = ∅) and update the ORS d.s. on T . Repeat, starting by recomputing R. There are O(1) repetitions, since by packing there can only be O(1) independent nodes in B(v, 1). 22nd Canadian Conference on Computational Geometry, 2010 (C) Update connectors. Now, we need to ensure that the connectors are built according to the definition of Section 6.1. If v was removed from T in the previous step, remove Sv from S. Any node w added to T in the previous step (including possibly v itself) does not yet have connectors (i.e., Sw = ∅), so they must be built; note that any such w is located in the ball B(v, 1). Moreover, observe that for any other node z ∈ T , the insertion or deletion of node v can only affect the correctness of Sz if z ∈ B(v, 4). Hence, to repair all connectors according to Definition 2, it suffices to recompute Sw for all w ∈ T ∩ B(v, 4), using the subroutine in Section 6.2.2. 6.2.1 Analysis Step (A) requires one update of the ORS d.s. on V . Step (B) requires O(1) updates of T and its ORS d.s., O(1) range queries on T with constant-sized result R, O(1) decompositions into boxes each taking O(1) time, and O(1) range queries on V . Step (C) requires one range query on T and O(1) invocations of the subroue tine. By the discussion in Section 4, and assuming O(1) runtime for the subroutine (Lemma 11 in Section 6.2.2), e the entire procedure takes O(1) time per operation. We conclude the following. Theorem 8 The O(1)-approximate MCDS S requires e O(1) work to be maintained after a node insertion or deletion. 6.2.2 Connecting Path Subroutine In this section we describe the key technical result: a subroutine that efficiently computes connectors Sv for a given node v ∈ T . We begin by computing the set of “candidate nodes” U = T ∩ B(v, 3). Obviously, |U | = O(1), and U includes all nodes of T within 3 hops of v. The subroutine tries to connect each u ∈ U to v by a path of length ≤ 5 and, if successful, adds the nodes on the path to Sv . The procedure is the same for each u. To prove correctness of output Sv , it suffices to prove that the procedure succeeds when dG (u, v) ≤ 3 (Lemma 10). The strategy is to try to identify “waypoints”: intermediate nodes on the connecting paths. We know that the waypoints are contained in B(v, 3). We pick a dense enough (but still constant-sized) sampling Q of this region of interest around v, comprising points of the space (and not necessarily nodes in V ). Suppose dG (u, v) ≤ 3. Define u′ , v ′ to be the neighbors of u and v, respectively, with minimum d(u′ , v ′ ). Notice that u′ and v ′ may be the same node (if dG (u, v) = 2). We remark that u′ and v ′ are precisely the type of waypoints we seek (because {u, u′ , v ′ , v} is a valid connecting path). Our subroutine, however, may find two nodes which are not quite u′ and v ′ , but still suitable as waypoints: we still manage to connect u and v via these nodes. The key step is showing how a point q ∈ Q that ε-covers the centroid of {u′ , v ′ } can be used to find these necessary waypoints. Lemma 9 suggests that a good choice for the waypoints is the solution to any BCP instance in which u′ is red, v ′ is blue, and a narrow cone separates red from blue points. To find such an instance, first we must find a narrow cone C which separates u′ and v ′ . Such a cone is found by testing the cones generated by each of the bases B ∈ B, with apex at sample points q ∈ Q. We prove that the construction of B (in Lemma 1) and the density of Q is sufficient to identify the required cone e C. Then, using C, we solve O(1) BCP instances drawn e from I(B), each of which can be solved in time O(1) (since they are in I(B)), and one of which we know (by Lemma 4) outputs a good solution in the sense of Lemma 9. From the solution of this good instance, we get a suitable pair of waypoints. If d(u′ , v ′ ) ≤ 43 , i.e., the middle hop is short, the subroutine finds a 3-hop path {u, z, w, v} joining u and v. If, on the other hand, d(u′ , v ′ ) > 34 , i.e., the middle hop is long, the subroutine finds a 5-hop path {u, z, x, y, w, v} joining u and v. Formally, the subroutine for a fixed u ∈ U proceeds as follows: let δ = 21 arctan d+√1d−1 , and ε =    δ 1 1 3 . Compute an ε-sample Q sin arctan tan 8 2 d−1 2 of B(v, 3). Assume that the set of bases B = B(δ) (as in Lemma 1) has been computed in preprocessing, and that the set of BCP instances I(B) has been maintained for each B ∈ B, as described in Section 4. For each u ∈ U and q ∈ Q, try to find w ∈ V ∩ B(q, 21 ) ∩ B(u, 1) and z ∈ V ∩ B(q, 12 ) ∩ B(v, 1). If any of these is successful, we have found 3-hop connecting path {u, w, z, v}; add it to Sv . Otherwise, we look for a 5-hop path to connect u and v: for each B ∈ B and q ∈ Q, compute I(B, C) (as in Lemma 4), where C is the cone with normals B and apex q. For each instance in I(B, C), find its solution (x, y), and try to find w ∈ V ∩ B(x, 1) ∩ B(u, 1) and z ∈ V ∩ B(y, 1) ∩ B(v, 1). If for any of these, w and z are found and d(x, y) ≤ 1, we have found a 5-hop connecting path {u, w, x, y, z, v}; add it to Sv . Lemma 9 If a δ-narrow BCP instance contains a redblue pair (u, v) with d(u, v) ≤ 1, then its solution (x, y) satisfies d(u, x), d(y, v) ≤ d(u, v). Proof. It suffices to prove d(u, x) ≤ d(u, v), because d(y, v) then follows by symmetry. Let C be a δ-narrow cone separating all red-blue pairs. Without loss of generality, the apex of C is at the origin, because the claim is invariant under simultaneous translation of V and C. By convexity of d(u, ·) on Rd , convexity of C, and v ∈ C, we have d(u, 0) ≤ d(u, v). Hence it suffices to CCCG 2010, Winnipeg MB, August 9–11, 2010 prove d(u, x) ≤ d(u, 0). If ∠(x − u, x) > π2 , then u0 is the longest side of triangle ux0, so we are done. From now on we assume ∠(x − u, x) ≤ π2 . Using −u, −x, y ∈ C and the fact that C is closed for vector addition, we obtain ∠(x, u), ∠(u − y, u) ≤ δ. By nearest neighbor condition, x ∈ B(y, d(y, u)). It is easy to see that for all x ∈ B(y, d(y, u)) it holds ∠(u − x, u − y) ≤ π − arcsin √1d . Therefore ∠(x − u, x) = ≥ ≥ π − ∠(x, u) − ∠(u − x, u) π − ∠(x, u) − ∠(u − x, u − y) −∠(u − y, u) 1 arcsin √ − 2δ . d z u′ v′ w ≤ = ≤ ≤ ≤ ≤ Figure 1: Connecting pairs of nodes in T using paths with a short middle hop. u′ x v′ q z y u Figure 2: Connecting pairs of nodes in T using paths with a long middle hop. |u| sin(2δ) sin(arcsin √1d − 2δ) |u| √ (by choice of δ) d d(u, 0) .  Lemma 10 If dG (u, v) ≤ 3, the nodes added to Sv induce a u-v path of length ≤ 5. Proof. Let u′ , v ′ be defined as above, and observe that the subroutine cycles through elements of the dense covering Q. Let q ∈ Q be an element that ε-covers the centroid of {u′ , v ′ }. If d(u′ , v ′ ) ≤ 43 , refer to Figure 1. Since ε ≤ 18 , B(q, 1/2) contains a neighbor z of u (e.g., z = u′ ). Likewise, B(q, 1/2) contains a neighbor w of v (e.g., w = v ′ ). Finally, z and w are neighbors, since they are both in B(q, 21 ). So w and z as described above can be found, and the nodes {u, w, z, v} added to Sv connect u and v. If d(u′ , v ′ ) > 43 , refer to Figure 2. ∠(v ′ − u′ , v ′ − q), ∠(v ′ − u′ , q − u′ ) ≤ arcsin(2ε/|u′ v ′ |) with (1), we get that q − u′ , v ′ − q ∈ C, i.e., C separates points (u′ , v ′ ). By Lemma 4, some I ∈ I(B, C) separates (u′ , v ′ ). Furthermore, I is δ-narrow, since all instances in I(B) are. By Lemma 9, I’s solution (x, y) satisfies d(x, u′ ), d(y, v ′ ) ≤ d(u′ , v ′ ) ≤ 1. It follows that u and x have a common neighbor z (e.g. z = u′ ). Likewise, y and v have a common neighbor w (e.g. w = v ′ ). Finally, x and y are neighbors, because d(x, y) ≤ d(u′ , v ′ ) ≤ 1. So w and z as described above can be found, and the nodes {u, w, x, y, z, v} added to Sv connect u and v.  Lemma 11 The subroutine runs in O(log2d n) time. Proof. Each range query to find w or z takes O(logd n) time. Computation of I(B, C) takes O(logd n) time, by Lemma 4. All other operations take O(1) time. The loops over u ∈ U , q ∈ Q and B ∈ B are repeated O(1) times, and the loop on I ∈ I(B, C) is repeated O(logd n) times, by Lemma 4. The total running time is therefore O(log2d n).  6.3 ′ ≤ arcsin(2ε/d(u , v ))   1 δ 1 ≤ arctan . tan 2 d−1 2 w v |u − x| |u| sin ∠(x, u) sin ∠(x − u, x) |u| sin δ sin(arcsin √1d − 2δ) ′ v u We chose δ small enough so that arcsin √1d − 2δ > 0, so we have proved 0 < ∠(x − u, x) ≤ π2 . d(u, x) q (1) By Lemma 1, v ′ − u′ is “well inside” some cone C with normals B ∈ B and apex at the origin. Combining this Initial Construction of Solution To initially construct the maximal 1-packing T , first set T = ∅. Let V = {v1 , v2 , . . . , vn }. Then, iteratively for i = 1, 2, . . . , n, query the ORS d.s. on T with B(vi , 1). If the query returns no nodes, then vi is not dominated by T , so add vi to T , and update the ORS d.s. on T . Set i ← i + 1. Once T is fully constructed, for each v ∈ T 22nd Canadian Conference on Computational Geometry, 2010 call the subroutine in Section 6.2.2 to build the necessary connecting paths. Observe that this procedure to e initially construct S requires O(n) work. [10] S. Guha and S. Khuller. Approximation algorithms for connected dominating sets. Algorithmica, 20(4):374–387, 1998. In this paper we presented algorithms for maintaining an O(1)-approximate MCDS for geometric graphs e in Rd with rectilinear metrics in O(1) time per node insertion/removal. Open problems include establishing similar bounds for unit-ball graphs in arbitrary ℓp norms, improving the approximation ratio to arbitrarily small constants, and designing algorithms for distributed models of computation. [12] Erik Jan van Leeuwen. Approximation algorithms for unit disk graphs. In Dieter Kratsch, editor, WG, volume 3787 of Lecture Notes in Computer Science, pages 351–361. Springer, 2005. 7 Conclusion References [1] Pankaj K. Agarwal, Herbert Edelsbrunner, Otfried Schwarzkopf, and Emo Welzl. Euclidean minimum spanning trees and bichromatic closest pairs. Discrete Comput. Geom., 6(5):407–422, 1991. [2] Khaled M. Alzoubi, Peng-Jun Wan, and Ophir Frieder. Message-optimal connected dominating sets in mobile ad hoc networks. In MobiHoc, pages 157–164, 2002. [3] Julien Basch and Leonidas J. Guibas. Data structures for mobile data. J. Algorithms, 31(1):1–28, 1999. [4] Xiuzhen Cheng, Xiao Huang, Deying Li, Weili Wu, and Ding-Zhu Du. A polynomial-time approximation scheme for the minimum-connected dominating set in ad hoc wireless networks. Networks, 42(4):202–208, 2003. [5] Brent N. Clark, Charles J. Colbourn, and David S. Johnson. Unit disk graphs. Discrete Math., 86(13):165–177, 1990. [6] B. Das and V. Bharghavan. Routing in ad-hoc networks using minimum connected dominating sets. In ICC, volume 1, pages 376–380, 1997. [7] David Eppstein. Dynamic euclidean minimum spanning trees and extrema of binary functions. Discrete & Computational Geometry, 13(1):111– 122, Jan 1995. [8] Jie Gao, Leonidas J. Guibas, John Hershberger, Li Zhang, and An Zhu. Discrete mobile centers. In SoCG, pages 188–196, 2001. [9] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. [11] John Hershberger. Smooth kinetic maintenance of clusters. In SoCG, pages 48–57, 2003. [13] Dan E. Willard and George S. Lueker. Adding range restriction capability to dynamic data structures. J. ACM, 32(3):597–617, 1985. [14] Jie Wu and Hailan Li. On calculating connected dominating set for efficient routing in ad hoc wireless networks. In DIALM, pages 7–14, New York, NY, USA, 1999. ACM. [15] Zhao Zhang, Xiaofeng Gao, Weili Wu, and DingZhu Du. PTAS for minimum connected dominating set in unit ball graph. In WASA, pages 154–161, Berlin, Heidelberg, 2008. Springer-Verlag. Appendix Proof of Lemma 1: Consider the cone defined by the set of all positive linear combinations of vectors v1 , v2 , . . . , vd , where in vi all coordinates are 1, except for the i-th coordinate which is equal to 1 + x for some x > 0. Let v0 be the vector with all coordinates equal to 1. Let x √ α = arctan , β = arctan((d − 1) tan α) . (d + x) d − 1 Then one can show by simple calculation that any vector within angle α from vo is in the cone, and that any vector in the cone is within β from v0 , implying that the cone is 2β-narrow. Now rotate this cone around the origin enough times so that for any vector v there is a rotated copy of v0 within α2 from v. There exists a set of O(α−(d−1) ) copies, computable in O(α−(d−1) ) time, that satisfies this property. Then, any vector within α2 of v is inside the cone corresponding to this copy of v0 . Pick x so that   1 δ δ α = arctan , β= . tan d−1 2 2 For δ ≤ π 2, we have α ≤ δ 2 ≤ π 4, so π tan α π α ≥ 4 , = δ/2 4(d − 1) tan 2δ and the claim follows by substituting this lower bound for α in the above statement.  CCCG 2010, Winnipeg MB, August 9–11, 2010 Proof of Lemma 2: (Only if) If v1 ∈ S, then S \ {v (1) } ∪ {v (n) } is another CDS of size no larger than |S|, a contradiction. Similarly if v (n) ∈ S. Now suppose there exist such u, v, w. By symmetry, assume u ∈ {v (1) } ∪ S. Then T = S \ {v} ∪ {w} is a CDS. Furthermore, T 6= S and |T | ≤ |S|, which contradicts minimality and/or uniqueness of S. (If) Assume for contradiction that S is not a unique MCDS, and let T be a different CDS of size no larger than |S|. Since v1 , vn ∈ / S, points in S divide the inter(1) (n) val [v1 , v1 ] into exactly |S| + 1 intervals of nonzero length. It is easy to see that since |T | ≤ |S|, one of these intervals has its interior and at least one of its boundary points disjoint from T . Let v and w be the left and right boundary points, respectively, of one such interval. Furthermore, assume that v ∈ / T (the other case is symmetric). Let u and z be the rightmost (resp. leftmost) element of {v (1) , v (n) } ∪ T strictly to the left (resp. right) of v. Notice that this is well defined, since v ∈ / {v (1) , v (n) } by assumption. By choice of v, w, we have that z is either w or to the right of it. Also, u and z are adjacent, because T is a CDS (this holds even if u = v (1) or z = v (n) ). This implies that u, v, w are pairwise adjacent. We finish the proof by noting that w ∈ S ⊂ {v (n) } ∪ S.  Proof of Lemma 4 (sketch): Let q be the apex of given cone C. Desired O(logd n) instances are defined by a cones with normals B, i.e., the red and blue points of each instance are exactly the two subsets of input point set P separated from each other by some cone. So to describe the set of instances, we show how to construct their defining cones by using a recursive procedure. The input to the procedure is a point set (initially input point set P ), and a set of hyperplanes H that defines a cone (initially empty). Let bi be the basis vector which is not a normal of any hyperplane in H such that i is smallest (initially, b1 ). Find the input point p with median projection onto bi . Let hi be the hyperplane through p with normal bi , i.e., hi = {x ∈ + Rd | bi (x − p) = 0}. If q ∈ h+ i , recurse on P ∩ hi with − − H. If q ∈ hi , recurse on P ∩ hi with H. In any case, recurse on P with H ∪{hi }. If at some level of recursion the input point set is empty, do nothing and simply return. If at some level of recursion there is no valid choice of bi , then current H, at this point consisting of d hyperplanes, is one of the cones. Let (x, y) be a pair of input points separated by C. We argue that one of the generated cones indeed separates (x, y). Consider the top level of recursion. Note that if x and y are on the same side of h1 , they have to be on the same side as q. In that case, the first recursive call halves halves the number of points while keeping x and y in the set. Otherwise, the second recursive call increases the number of hyperplanes in H so that x and y are on different sides of each of the hyperplanes. This proves that the procedure eventually outputs a valid cone H that separates (x, y). It is not hard to see that O(logd n) recursive calls are made in total. Recall that we claimed that all these instances are in the d.s. I(B). This is because the instances in I(B) are also generated by the above algorithm, except that all three recursive calls are made (since q is unavailable), e resulting in O(n) instances in total. Because of their hierarchical structure, they can be efficiently updated. See [1, 7] for more details.