This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

The kk-Colorable Unit Disk Cover Problem

Monith S. Reyunuru Amazon Development Center, Hyderabad, India Kriti Jethlia Manjanna Basappa Birla Institute of Technology & Science Pilani, Hyderabad Campus, India manjanna@hyderabad.bits-pilani.ac.in
Abstract

In this article, we consider colorable variations of the Unit Disk Cover (UDC) problem as follows.

kk-Colorable Discrete Unit Disk Cover (kk-CDUDC): Given a set PP of nn points, and a set DD of mm unit disks (of radius=1), both lying in the plane, and a parameter kk, the objective is to compute a set DDD^{\prime}\subseteq D such that every point in PP is covered by at least one disk in DD^{\prime} and there exists a function χ:DC\chi:D^{\prime}\rightarrow C that assigns colors to disks in DD^{\prime} such that for any dd and dd^{\prime} in DD^{\prime} if ddd\cap d^{\prime}\neq\emptyset, then χ(d)χ(d)\chi(d)\neq\chi(d^{\prime}), where CC denotes a set containing kk distinct colors.

For the kk-CDUDC problem, our proposed algorithms approximate the number of colors used in the coloring if there exists a kk-colorable cover. We first propose a 4-approximation algorithm in O(m7knlogk)O(m^{7k}n\log k) time for this problem and then show that the running time can be improved by a multiplicative factor of mkm^{k}, where a positive integer kk denotes the cardinality of a color-set. The previous best known result for the problem when k=3k=3 is due to the recent work of Biedl et al., (2021)[BBL19], who proposed a 2-approximation algorithm in O(m25n)O(m^{25}n) time. For k=3k=3, our algorithm runs in O(m18n)O(m^{18}n) time, faster than the previous best algorithm, but gives a 4-approximate result. We then generalize our approach to yield a family of ρ\rho-approximation algorithms in O(mαknlogk)O(m^{\alpha k}n\log k) time, where (ρ,α){(4,7),(6,5),(7,5),(9,4)}(\rho,\alpha)\in\{(4,7),(6,5),(7,5),(9,4)\}. We further generalize this to exhibit a O(1τ)O(\frac{1}{\tau})-approximation algorithm in O(mαknlogk)O(m^{\alpha k}n\log k) time for a given 1τ21\leq\tau\leq 2, where α=O(τ2)\alpha=O(\tau^{2}). We also extend our algorithm to solve the kk-Colorable Line Segment Disk Cover (kk-CLSDC) and kk-Colorable Rectangular Region Cover (kk-CRRC) problems, in which instead of the set PP of nn points, we are given a set SS of nn line segments, and a rectangular region \cal R, respectively.

keywords:
Colorable Unit Disk Cover , Approximation Algorithm , Grid-Partitioning , Packing-Constraints.
journal: DAM

1 Introduction

Our motivation for studying the problem arises from practical applications in the frequency/channel assignment problem in wireless/cellular networks. In ad-hoc mobile networks, each host(station/tower) is equipped with a Radio-Frequency (RF) transceiver to provide reliable transmission inside a circular range, represented by a disk, within some distance. Each wireless client is equipped with corresponding receivers. The clients themselves are represented by a set of points PP in a plane. The disks representing the range (which is presumably the same for all stations) of each potential host is represented by the set DD. In the spirit of reducing interference in broadcast and other energy-saving measures, we aim to limit or reduce the number of different frequencies(channels) assigned to each, represented by coloring. Typically, (Wi-Fi) networks are built with 3 independent channels [BHLL10], hence the motivation for a study on the 3-CDUDC problem. In the same spirit, we generalize the 3-CDUDC to the kk-CDUDC problem, where k>0k>0 is an integer. We further generalize the problem by considering line segments and a continuous rectangular region as representing potential wireless clients (resp. the kk-CLSDC and kk-CRRC problems), instead of points.

1.1 Related Work

