ε -Net Approach to Sensor k -Coverage

,


Introduction
Coverage problems have been extensively studied in the context of sensor networks (see, e.g., [1][2][3][4]). The objective of sensor coverage problems is to minimize the number of active sensors, to conserve energy usage, while ensuring that the required region is sufficiently monitored by the active sensors. In an over-deployed network we can also seek k-coverage, in which every point in the area is covered by at least k sensors. This ensures higher fault tolerance, robustness, and improves many operations, among which position detection and intrusion detection.
The k-coverage problem is trivially NP-complete, and hence we focus on designing approximation algorithms. In this paper, we extend the well-known ε-net technique to our problem and present an O(log M)-factor approximation algorithm, where M is the size of the optimal solution. The classical greedy algorithm for set cover [5], when applied to k-coverage, delivers an O(k log n)-approximation solution, where n is the number of target points to be covered. Our approximation algorithm is an improvement over the greedy algorithm, since our approximation factor of O(log M) is independent of k and of the number of target points.
Instead of solving the sensor's k-coverage problem directly, we consider a dual problem, the k-hitting set. In the k-hitting set problem, we are given sets and points, and we look for the minimum number of points that "hit" each set at least k times (a set is hit by a point if it contains it). Brönnimann and Goodrich were the first [6] to solve the hitting set using the ε-net technique [7]. In this paper, we introduce a generalization of ε-nets, which we call (k, ε)-nets. Using (k, ε)-nets with the Brönnimann and Goodrich algorithm's [6], we can solve the k-hitting set, and hence the sensor's k-coverage problem. Our main contribution is a way of constructing (k, ε)-nets by random sampling. A recent Infocom paper [8] uses ε-nets to solve the k-coverage problem. However we believe that their result is fundamentally flawed (see Section 2.1 for more details). So, to the best of our knowledge, we are the first to give a correct extension of ε-nets for the k-coverage problem.
Paper Organization. The rest of the paper is organized as follow. The k-coverage problem is introduced in Section 2. Section 2.1 contains detailed discussion about related work. The ε-net approach is presented in Section 3.

Problem Formulation and Related Work
We start by defining the sensing region and then we will define the k-coverage problem with sensors. In the literature, sensing regions have been often modeled as disks. In this paper, we consider sensing regions of general shape, because this reflects a more realistic scenario.
Definition 1 (sensing region). The sensing region of a sensor is the area "covered" by a sensor. Sensing regions can have any shape that is closed, connected, and without holes, as in Figure 1(a). Often, sensing regions are modeled as disks as in Figure 1(b), but we consider more general shapes.
Definition 2 (target points). Target points are the given points in the 2D plane that we wish to cover using the sensors.
k-SC Problem. Given a set of sensors with fixed positions and a set of target points, select the minimum number of sensors, such that each target point is covered (is contained in the selected sensing region) by at least k of the selected sensors.
For simplicity, we have defined the above k-SC problem's objective as coverage of a set of given target points. However, as discussed later, our algorithms and techniques easily generalize to the problem of covering a given area.
Example 1. Suppose we are given 4 sensors and 20 points as in Figure 2(a), and we want to select the minimum number of sensors to 2-cover all points. In this particular example, 2 sensors are not enough to 2-cover all points. Instead, 3 sensors suffice, as shown in Figure 2(b).

