3
on P , i.e., B
k
(P ) = min
p∈P
ℓ
k
(p, U ) where p is a point on
the path P .
The main questions studied in the paper are as follows.
Question 1: Optimal k-Support Path (Best Case Cover-
age) Problem: Given a pair of points S and T in the region
Ω, finding a path P inside Ω to connect S and T such that
S
k
(P ) is minimized.
Question 2: Optimal k-Breach Path (Worst Case Cover-
age) Problem: Given a pair of points S and T in the region
Ω, finding a path P inside the field Ω to connect S and T
such that B
k
(P ) is maximized.
In the remaining part of this section, we present some key
concepts that are critical to our polynomial solutions.
2.2 The k
th
Nearest Point Voronoi Diagram
Definition 4: Given a set of identical sensor nodes U =
{u
1
, u
2
, · · · , u
n
} deployed in the field Ω, we assign a geom-
etry point p in Ω to the sensor node u
i
∈ U if u
i
is the k
th
nearest sensor node of p. Following this assignment rule, we
assign all points in the field to at least one sensor node in
U. As a result, we obtain a collection of regions associated
with sensor nodes in U, denoted by V
k
= {V
k
(u
1
), ...V
k
(u
n
)},
which forms a tessellation. We call the tessellation V
k
the k
th
Nearest Point Voronoi Diagram (k
th
-NP Voronoi Diagram)
of U , and the region V
k
(u
i
) the k
th
- NP Voronoi region of
node u
i
.
Clearly, according to the definition of k
th
-NP Voronoi
diagram, all points inside region V
k
(u
i
) have the same k
th
nearest sensor node u
i
∈ U. It is worth observing that
V
k
(u
i
) may consist of several independent polygons. Here we
call each independent polygon as the k
th
-NP Voronoi cell
(denoted by C
k
(u
i
)) of node u
i
and name u
i
as the k
th
-
owner (abbreviated to owner) of C
k
(u
i
). In addition, an edge
of some k
th
-NP Voronoi cell is called a k
th
-NP Voronoi edge
and the intersection point of any two k
th
-NP Voronoi edges is
named as the k
th
-NP Voronoi vertex. When some point (e.g.,
falling on some k
th
-NP Voronoi edge) has multiple owners, it
randomly chooses one of them as the owner.
Definition 5 (Perfect Support Location): The perfect sup-
port location of a k
th
-NP Voronoi edge is defined as the point
with the minimum k
th
-distance on the edge, i.e., point p is
the perfect support location of the k
th
-NP Voronoi edge e iif
||pu
i
|| = min
∀p∈e
{||pu
i
||} where u
i
∈ U is the owner of e.
It is worth mentioning that for each k
th
-NP Voronoi edge,
it has one and only one perfect support location.
2.3 Difference Between k
th
-NP Voronoi Diagram and
Order-k Voronoi Diagram
Since most of our results are based on k
th
-NP Voronoi dia-
gram, most properties of which are unknown to the literature,
it is helpful to briefly discuss the differences between k
th
-
NP Voronoi diagram and another well-known concept, order-k
Voronoi diagram [2].
Definition 6 (The Order-k Voronoi Diagram [2]): The
order-k Voronoi diagram is a partition of the plane into
regions such that points in each region have the same k
closest sensor nodes in set U
[k]
where U
[k]
is a subset
of nodes in U with cardinality k. Each polygon is named
order-k Voronoi cell C
ok
(U
[k]
) corresponding to the subset
U
[k]
of U .
According to the Definition 4 and Definition 6, the k
th
-NP
Voronoi diagram of a set of sensor nodes U partitions the
plane into cells such that all points in the same cell have the
same k
th
nearest sensor node ∈ U while the order-k Voronoi
diagram [2] of a set of sensor nodes U partitions the plane
into cells such that all points in the same cell have the same
set (maybe in different distance orders) of k nearest sensors
out of U. Please refer to the examples shown in Fig. 1 (in
Appendix) for details.
2.4 Compute the k
th
-NP Voronoi Diagram in Polyno-
mial Time
We first present the method to compute the k
th
-NP Voronoi
diagram with respect to sensor node set U in polynomial time
since the k
th
-NP Voronoi diagram plays an important role in
our solutions.
Definition 7 (The Farthest Point Voronoi Diagram): The
farthest point Voronoi diagram is a special case of k
th
-NP
Voronoi diagram when k = n. It is a partition of the plane
into polygons such that points in the same polygon have the
same farthest sensor node u
i
out of U with cardinality n.
Each polygon is called a farthest Voronoi cell.
Lemma 1: For any point p in the plane Ω, p ∈ C
k
(u
i
) if
and only if p is located in some order-k Voronoi cell C
ok
(U
[k]
)
where u
i
∈ U
[k]
and u
i
is p’s farthest sensor node among all
k sensor nodes in U
[k]
.
Proof: Please refer to the supplementary file.
Based on Lemma 1, we propose the following Alg. 1 with
time complexity O(k
2
n lg n) (proved in Lemma 6) to compute
the k
th
-NP Voronoi diagram of the sensor node set U . The
main idea of our method is as follows.
1) Compute the order-k Voronoi diagram of the given sensor
nodes set U using the algorithm given in [7].
2) For each order-k Voronoi cell C
ok
(U
[k]
) (defined in
[7]), we compute the farthest Voronoi diagram of its
corresponding k sensor nodes set U
[k]
following the
method in [13]; and for each sensor node u
i
∈ U
[k]
,
return the corresponding farthest Voronoi cell as a part
of u
i
’s k
th
-NP Voronoi cell.
3) For each sensor node u
i
, we union any two k
th
-NP
Voronoi cells computed in step 2 as one k
th
-NP Voronoi
cell if they both have the same owner and share at least
one edge. After the union operation, we get k
th
-NP
Voronoi diagram G of U .
Now we are ready to present our polynomial time algo-
rithms computing the optimal k-support path and the optimal
k-breach path within O(k
2
n log n) time.
Given a set of sensor nodes U with cardinality n and the
continuous field Ω, our algorithm computing the optimum k-
support path mainly consists of two phases. In the first phase,
we use Algorithm 1 to compute the k
th
-NP Voronoi diagram G
in time O(k
2
n log n). During the second phase, we construct
a new weighted graph G
′
based on k
th
-NP Voronoi diagram
V
k
= {V
k
(u
1
), ...V
k
(u
n
)} (output of Alg. 1) and then compute
the optimal k-support path on G
′
in time O(k
2
n log n).