The 3-CDUDC problem, to the best of our knowledge, was first studied by Biedl et al., [BBL19]. They gave a 2-approximation algorithm in O(nm25)O(nm^{25}) time for the 3-CDUDC problem. Their approach first partitions the plane into horizontal strips, solves the problem for every strip optimally, then returns the union of solutions of all strips. To solve the problem for any strip they show that at most a constant number of disks of an optimal solution intersect any vertical line. Based on this, they define a directed acyclic graph such that there exists a path from source to a destination corresponding to this optimal solution. In this paper, we attempt to improve upon this impractical O(nm25)O(nm^{25}) running time. Our approach, however, focuses on the specific geometric properties that arise from the dual conditionals of the problem statement. Although both of the approaches, initially, begin by dividing the plane, we recognize a unique bound that exists in our need to bound the colorability and provide a novel solution in the same regard.

A notion of conflict-free coloring (CF-coloring) was introduced by Even et al., [ELRS03]. and Smorodinsky [S03]. In the CF-coloring problem we are given a set of points (representing client locations) and a set of base stations, the objective is to assign colors (representing frequencies) to the base stations such that any client lying within the range of at least one base station is covered by the base station whose color is different from the colors of the other base stations covering the client, and the number of colors used should be as minimum as possible. Here, the range of base stations is modeled as regions e.g., disks or other geometric objects. Even et al., [ELRS03] proved that O(logn)O(\log n) colors are always sufficient to CF-color a set of disks in the plane, and in the worst case, Ω(logn)\Omega(\log n) colors are required. Note that this CF-coloring of disks is different from our notion of kk-colorable disk cover of points. In the former overlapping disks may be given the same color if they dont share a client, whereas in the kk-CDUDC overlapping disks must be colored with distinct colors regardless of whether they cover a common client. A generalization of CF-coloring is called a kk-fault-tolerant CF-coloring. Cheilaris et al., [CGRS14] presented a polynomial-time (52k)(5-\frac{2}{k})-approximation algorithm for the kk-fault-tolerant CF-coloring in 1-dimensional space. Horev et al., [HKS10] proved that O(klogn)O(k\log n) colors are sufficient for any set of nn disks in the plane. For dynamic CF-coloring and results on CF-coloring of other geometric objects, we refer to [BM19] and references therein.

A related problem of the kk-CDUDC problem in the literature is the Discrete Unit Disk Cover (DUDC) problem. In the DUDC problem, we are given a set PP of nn points and a set DD of mm unit disks, our goal is to select as the smallest number of disks from DD as possible such that the union of these selected disks covers all points in PP. As in the kk-CDUDC, here also, the sets PP and DD can be considered as representing a set of wireless clients and a set of base stations or towers, respectively. The DUDC problem is NP-hard and is a very well studied one. There is a polynomial time approximation scheme (PTAS) with impractical running time for this problem [MR10]. The current best approximation algorithm with reasonable running time is (9+ϵ)(9+\epsilon) for any ϵ>0\epsilon>0 [BAD15]. However, a series of approximation algorithms have been proposed for this problem by various authors over the past two decades, and a complete survey on this can be found in [FL12]. When a line segment is used to represent a potential wireless client, the DUDC problem becomes a Line Segment Disk Cover (LSDC) problem. In a similar line, there is another variant of the DUDC problem, a Rectangular Region Cover (RRC) problem, in which all the continuous set of points lying in a rectangular region represent wireless clients.  All the available results for the DUDC problem also extend to the LSDC and RRC problems [B18], with slightly different running time. We also extend our results for the kk-CDUDC problem to solve the colorable variants of the LSDC and RRC problems, namely, the kk-CLSDC and kk-CRRC problems.

2 kk-CDUDC Problem

In this section we consider the following problem.

  • kk-Colorable Discrete Unit Disk Cover (kk-CDUDC): Given a set PP of nn points, and a set DD of mm unit disks (of radius=1), both lying in the plane, and a parameter kk, the objective is to compute a set DDD^{\prime}\subseteq D that covers all points in PP such that the set DD^{\prime} can be partitioned into {D1,D2,,Dk}\{D_{1}^{\prime},D_{2}^{\prime},\ldots,D_{k}^{\prime}\}, where for each a{1,2,,k}a\in\{1,2,\ldots,k\} the disks in DaD_{a}^{\prime} are pairwise disjoint, i.e., the disks in DD^{\prime} can be colored with at most kk colors such that the overlapping disks receive distinct colors and every point in PP is covered by a disk in DD^{\prime}.