Related Work.
In the recent years, there has been a lot of research done [1][2][3]9] to address the coverage problem in sensor network. In particular, Slijepcevic and Potkonjak [3] design a centralized heuristic to select mutually exclusive sensor covers that independently cover the network region. In [2], Charkrabarty et al. investigate linear programming techniques to optimally place a set of sensors on a sensor field for a complete coverage of the field. In [10], Shakkottai et al. consider an unreliable sensor network, and derive necessary and sufficient conditions for the coverage of the region and connectivity of the network with high probability. In one of our prior works [1], we designed a greedy approximation algorithm that delivers a connected sensor cover within a logarithmic factor of the optimal solution; this work was later generalized to k-coverage in [11].
Recently, Hefeeda and Bagheri [8] used the well-known ε-net technique to solve the problem of k-covering the sensor's locations. However, we strongly believe that their result is fundamentally flawed. Essentially, they select a set of subsets of size k (called k-flowers) represented by the center of their locations. However, their result is based on the following incorrect claim that if the centers of a set of k-flowers 1-cover a set of points N, then the set of sensors associated with the k-flowers will k-cover N. In addition, in their analysis, they implicitly assume that an optimal solution can be represented as a disjoint union of k-flowers, which EURASIP Journal on Wireless Communications and Networking 3 is incorrect. In this paper we present a correct extension of the ε-net technique for the k-coverage problem in sensor networks.
Two closely related problems to the sensor-coverage problem are set cover and hitting set problems. The area covered by a sensor can be thought as a set, which contains the points covered by that sensor. The hitting set problem is a "dual" of the set cover problem. In both set cover and hitting set problems, we are given sets and elements. While in set cover the goal is to select the minimum number of sets to cover all elements/points, in hitting set the goal is to select a subset of elements/points such that each set is hit. The classical result for set cover [5] gives an O(log n)approximation algorithm, where n is the number of target points to be covered. The same greedy algorithm also delivers a O(k log n)-approximation solution for the k-SC problem. In contrast, the result in this paper yields an O(log M)approximation algorithm for the k-SC problem, where M is the optimal size (i.e., minimum number of sensors needed to provide k-coverage of the given target points). Note that our approximation factor is independent of k and of the number of target points.
Brönnimann and Goodrich [6] were the first to use the ε-net technique [7] to solve the hitting set problem and hence the set cover with an O(log M)-approximation, where M is the size of the optimal solution. In this paper, we extend their ε-net technique to k-coverage. It is interesting to observe that our extension is independent of k and it gives an O(log M)-approximation also for k-coverage. For the particular case of 1-coverage with disks, it is possible to build "small" ε-nets using the method of Matoušek, Seidel, and Welzl [12] and obtain a constant-factor approximation for the 1-hitting set problem. Their method [12] can be easily extended to k-hitting set, and this would give a constantfactor approximation for the k-SC problem when the sensing regions are disks. However, in this paper we focus on sensing regions of arbitrary shapes and sizes, as long as they are closed, connected, and without holes.
Another related problem is the art gallery problem (see [13] for a survey) which is to place a minimum number of guards in a polygon so that each point in the polygon is visible from at least one of the guards. Guards may be looked upon as sensors with infinite range. However, in this paper, we focus on selecting already deployed sensor.

The ε-Net-Based Approach
In this section, we present an algorithm based on the classical ε-net technique, to solve the k-coverage problem. The classical ε-net technique is used to solve the hitting set problem, which is the dual of the set cover problem. The k-SC problem is essentially a generalization of the set cover problem-thus, we will extend the ε-net technique to solve the corresponding generalization of the hitting set problem.

