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.