As it was pointed out in [BBL19] that there is a related problem, namely, Unit Disk Chromatic Number (UDCN) problem, that aims to color all nodes in a given unit disk graph with at most kk colors. The UDCN problem is NP-hard for any k3k\geq 3 [CCJ90]. Similar to Biedl et al. [BBL19], we can center a set DD of mm unit disks in the plane such that there are at least k+1k+1 pairwise non-disjoint disks that have a common intersection region and a unit disk graph GD=(VD,ED)G_{D}=(V_{D},E_{D}) induced by DD is connected. Let us then place a set PP of nn points in this intersection region. Now observe that the set PP has a cover which is at most kk-colorable, whereas the graph GDG_{D} is at least (k+1)(k+1)-colorable. Hence, the kk-CDUDC problem is different from the UDCN problem. Biedl et al. [BBL19] showed that the 3-CDUDC problem is NP-hard by carefully incorporating a set PP of nn points in the NP-hard proof of the UDCN problem with k=3k=3 in [CCJ90]. This directly implies that the kk-CDUDC is NP-hard since the kk-CDUDC is a generalization of 3-CDUDC. It is also easy to see that the kk-CDUDC problem belongs to the class NP, as follows: Here, the certificate for any Yes instance of kk-CDUDC is a set of kk distinct colors identified by non-negative integers 1,2,,k1,2,\ldots,k, and a mapping χ:D{1,2,,k}\chi:D^{\prime}\rightarrow\{1,2,\ldots,k\}, where DDD^{\prime}\subseteq D. A polynomial time verifier checks if every point in PP is covered by a disk in DD^{\prime} and for every pair of disks d,dDd,d^{\prime}\in D^{\prime} if ddd\cap d^{\prime}\neq\emptyset, whether it is the case that χ(d)χ(d)\chi(d)\neq\chi(d^{\prime}).

2.1 4-Approximate Algorithm

Here, our algorithm is based on partitioning the plane containing points into a grid and then determining bound on the number of unit disks that can participate in any kk-colorable covering of points lying within any square of the grid. We first define a grid of width τ\tau units that partitions the plane into squared regions. Each of these squared regions is a grid cell with a size τ×τ\tau\times\tau. For simplicity assume no point of PP lies on the boundary of these grid cells. Let us associate a unique ID id𝒞id_{\cal C} to each grid cell 𝒞{\cal C} as follows; let p=(xp,yp)p=(x_{p},y_{p}) be a point in 𝒞{\cal C} and τ\tau be the grid width, then id𝒞=(xpτ,ypτ)id_{\cal C}=(\lfloor\frac{x_{p}}{\tau}\rfloor,\lfloor\frac{y_{p}}{\tau}\rfloor), (see Fig. 1). Note that each grid cell has a unique ID associated with it but multiple points can be associated with the same ID (if they lie within the corresponding grid cell). Let id𝒞1id_{{\cal C}_{1}} and id𝒞2id_{{\cal C}_{2}} be any two arbitrary grid cells with base points (x1,y1)(x_{1},y_{1}) and (x2,y2)(x_{2},y_{2}) respectively. We define the greater than operator for an ID as follows: (id𝒞1>id𝒞2)((x1>x2)(y1>y2))((x1=x2)(y1>y2))((x1>x2)(y1=y2))(id_{{\cal C}_{1}}>id_{{\cal C}_{2}})\iff((x_{1}>x_{2})\land(y_{1}>y_{2}))\lor((x_{1}=x_{2})\land(y_{1}>y_{2}))\lor((x_{1}>x_{2})\land(y_{1}=y_{2})). Note that our defintion of id𝒞id_{\cal C} implies that the grid cells are indexed from bottom-left to top-right, this operator simply indicates the order of iteration that is followed by our algorithm. We move left to right row-wise starting from the bottom-left corner cell. A pre-defined order is essential to our handing-over logic at line 11 of Algorithm 1.

Refer to caption
[0,0][0,0][0,1][0,1][0,2][0,2][1,0][1,0][1,1][1,1][1,2][1,2][2,0][2,0][2,1][2,1][2,2][2,2]
Figure 1: Assignment of unique ID’s id𝒞id_{\cal C} and color sets for a grid 𝒢{\cal G} with τ=2\tau=2