Hitting Set
Problem and the ε-Net Technique. We start by describing the use of the classical ε-net technique to solve the traditional hitting set problem. We begin with a couple of formal definitions.
Set Cover (SC); Hitting Set (HS). Given a set of points X and a collection of sets C, the set cover (SC) problem is to select the minimum number of sets from C whose union contains (covers) all points in X. The hitting set (HS) problem is to select the minimum number of points from X such that all sets in C are "hit" (a set is considered hit, if one of its points has been selected).
Note that HS is a dual of SC, and hence solving HS is sufficient to solve SC.
We now define ε-nets. Intuitively, an ε-net is a set of points that hits all large sets (but may not hit the smaller ones). For the overall scheme, we will assign weights to points, and use a generalized concept of weighted ε-nets that must hit all large-weighted sets.
Definition 3 (ε-Net; Weighted ε-Net). Given a set system (X, C), where X is a set of points and C is a collection of sets, a subset H ∈ X is an ε-net if for every set S in C s.t. |S| ≥ ε|X|, we have that H ∩ S / = ∅. Given a set system (X, C), and a weight function w : Using ε-Nets to Solve the Hitting Set Problem. The original algorithm for solving hitting set problem using ε-net was invented by Brönnimann and Goodrich [6]. Below, we give a high-level description of their overall approach (referred to as the BG algorithm), because it will help understand our own extension. We begin by showing how ε-nets are related to hitting sets, and then, show how to use ε-nets to actually compute hitting sets.
Let us assume that we have a black-box to compute weighted ε-nets, and that we know the optimal hitting set H * which is of size M. Now, define a weight function w * as w * (x) = 1 if x ∈ H * and w * (x) = 0 otherwise. Then, set ε = 1/M, and use the black-box to compute a weighted ε-net for (X, C, w * ). It is easy to see that this weighted ε-net is actually a hitting set for (X, C), since w * (S) ≥ εw * (X) for all sets S ∈ C. There are known techniques [7] to compute weighted ε-nets of size O((1/ε) log(1/ε)) for set systems with a constant VC-dimension (defined later); thus, the above gives us an O(log M)-approximate solution. For the particular case of disks, it is possible to construct ε-nets of size O(1/ε) [12] and hence obtain a constant-factor approximation.
However, in reality, we do not know the optimal hitting set. So, we iteratively guess its size M, starting with M = 1 and progressively doubling M until we obtain a hitting set solution (using the above approach). Also, to "converge" close to the w * above, we use the following scheme. We start with all weights set to 1. If the computed weighted ε-net is not a hitting set, then we pick one set in C that is not hit by it and double the weights of all points that it contains. Then, we iterate with the new weights. It can be shown that if the estimate of M is correct and using ε = 1/(2M), then we are guaranteed to find a hitting set using the previous approach after a certain number of iterations. Thus, if we do not find a hitting set after enough iterations, we double the estimate of M and try again. It can be shown in [6] that the previous approach finds an O(log M)-approximate hitting set in polynomial time for set systems with constant VC-dimension (defined below), where M is the size of the optimal hitting set.

VC-dimension.
We end the description of the BG algorithm, with the definition of Vapnik-Cervonenkis (VC) dimension of set systems. Informally, the VC-dimension of a set system (X, C) is a mathematical way of characterizing the "regularity" of the sets in C (with respect to the points X) in the system. A bounded VC-dimension allows the construction of an ε-net through random sampling of large enough size. The VC-dimension is formally defined in terms of set shattering, as follows.
Definition 4 (VC-dimension). A set S is considered to be shattered by a collection of sets C if for each S ⊆ S, there exists a set C ∈ C such that S ∩ C = S . The VC-dimension of a set system (X, C) is the cardinality of the largest set of points in X that can be shattered by C.
In our case, the VC dimension is at most 23 as given by the following theorem by Valtr [14]. Theorem 1. If X ⊂ R 2 is compact and simply connected, then VC-dimension of the set system (X, C), where X is a set of points and C is a collection of sets, is at most 23.
Note that for a finite collection of sensors, whose covering regions are compact and simply connected, the dual is compact and simply connected too.

k-Hitting
Set Problem and the (k, ε)-Net Technique. We now formulate the k-hitting set (k-HS) problem, which is a generalization of the hitting set problem, normely, we want each set in the system to be hit by k selected points.
Definition 5 (k-hitting set (k-HS)). Given a set system (X, C), the k-hitting set (k-HS) problem is to find the smallest subset of points H ⊆ X with at most one point for each sibling-set such that H hits every set in C at least k times.