Given a grid cell 𝒞{\cal C}^{\prime}, the following lemma provides a bound on the cardinality of the kk-colorable unit disks covering all points lying within the grid cell 𝒞{\cal C}^{\prime}. Let D𝒞DD_{{\cal C}^{\prime}}\subseteq D be the set of kk-colorable unit disks covering all points of PP lying within the grid cell 𝒞{\cal C}^{\prime}. The proof of the lemma is based on the observation that determining this bound is the same as determining a maximum number of disjoint unit disks that could potentially intersect 𝒞{\cal C}^{\prime}.

Observation 1.

If 𝒞{\cal C}^{\prime} is a grid cell of size τ×τ\tau\times\tau, then the maximum number of pairwise disjoint unit disks that could potentially intersect 𝒞{\cal C}^{\prime} is at most 2τ+2+(τ2)22\tau+2+(\frac{\tau}{2})^{2} if τ\tau is even, and is atmost 4×τ2+4+(τ2)24\times\lceil\frac{\tau}{2}\rceil+4+(\frac{\tau}{2})^{2} if τ\tau is odd.

Proof.

We will provide an upper bound to the number of pairwise disjoint unit disks that can cover a square 𝒞{\cal C}^{\prime} of side length τ\tau. Let us prove this by considering the two cases: τ\tau being even and odd.

Since we aim at bringing an upper bound to the number of disks that have a common intersection point with 𝒞{\cal C}^{\prime}, we divde the region of 𝒞{\cal C}^{\prime} into two parts; the inner part of the square and the union of its outer edges on which these common intersection points can lie. To maximize the number of disks, it is intuitive to keep them as far as possible to increase the spacing between disks and thereby trying to increase the number of disks.

𝒞{\cal C}^{\prime} with even side length: When τ\tau is a multiple of 2, it is quite intutive that a symmetric pattern is likely to give the best results. So we attempt two types of symmetric pattern.

Case 1: Considering the square 𝒞{\cal C}^{\prime} to be symmetric along the vertical axis, we arrange the disks in two possible cases: either a disk is arranged with edge of 𝒞{\cal C}^{\prime} as tangent such that the center of 𝒞{\cal C}^{\prime} lies vertically above/below the disk (see Fig. 2a), or the vertical partition is tangent to some of the disks (see Fig. 2b). In the first case the maximum number of disks along horizontal part of outer edge would be 2×τ22\times\frac{\tau}{2}, since the diameter of disk is 2. In the second case it can be shown that the maximum number of disks along the horizontal part would be 2×(τ2+1)2\times(\frac{\tau}{2}+1).

Refer to caption
(a) Center of disk along the vertical axis
Refer to caption
(b) Vertical line dividing the square as tangent
Figure 2: Possible symmetric arrangement along vertical axis for even values of τ\tau.

However, as we see for the case τ\tau=2 (shown in Fig 2a and Fig 2b), both the cases break down to the same case since if for a given pair of parallel edges of 𝒞{\cal C}^{\prime} if one of the above case is true, then for the other pair the other case stands true. By induction we can prove that this stands true for all the even values of τ>2\tau>2. Through this we get an upper limit in the number of disks along the edges. For the inner area of 𝒞{\cal C}^{\prime} the maximum number of disjoint disks are (τ2)2(\frac{\tau}{2})^{2}. So the maximum number of disjoint disks are (τ\tau/2)2{}^{2} +2 ×\times τ\tau/2 +2 ×\times (τ\tau/2 + 1), which is 2τ\tau+2+(τ\tau/2)2{}^{2}.

Case 2: Considering 𝒞{\cal C}^{\prime} to be diagonally symmetric, here we consider one of its diagonals as the symmetry line and place the disk such that their center is on the diagonal and intersects the square at its corner. As the disk covers a part of the edge of the square, say δ\delta where δ<1\delta<1 (i.e., radius of disk) and δ>0\delta>0, apart from the case where the disks are arranged at the diagonals again (see Fig. 3a), the maximum number of disks on an edge is still equivalent to τ2\frac{\tau}{2}. The number of disks within the interiors of 𝒞{\cal C}^{\prime} as stated above in the previous case will remain same. Therefore, the total number of maximum possible pairwise disjoint disks are 2+4×(τ2)+(τ2)22+4{\times}(\frac{\tau}{2})+(\frac{\tau}{2})^{2}, which is again equivalent to 2τ+2+(τ2)22\tau+2+(\frac{\tau}{2})^{2} (see Fig. 3a, Fig 3b, Fig 4a, Fig 4b, and Fig 4c for illustration of the case τ=2{\tau}=2).

Refer to caption
(a) Disks arranged along one of the diagonal
Refer to caption
(b) Disks arranged are along both the diagonals
Figure 3: Possible symmetric arrangement along diagonal for even values of τ\tau.
Refer to caption
(a) Complete coverage as much closely as possible
Refer to caption
(b) Symmetric coverage
Refer to caption
(c) Asymmetric coverage
Figure 4: Various possibilities by trial and error for even values of τ\tau.

𝒞{\cal C}^{\prime} with odd side length: When τ\tau is not a multiple of 2, again it is quite intutive that a symmetric pattern is likely to give the best results. So we attempt two types of symmetric pattern.

Case 1: Like the case for even values of τ\tau we consider the symmetric distribution along the horizontal and vertical axes. Again we have two possibilities either the center of disk lying along the axes or symmetric about the axes for both the pairs of edges. It can be shown that for both the pair of edges we would have only one amongst the two configurations at a time for getting the miximum number of disks. In the first case, τ2\lceil\frac{\tau}{2}\rceil disks can completely be accomodated on one edge and one disk as a common disk between two adjacent edges. So, there will be 4×τ2+44\times\lceil\frac{\tau}{2}\rceil+4 disks in the exterior part for this case. The number of disks in the interior part as in the even case would be (τ2)2(\frac{\tau}{2})^{2}. So, the total becomes 4×τ2+4+(τ2)24\times\lceil\frac{\tau}{2}\rceil+4+(\frac{\tau}{2})^{2} (see Fig. 5a and Fig. 5b).

Case 2: When diagonally symmetric, the case is quite similar to the previous case with 4 disks at the corners and τ2\lceil\frac{\tau}{2}\rceil among the four edges of 𝒞{\cal C}^{\prime}. The total again is calculating to 4×τ2+4+(τ2)24\times\lceil\frac{\tau}{2}\rceil+4+(\frac{\tau}{2})^{2}.

Refer to caption
(a) Center of disks along the axes
Refer to caption
(b) Axes as tangent to the disks
Figure 5: Possible symmetric arrangement for odd values of τ\tau.

Lemma 1.

If 𝒞{\cal C}^{\prime} is a grid cell of size 2×22\times 2 and D𝒞DD_{{\cal C}^{\prime}}\subseteq D is a kk-colorable solution for P𝒞P\cap{\cal C}^{\prime}, then |D𝒞|7k|D_{{\cal C}^{\prime}}|\leq 7k.

Proof.

From Observation 1 the cardinality of any set S𝒞S_{{\cal C}^{\prime}} of pairwise disjoint unit disks intersecting with a grid cell 𝒞{\cal C}^{\prime} is at most 7 as τ=2\tau=2. Therefore, |SC|7|S_{C^{\prime}}|\leq 7. Now consider another k1k-1 sets S𝒞1S_{{\cal C}^{\prime}}^{1}, S𝒞2S_{{\cal C}^{\prime}}^{2}, \ldots, S𝒞k1S_{{\cal C}^{\prime}}^{k-1}, each of which can either be a replica of the same collection of disks in S𝒞S_{{\cal C}^{\prime}} or a rotation or transformation of S𝒞S_{{\cal C}^{\prime}} such that disks within each set remain pairwise disjoint and intersect 𝒞{\cal C}^{\prime}. Hence, any kk-colorable solution D𝒞S𝒞S𝒞1S𝒞2S𝒞k1D_{{\cal C}^{\prime}}\subseteq S_{{\cal C}^{\prime}}\cup S_{{\cal C}^{\prime}}^{1}\cup S_{{\cal C}^{\prime}}^{2}\cup\ldots\cup S_{{\cal C}^{\prime}}^{k-1} if the union of the disks in (i=1k1S𝒞i)S𝒞\big{(}\bigcup\limits_{i=1}^{k-1}S_{{\cal C}^{\prime}}^{i}\big{)}\cup S_{{\cal C}^{\prime}} covers all the points in P𝒞P\cap{\cal C}^{\prime} . Thus, the lemma follows. ∎