Connection between k-HS and k-SC Problem.
Note that the previous k-HS problem is the (generalized) dual of our sensor k-coverage problem (k-SC problem). Essentially, each point in the k-HS problem corresponds to a sensing region of a sensor, and each set in the k-HS problem corresponds to a target point. In what followos, we describe how to solve the k-HS problem, which essentially solves our k-SC problem. To solve the k-HS, we need to define and use a generalized notion of ε-net.
Definition 6 (weighted (k, ε)-net). Suppose that (X, C) is a sibling-set system, and w : Using (k, ε)-Nets to Solve k-HS. We can solve the k-HS problem using the BG algorithm [6], without much modification. However, we need an algorithm compute weighted (k, ε)nets. The below theorem states that an appropriate random sampling of about O(k/ε log k/ε) points from X gives a (k, ε)-net with high probability, if the set system (X, C) has a bounded VC-dimension. For the sake of clarity, we defer the proof of the following theorem. Theorem 2. Let (X, C, w) be a weighted set system. For a given number m, let N(m) be a subset of points of size m picked randomly from X with probability proportional to the total weight of the points in such subset.
Then, for , and d is the VC-dimension of the set system. Now, based on the prevouise theorem, we can use the BG algorithm with some modifications to solve the k-HS problem. Essentially, we estimate the size M of an optimal k-HS (starting with 1 and iteratively doubling it), set ε = k/(2M), and use Theorem 2 to compute a (k, ε)-net N of size m. Theorem 2 gives a (k, ε)-net with high probability. It is possible to check efficiently if the obtained set is indeed a (k, ε)-net. If it is not, we can try again until we get one. On average, a small number of trials are sufficient to obtain a (k, ε)-net. If N is indeed a k-hitting set, we stop; else, we pick a set in the system C that is not k-hit and double the weight of all the points it contains. With the new weights, we iterate the process. It can be shown that within (4/k)Mlog 2 (n/M) iterations of weight-doubling, we are guaranteed to get a k-HS solution if the optimal size of a k-HS is indeed M. See Appendix A for the proof, which is similar to the one for BG in [6]. Thus, after (4/k)M log 2 (n/M) iterations, if we have not found a k-HS, we can double our current estimate of M, and iterate. see Algorithm 1. The below theorem shows that the previous algorithm gives an O(log M)-approximate solution in polynomial time with high probability for general sets. The proof of the following theorem is again similar to that for the BG algorithm [6]. We now prove the approximation factor. An optimal algorithm would find a k-hitting set of size M. If the VCdimension is a constant, the k-HS method of Theorem 2 finds a (k, ε)-net Outline of Proof of Theorem 2. There are two challenges in generalizing the random-sampling technique of [7], namely, (i) sampling with replacement cannot be used, and (ii) weights must be part of the sampling process. [7] to k-Hitting Set. The classical method [7] of constructing a ε-net consists of randomly picking a set N of at least m points, for a certain m, where each point is picked independently and randomly from the given set of points. This way of constructing a ε-net may result in duplicate points in N, but the presence of duplicates does not cause a problem in the analysis. Thus, we can also construct weighted ε-net easily by emulating weights using duplicated copies of the same point. The above described approach works well for 1hitting set, partly because we do not count the number of times each set is hit. However, for the case of k-hitting set, when constructing a (k, ε)-net, we need to ensure that the number of distinct points that hit each set is at least k. Thus, constructing a (k, ε)-net by picking points independently at random (with duplicates) does not lead to correct analysis. Instead, we suggest a novel method to construct a weighted (k, ε)-net N by: (i) selecting a random subset of points (without duplicates) at once, and (ii) including the weights directly in the previous sampling process. To the best of our knowledge, we are the first one to propose this extension (as discussed before, [8] uses ε-nets to solve sensor's k-coverage, but their method is flawed).

Challenges in Extending the Technique of
Proof Sketch of Theorem 2. Let m be as given by (1), and let N be the subset of points randomly picked from X as described in Theorem 2. After picking N, pick another set T (for the purposes of the below analysis) in the same way as N. We now define two events where Z = N ∪ T and εm ≤ E[|A ∩ Z|]/2. The proof consists of 3 major steps.
(2) We use an alternate view. Instead of picking N and then T, pick Z ⊆ X of size 2m, then pick N ⊆ Z and set T = Z \ N. It can be shown that the two views are equivalent. Now, define Since Since E A depends only on the intersection A ∩ Z (3) it is similar to [7]. Please, refer to Appendix B for the detailed proof.
Remark 1. Note that the approximation factor of Theorem 3 could be improved, if we could design an algorithm to construct smaller (k, ε)-nets. For instance, if we could construct a (k, ε)-net of size O(k/ε), then we would have a constant-factor approximation for the k-HS problem. For the particular case of disks, it is easy to extend the method in [12] to build a (k, ε)-net of size O(k/ε) (see Appendix C for more details). Essentially, it is enough to replace δ = ε/6 with δ = ε/(6k) and the proof follows through. Also note that the dual of disks and points is also composed by disks and points. if each set in C is k-hit by N, return N; 8 select a set in C that is not k-hit, and double the weight of all the points in the set; Algorithm 1: Solving k-HS problem using (k, ε)-nets. Since k-HS is the dual of k-SC, this algorithm also solves k-SC (in k-SC, X corresponds to the set of sensors, and C to the set of target points).

Distributed ε-Net
Approach. Distributed implementation of the ε-net algorithm requires addressing the following main challenges.
(1) We need to construct a (k, ε)-net, through some sort of distributed randomized selection.
(2) For each constructed (k, ε)-net N, we need to verify in a distributed manner whether N is indeed a kcoverage set (k-hitting set in the dual).
(3) If N is not a k-coverage set, then we need to select one target point (a set in the dual) that is not k-covered by N and double the weights of all the sensing regions covering it.
We address the previous challenges in the following manner. First, we execute the distributed algorithm in rounds, where a round corresponds to one execution of the inner for loop of Algorithm 1 (i.e., execution of the sampling algorithm for a particular set of weights and a particular estimate of M). We implement rounds in a weakly synchronized manner using internal clocks. Now, for each of the previous challenges, we use the following solutions.
(1) Each sensor keeps an estimate of the total weight of the system and computes m independently. To select m sensors, each sensor decides to select itself independently with a probability p = m * own weight/total weight, resulting in selection of m sensors (in expectation).
(2) Locally, verify k-coverage of the owned target points, by exchanging messages with near-by (that cover a common target point) sensors. If a target point owned by a sensor D and its near-by sensors are all k-covered for a certain number of rounds (e.g., 10), then D exits the algorithm.
(3) Each sensor decides to select one of the owned target points with a probability of q = 1/((1 − ε) n) , which ensures that the expected number of selected target point is 1.

Generalizations to k-Coverage of an Area.
The ε-net approach can also be used to k-cover a given area, rather than a given set of target points (as required by the formulation of k-SC problem). Essentially, coverage of an area requires dividing the given area into "subregions" as in our previous work [1]; a subregion is defined as a set of points in the plane that are covered by the same set of sensing regions. The number of such subregions can be shown to be polynomial in the total number of sensing regions in the system. The algorithm described here can then be used without any other modification, and the performance guarantee still holds.

Conclusions
In this paper, we studied the k-coverage problem with sensors, which is to select the minimum number of sensors so that each target point is covered by at least k of them. We provided an O(log M)-approximation, where M is the number of sensors in an optimal solution. We introduced a generalization of the classical ε-net technique, which we called (k, ε)-net. We gave a method to build (k, ε)-nets based on random sampling. We showed how to solve the sensor's k-coverage problem with the Brönnimann and Goodrich algorithm [6] together with our (k, ε)-nets. We believe to be the first one to propose this extension. As a future work, we would like to extend this technique to directional sensors. A directional sensor is a sensor that has associated multiple sensing regions, and its orientation determines its actual sensing region. The k-coverage problem with directional sensors is NP-complete and in [15] we proposed a greedy approximation algorithm. We believe that the use of (k, ε)-nets can give a better approximation factor for this problem.

A. About the Number of Iterations of the Doubling Process
This appendix contains the proof that when M is equal to the size of the k-hitting set, then k/(2M), 4/k · M log 2 n/M iterations of the doubling process are enough to retrieve the optimal k-hitting set. This proof follows the lines of the one in [6], but with the additional parameter k. Proof. Initially w(X) = |X| = n. The set S selected at the end of the internal for loop satisfies w(S) < ε · w(X), because the algorithm found a weighted ε-net. Doubling the weights of the elements in S adds a total of w(S) new weight to the system. So w(X) grows at most by a (1 + ε) factor at each iteration. Then, after t iterations Let H * be the optimal k-hitting set. Initially we have w(H * ) = |H * | = M. Since H * is a k-hitting set, there are least k elements of H * in each set of R. So for any possible set S chosen in step 11, there are at least k elements of H * that are doubled. By the convexity of the function 2 x , the increase of w(H * ) is minimal if the doublings are spread out over the elements of H * as evenly as possible. So after t iterations, we have Since the weights are positive and H * ⊆ X, w(H * ) ≤ w(X). We need to find the largest t for which can be true. Taking the log and solving for t where we used the fact that log 2 (1+x) ≤ 3/2x for x > 0. Since the expression on the RHS is O(n) for any possible value of M, the theorem follows.

B. Computing Weighted (k, ε)-Nets by Random Sampling
This appendix contains the proof of Theorem 2, which is an extension of the ε-net theorem of Haussler and Welz [7]. As explained in Section 3.2, the two challenges in generalizing the random-sampling technique are that (i) sampling with replacement cannot be used, and (ii) weights must be part of the sampling process. Our contribution is a new method to obtain weighted (k, ε)-nets in which (i) we sample a subset of points at once (without duplicates), and (ii) we include the weights directly in the sampling process. We start by proving three lemmas, and then we will prove Theorem 2. Let m be as given by (1), and let N be the subset of points randomly picked from X as described in Theorem 2. After picking N, pick another set T (for the purpose of the below analysis) in the same way as N. We now define two events Intuitively, E 2 is the event that N does not k-hit some set A ∈ C, but Z has a "large" intersection with the set A (also remember that T is disjoint from N). Note that 2εm is a lower bound the average size of the intersection of A and Z (as computed below).

Lemma 1. It holds that
Each subset N (resp., T) is picked with probability proportional to the sum of the weights of its elements, and each element can appear in n−1 m−1 (resp., n−m−1 m−1 ) subsets (because these are the ways of putting every other elements in the remaining positions). So the probability of picking one element depends only on its weight, and not on the other elements, which means that the elements are pairwise independent. So we have that where w(·) is a function that returns the weight of given set, which is defined as the sum of the weights of its elements.
To bound the deviation from the expectation, we use Chebyshev's inequality

EURASIP Journal on Wireless Communications and Networking
Since Y i 's are independent, the covariance is zero. So we get where we used the fact that for the 0- where in the last inequality we used the fact that Finally we have that Proof. The experiment of picking N and T can be viewed in an alternative way. Pick a subset Z ⊆ X of size 2m at random (each subset is picked with probability proportional to the sum of the weights of its elements). Then, pick N as a subset of Z of size m at random (again with probability proportional to the sum of the weights of its elements). Finally, let T = Z\N. Note that this view is equivalent because the probability of picking any subset N is the same as before, (similarly for T). This can be verified as follow. We are going to compute the probability of picking a certain subset N in both cases. In order to do this, we need to compute the sum of all possible sets of size m. Among all possible sets of size m, each element appears in exactly n−1 m−1 of them (because these are the ways of putting every other element in the remaining positions). Now, it is not necessary to know exactly in which set each element gives its contribution, but it is enough to know that it appears a total of n− Their product can be bounded in the following way: where in the last inequality we used the fact that which can be proved by induction. The base case, k = 1, is trivial. Assuming that the formula is valid for k − 1, we get where in the last inequality we used the fact that m ≥ 1.
Proof. See [16]. Given a set system (X, C), for any subset of the points N ⊆ X, let C |N denote the projection of C onto N, that is, the set {A ∩ N|A ∈ C}.

Corollary 1. For any set system
Finally, we prove the main theorem. If this inequality is valid for some value of m, then it is for any valid for any bigger value of m. So we just need to verify it for m = 4(d + 2k − 2)/ε log(4(d + 2k − 2)/ε). Plugging in m we get and this is equivalent to which is definitely true.  Figure 3: Colored disks, corridors, and halls. Note that points are not necessarily on the boundaries of the disks, but they are drawn this way to make the picture clearer

C. Computing Small Weighted (k, ε)-Nets for Disks
In this appendix we present a simple extension of [12] to build small weighted (k, ε)-nets for disks. The original construction in [12] easily extends to (k, ε)-nets by replacing δ = ε/6 with δ = ε/(6k). The proof presented here is simplified respect to the original one, because we consider only disks, instead of pseudodisks. The underlining idea is to pick points that are spaced apart, which hit all large enough disks. The strategy that we are going to use is to draw "colored" disks that contain a fixed number of points, and select points only on the border of the colored disks. The position and the size of colored disks depend on the input points, but not on the input disks. All colored disks, but one, will have exactly δn input points, where δ = ε/(6k). Each input point gets the color of the colored disks that covers it or remains uncolored if uncovered. After placing the colored disks, we compute a Dealaunay triangulation (DT) of the colored points. DT will have uni-colored, bi-colored, and tri-colored triangles. Triangles will have uni-colored and bi-colored edges. Let us define some terminology (see Figure 3). Definition 7 (corridor; hall; sides; ends; corners). (i) Let a corridor be a maximal connected chain of bi-colored triangles in DT sharing bi-colored edges. In our construction, corridors are between two colored disks.
(ii) Let a hall be a maximal group of adjacent tri-colored triangles (this is a generalization of the degenerate-corridors of [12]). In our construction, halls are between 3 or more disks, attached to the end of the corridors.
(iii) Corridors are bounded by two chains of uni-colored edges, which we call sides, and two bi-colored edges, which we call ends.
(iv) We call the endpoints of the sides the corners of the subcorridor. Note that one of the sides can degenerate in a single point, in which case there are 3 corners, instead of 4.
1 Let δ = ε/(6k); 2 Let X 1 , . . . , X j be disjoints subsets of X with the following properties: − conv(X) ⊆ 1≤i≤ j X i (where conv is the convex hull) − each X i is representable as X ∩ H i for some halfplane H i (or equivalently, X i = X ∩ D i for some (large enough) This construction of subsets of X can be done by disk D i , and to simplify the proof we can think that D i is bigger than any input disk) − |X i | = δn for 1 ≤ i < j, and |X j | ≤ δn repeatedly "biting off " subsets of X with halfplanes 3 Let X i+1 , . . . , X r be a maximal collection of disjoint subsets of X \ 1≤i≤ j X i satisfying: For each i, 1 ≤ i ≤ r, color the points of X i with color i, and call D i the disk defining color i, or colored disk i.
Let X be the set of colored points, and call the points in X \ Xcolorless; 5 Let DT be the Dealaunay triangulation of the set of colored points X; 6 Break each corridor C into a minim number of subcorridors, i.e. subchains of the chain of triangles that form C, so that each subcorridor contains at most δn colorless points 7 Let N be the set of the corners of all subcorridors. Clearly N ⊂ X; 8 Return N has the (k, ε)-net for D; Algorithm 2: Small (k, ε)-nets for disks.
We start by describing the algorithm for the unweighted case, and we will show how to add weights afterwords. We are given 0 < ε ≤ 1, a family D of disks, and a set X of n > 2 points in the plane. For simplicity assume that the points are in general position (i.e., no three points are collinear, and no four points are cocircular). Let define δ = ε/(6k) (the reason for this will be clear soon). Let X 1 , . . . , X j be disjoints subsets of X constructed in the following manner. From the boundary of X, "bite off " subsets of X of size δn with the following properties.
(i) The union of all the X i subsets contains the boundary points of X: conv(X) ⊆ 1≤i≤ j X i (where conv is the convex hull).
(ii) Each X i is representable as X ∩ H i for some half-plane H i (or equivalently, X i = X ∩ D i for some (large enough) disk D i , and to simplify the proof we can think that D i is bigger than any input disk).
Now, consider the internal points of X, that are not part of any disk X i . We are going to draw the largest number of disks of size δn to cover the internal points. Specifically, let X i+1 , . . . , X r be a maximal collection of disjoint subsets of X \ 1≤i≤ j X i satisfying (i) X i = X ∩ D i for some disk D i , (ii) |X i | = δn for j < i ≤ r.
At this point, we have a total of r disks X i . For each i, 1 ≤ i ≤ r, color the points of X i with color i, and call D i the disk defining color i, or colored disk i. Let X be the set of colored points, and call the points in X \ Xcolorless. Let DT be the Dealaunay triangulation of the set of colored points X. Break each corridor C into a minim number of subcorridors, that is, subchains of the chain of triangles that form C, so that each subcorridor contains at most δn colorless points. Let N be the set of the corners of all subcorridors. Clearly N ⊂ X. We are going to show that N is a the (k, ε)-net for D that is, any disk of D that contains εn points of X also contains k points of N. This construction is summarized in Algorithm 2.
First of all note that colorless points can only be in corridors and halls (because unicolored triangles are contained in the corresponding color-defining disks). Also, we can observe that any disk D ∈ D containing no colored points contains less than δn points of X. In fact, from the maximality of the construction, there cannot be colorless disks with δn points. Than we claim what follows.
Proof. See [12]. Note that, since all X i are disjoint, and all but maybe one contain δn points, so r ≤ 1/δ + 1.
We now prove the (k, ε)-net theorem for disks.
Theorem 5 ((k, ε)-net theorem for disks). Algorithm 2 creates a (k, ε)-net of size O(k/ε) for (X, D), where X is a set of points (|X| > 2) in non-D-degenerate position (i.e., no three points are collinear, and no four points are cocircular), and D is a family of disks.
Proof. By claim C we have that the size of N is O(k/ε). So we only need to show that N contains at least k points in each input disk of size at least εn.
First of all, the case k = 1 is already proved in [12], so we focus on the case of k ≥ 2.
For a generic input disk of size at least εn, we are going to compute the minimum number of corners contributed by each intersecting region (colored disk, subcorridor, or hall), while assuming that it has the largest possible intersection. Also, we will pay attention not to count the same corner multiple times. If a colored disk is completely contained in an input disk, it will contribute for the biggest number of corners. So we should only consider colored disks that intersect the boundary of the input disk. We claim that the minimum contribution is given when the boundary of an input disk intersects an alternation of colored disks and corridors. In this case we should count 1 corner, for each colored disk/corridor. The only case in which (a part of) the boundary of the input disk does not intersect any colored disk is when it is contained inside a corridor. But this can only happen if there is a colored disk inside the input disk, but we already argued that this will give a higher contribution. The following is an upper bound on the number of intersecting points. There can be δn points for the colored disk, plus another δn points for the subcorridor on the side of the corner that we are counting, plus another δn points for the hall adjacent to them. This means that for 3δn points there is at least 1 corner. We are considering input disks of size at least εn = 6kδn, and this implies that there are at least k points in each disk.
Finally, we consider the weighted case. The construction is similar to the unweighted one, with the only difference that the colored disks contain δw(X) points, where w(X) is the sum of the weights of all points. It is easy to see that the proof follows through.