The outline of our algorithm (Algorithm 1) for computing a cover DDD^{\prime}\subseteq D of the points PP is as follows. We first partition the rectangular region containing the objects in DD and PP into individual grid cells of size τ×τ\tau\times\tau. By utilizing the bound obtained in Observation 1 (for e.g., for τ=2\tau=2 the actual bound is in Lemma 1) we compute a kk-colorable cover of the points lying in each grid cell, in an exhaustive manner. To ensure that there is no conflict in the overall aggregate solution, we use a handing-over logic. Only disks of any particular grid cell cover centered within the same grid cell are colored with the associated color set. If a disk is required to be a part of this grid cell cover, but is centered in another grid cell, it is handed-over to that grid cell. Based on the grid width τ\tau and the diameter of the disk, we then define a coloring scheme χ\chi that assigns a color to each disk in the union DD^{\prime} of all the individual grid cell covers computed. Finally, we return the pair (D,χ)(D^{\prime},\chi). Since the diameter of the disks is fixed to be two units, the approximation factor of the algorithm is implied by the choice of the value τ\tau. If the value of τ\tau is 2, then a unit disk can participate in the kk-colorable covers of points lying in four adjacent grid cells. Hence, we prove that Algorithm 1 is a 4-approximate algorithm (see Theorem LABEL:theorem-2.2). Later, we show that by varying the grid width τ\tau, which results in a unit disk participating in more than four individual grid cell covers, we can obtain a family of algorithms with approximation factors corresponding to the choice of the value of τ\tau (see Subsection LABEL:generalize2.2).

We now define any coloring function that assigns colors to disks to be conflict-free if for any pair of non-disjoint disks (i.e., overlapping disks) the colors assigned to them are different.

Lemma 2.

The coloring χ\chi defined by Algorithm 1 is conflict-free.

Proof.

For the sake of contradiction, let us assume that there are two disks d,dDd,d^{\prime}\in D^{\prime} such that ddd\cap d^{\prime}\neq\emptyset, and χ(d)=χ(d)\chi(d)=\chi(d^{\prime}), where DD^{\prime} along with χ\chi is the output of Algorithm 1. Since ddd\cap d^{\prime}\neq\emptyset, the distance between the centers of dd and dd^{\prime} is at most 2. Let the centers of dd and dd^{\prime} be lying in the grid cells 𝒞{\cal C} and 𝒞{\cal C}^{\prime}, respectively. Observe that 𝒞{\cal C} and 𝒞{\cal C}^{\prime} are either linearly or diagonally adjacent. If dd and dd^{\prime} are chosen to cover points lying only in the respective grid cells, then dd and dd^{\prime} are assigned colors from different color sets because the row and column numbersmod2\mod 2 in their ID’s are not the same for both (see for-loop at Line 17) (contradicting that χ(d)=χ(d)\chi(d)=\chi(d^{\prime})). Therefore, the only possibility for color-conflict to arise between dd and dd^{\prime} is that when both dd and dd^{\prime} are centered in the same grid cell 𝒞{\cal C}, where dd covers a point lying in the cell above 𝒞{\cal C} and dd^{\prime} covers a point lying in the cell below 𝒞{\cal C} and each disk is initially chosen by the respective grid cell by means of the algorithm (Note that a similar case can be studied for horizontally and diagonally opposite grid cells). As per our color scheme (Line 16-28), these grid cells are the nearest to have the same color set (say C1C_{1}) associated with them (see Fig. 1). Step 11 in the algorithm solves the conflict that arises in this case as follows. By means of the grid cell ID condition, disk dd^{\prime} is handed over to grid cell 𝒞{\cal C} as its ID is greater and will receive the color set associated with that cell (C3C_{3} in this case, see Fig. 1). Disk dd however will not be handed over, but retains a color from the color set C1C_{1} (contradicting that χ(d)=χ(d)\chi(d)=\chi(d^{\prime})). Thus, the lemma follows. ∎

Algorithm 1 K_Colorable_Cover(P,D,k)(P,D,k)

Input: A set PP of nn points, a set DD of mm unit disks in the plane, and an integer k(>0)k(>0) such that PdDdP\subset\cup_{d\in D}d and DD can provide a kk-colorable cover of the points in PP.
      Output: A kk-colorable set DDD^{\prime}\subseteq D that covers all the points in 𝒫{\cal P} and a color mapping χ:Dκ\chi:D^{\prime}\rightarrow\kappa, where κ\kappa denotes the color set of distinct colors, and |κ|4k|\kappa|\leq 4k

1:Let the points in PP and disks in DD be lying entirely within the first quadrant of the coordinate system, and {\cal R} be an axis-aligned rectangular region containing PP and DD, whose left and bottom boundary lines coincide with the yy- and xx-axes of the coordinate system, respectively.
2:Define a grid 𝒢{\cal G} that partitions {\cal R} such that each grid cell is of size 2×22\times 2 and for each point p=(xp,yp)p=(x_{p},y_{p}) lying in such a cell 𝒞{\cal C}, let the unique id associated with 𝒞{\cal C} be id𝒞=[xp2,yp2]id_{\cal C}=[\lfloor\frac{x_{p}}{2}\rfloor,\lfloor\frac{y_{p}}{2}\rfloor]. For each such cell 𝒞{\cal C}, we also define a handover set H𝒞H_{\cal C}\leftarrow\emptyset.
/* the grid cells in the following loop are considered in row-wise order from bottom-left to top-right, as defined in Subsection 2.1 */
3:for each grid cell 𝒞{\cal C} if P𝒞P\cap{\cal C}\neq\emptyset do
4:     if H𝒞=H_{\cal C}=\emptyset then
5:         Let D={dD|d𝒞}D^{\prime\prime}=\{d\in D\hskip 5.69054pt|\hskip 5.69054ptd\cap{\cal C}\neq\emptyset\}
6:         Generate all subsets D1,D2,,DO(m7)DD_{1},D_{2},\ldots,D_{O(m^{7})}\subseteq D^{\prime\prime}, each containing at most 7 pairwise disjoint disks, and among these, choose kk subsets S𝒞1,S𝒞2,,S𝒞kS_{{\cal C}}^{1},S_{{\cal C}}^{2},\ldots,S_{{\cal C}}^{k}, whose union covers all the points in P𝒞P\cap{\cal C}.
7:     else
8:         Let D={dD|d𝒞,dH𝒞}D^{\prime\prime}=\{d\in D\hskip 5.69054pt|\hskip 5.69054ptd\cap{\cal C}\neq\emptyset,d\notin H_{\cal C}\}.
9:         Generate all subsets D1,D2,,DO(m7)DD_{1},D_{2},\ldots,D_{O(m^{7})}\subseteq D^{\prime\prime}, each containing at most 7 pairwise disjoint disks, and among these, choose kk subsets S𝒞1,S𝒞2,,S𝒞kS_{{\cal C}}^{1},S_{{\cal C}}^{2},\ldots,S_{{\cal C}}^{k}, whose union covers all the points in P𝒞P\cap{\cal C} but also contains all disks dH𝒞d\in H_{\cal C}.
/* |S𝒞1S𝒞2S𝒞kH𝒞|7k|S_{{\cal C}}^{1}\cup S_{{\cal C}}^{2}\cup\ldots S_{{\cal C}}^{k}\cup H_{\cal C}|\leq 7k due to Lemma 1 */
10:     end if
11:     If any disk dd in any subset S𝒞iS_{{\cal C}}^{i} (for i=1,,ki=1,\ldots,k) is centered in another grid cell 𝒞{\cal C^{\prime}} whose ID id𝒞>id𝒞id_{{\cal C}^{\prime}}>id_{\cal C}, we remove that disk from S𝒞iS_{\cal C}^{i} and add it to the handover set of that cell H𝒞H_{{\cal C}^{\prime}}.
12:     D𝒞S𝒞1S𝒞2S𝒞kD_{\cal C}\leftarrow S_{{\cal C}}^{1}\cup S_{{\cal C}}^{2}\cup\ldots\cup S_{{\cal C}}^{k}
13:     For every point pPp\in P that is covered by a disk dD𝒞d\in D_{\cal C} we remove it from PP.
14:end for