Covering Weighted Points Using Unit Squares
Abstract
Given a set of points in -dimensional space, each assigned a positive weight, we study the problem of finding axis-parallel unit hypercubes that maximize the total weight of the points contained in their union. In this paper, we present both exact and -approximation algorithms for the case of . We present an exact algorithm that runs in time in the plane, improving the previous -time result. This algorithm generalizes to higher dimensions and larger in time for fixed and . We also present a -approximation algorithm that runs in time for in the plane, improving the best known result. Our approximation algorithm also extends to higher dimensions.
Keywords and phrases:
Maximum coverage, Unit squares, Approximation algorithmsCopyright and License:
2012 ACM Subject Classification:
Theory of computation Computational geometryFunding:
This work was partly supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government(MSIT) (RS-2023-00219980), and the Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No.RS-2019-II191906, Artificial Intelligence Graduate School Program (POSTECH)) and (No. 2017-0-00905, Software Star Lab (Optimal Data Structure and Algorithmic Applications in Dynamic Geometric Environment)).Editors:
Ho-Lin Chen, Wing-Kai Hon, and Meng-Tsung TsaiSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
The maximum coverage problem is a classic and widely studied problem in theoretical computer science and computational geometry. Given a set of weighted elements, a collection of subsets, and an integer , the goal is to choose up to subsets that maximize the total weight of the elements contained in the union of the subsets. This problem naturally models many real-world scenarios such as facility location, sensor placement, and resource allocation. It is well-known that the maximum coverage problem is NP-hard and cannot be approximated within a factor better than unless P = NP [5, 6, 13].
In this paper, we study a geometric version of the problem, specifically the variant where the covering objects are axis-parallel unit hypercubes.
Definition 1 (-Cover).
Given a set of points in -dimensional space, where each point is assigned a positive weight, find axis-parallel unit hypercubes such that the total weight of points covered by their union is maximized.
The problem -Cover(P) is NP-hard when is part of the input, even for [10]. There are results for fixed and small . For -Cover(P), Imai and Asano [7], and Nandy and Bhattacharya [12] gave exact algorithms which run in time. This is proven to be optimal in the algebraic decision tree model [1]. For -Cover(P), Mahapatra et al. [9] gave an algorithm that runs in time using space. They also studied a variant where the solution pair of squares must not share a common input point and gave an -time algorithm. Cabello et al. [2] considered a more restricted version of -Cover where the solution pair of squares must be disjoint and gave an -time algorithm.
There are also approximation algorithms for this problem. For -Cover, Tao et al.[14] gave a randomized approximation scheme that computes a -approximate solution with probability at least and runs in time. This was later improved by Jin et al.[8] with an algorithm with running time .
For , de Berg et al. [4] gave an algorithm that can be extended to compute a -approximate solution to -Cover in time. Jin et al. [8] gave an -approximation algorithm for -Cover which runs in time, where .
There are work on the problem in higher dimensions . For , the problem reduces to the well-known maximum depth problem that, given a set of weighted hypercubes, finds a point maximizing the total weight of the hypercubes containing the point. Chan [3] gave an -time algorithm for this problem when . For , however, little is known in higher dimensions (). Mostafavi and Hamzeh [11] studied the problem of approximating the smallest axis-parallel box that covers a given set of points in while allowing outliers, and gave a -approximation algorithm with running time .
1.1 Our results
We present both exact and approximation algorithms for -Cover. We present an -time algorithm for -Cover in the plane by reducing the problem to the Depth problem (See Section 1.2). Our approach extends for any fixed with little modification, resulting in an -time algorithm for -Cover in -dimensional space. More importantly, we present a -approximation algorithm for -Cover in the plane running in time. This improves upon the previous best result by Jin et al. [8], which runs in time, with big hidden constants. In contrast, our algorithm runs faster, is simple, and easy to implement. Our algorithm extends for any fixed with little modification, running in time.
Hidden Constants in the running time of the algorithm in [8].
For , it takes time. It begins by constructing a grid with cells of size . For each cell of , it first computes a -approximate solution to , where denotes the set of points in contained in . Among all cells in , it greedily selects two cells whose -approximate solution to covers the maximum weight. To approximate -Cover within each cell, it constructs an additional finer grid consisting of horizontal and vertical lines, yielding grid points. Each grid point is considered as a potential candidate for the upper-left corner of a square. Furthermore, this process is repeated over different grids. Thus, the second term is time.
1.2 Preliminaries
For simplicity, we omit the terms “unit” and “axis-parallel” when they are clear from the context. For a compact set , we use to denote the interior of .
We denote by a set of positively weighted points in -dimensional space, and by the total weight of points in . We say that a region covers weight if the total weight of the points in contained in is . For any region , we denote by the total weight of points in covered by . Let denote the total weight of points covered by an optimal pair of hypercubes to -Cover.
Definition 2 ().
Given a set of positively weighted boxes (hyperrectangles) in -dimensional space, find points in that maximizes the sum of weights of the boxes in containing at least one of the points. Let denote .
2 Exact algorithm
We show that an instance of -Cover in the plane can be reduced to an instance of Depth in -dimensional space. This yields an -time algorithm for -Cover in the plane, improving upon the previously best-known -time algorithm. We then generalize this approach to higher dimensions and larger , reducing an instance of -Cover in -dimensional space to an instance of Depth in -dimensional space, which can be solved in time for [3].
2.1 Two squares in the plane
For a set of points in the plane, we give a reduction from to an instance of Depth in -dimensional space. For a unit square in the plane, we represent its location by the coordinates of its top-right corner, denoted by (See Figure 1(a)). By representing a pair of unit squares as a point in 4-dimensional space, , there is a one-to-one correspondence between a placement of a pair of squares and a point in -dimensional space.
A unit square covers a point in the plane if and only if and . Let denote the set of points in 4-dimensional space that correspond to all placements of two unit squares containing in their union. Then, and for . See Figure 1.
By restricting the parameter space to a sufficiently large bounding box , can be represented as a union of interior-disjoint boxes in . (Let be the minimum coordinate value over all points in and let be the maximum coordinate value over all points in plus one.) Clearly, can be represented as the union of mutually interior-disjoint boxes in the -dimensional space. Let denote this set of interior-disjoint boxes such that the weight of each box is set to the weight of . Let denote the collection of the boxes in for all . We now show that an optimal point for corresponds to an optimal pair of squares for . Here, we slightly abuse the notation so that denotes the total weight of boxes in containing an optimal point of .
Lemma 3.
.
Proof.
Let be an optimal pair of squares for -Cover. This pair corresponds to the point in the 4-dimensional parameter space. Let be the set of points covered by the union of and , that is, . By definition, we have for every . Thus, for each , there is at least one box in that contains , implying .
Let be an optimal point for , and let be the set of boxes in that contain . (By a symbolic perturbation to the boxes, we can avoid double counting while preserving the maximum depth.) Then the total weight of points such that is exactly . This means the pair of squares together cover the total weight which is at most .
As and can be solved in time [3], we have the following.
Theorem 4.
Given a set of positively weighted points in the plane, we can compute an optimal pair of unit squares for -Cover in time.
2.2 Extension to larger and higher dimensions
We can naturally extend this framework to handle -Cover(P) for general . By representing the placement of squares can also be specified by their top-right corners, it corresponds to a single point in -dimensional parameter space. There is a one-to-one correspondence between a point in this -dimensional space and a specific placement of the squares in the plane. Then and can be defined for a point analogously. The remaining procedure is exactly the same as in the case of .
Corollary 5.
Given a set of positively weighted points in the plane, we can compute an optimal set of unit squares for -Cover in time.
Our approach also extends to higher dimensions with little modification, except that the location of a hypercube, represented by one of its corners, now requires coordinates. As a result, we obtain a set of boxes in -dimensional space.
Corollary 6.
Given a set of positively weighted points in -dimensional space, we can compute an optimal set of unit hypercubes for -Cover in time.
3 Approximation algorithm
Given a set of positively weighted points in the plane, we present a -approximation algorithm for -Cover that runs in time for any fixed . Specifically, it returns a pair of squares whose union covers a weight at least . Compared to the -approximation algorithm by Jin et al. [8], our algorithm runs faster asymptotically. Moreover, our algorithm is simple and easy to implement, and it can be extended to higher dimensions with little modifications.
3.1 Types of solutions
For any pair of squares, either (1) or (2) . See Figure 2 for an illustration. We solve two cases of the problem: Type (1) case finds two squares with whose union covers the maximum weight. Type (2) case finds two squares with whose union covers the maximum weight. An optimal solution to the type (1) case can be computed in time [2]. We show how to find a -approximate solution to the type (1) case for -Cover in time.
Lemma 7.
Given a set of positively weighted points in the plane, a -approximate solution to the type (1) case can be computed in time.
Proof.
We note that Jin et al. [8] presented an algorithm that computes a -approximate square for -Cover in time. We adopt their grid-shifting technique for our problem. Let denote the square grid with mesh size , where the vertical and horizontal grid lines are defined as:
Consider the following nine grids: for all . It can be easily shown that for any two unit squares and , there exists at least one of these grids such that both and do not intersect any grid lines Therefore, for every grid , we aim to compute a pair of disjoint unit squares that do not intersect any grid lines of , and we return the pair that covers the maximum total weight.
For a grid , we perform the following preprocessing. We compute a -approximate square for for every nonempty cell of where denotes the set of points of in . We note that Jin et al. [8] give an algorithm, MaxCovCell, which computes a -approximate to in time for a cell of if the size of is constant. For each cell of which contains larger than points, we run MaxCovCell. For the remaining nonempty cells, we run the exact algorithm which runs in time [2]. Let be the sorted sequence of the number of points in nonempty cells of . Then the total running time is , which is .
To make use of the above results, we consider two cases based on whether there exists an optimal disjoint pair of squares for -Cover such that the two squares are contained in different cells of , or the two squares are contained in different cells of .
Case 1.
We first consider the case where there exists an optimal pair of squares of type (1) for -Cover such that the two squares are contained in different cells of . In this case, there always exist at least two cells of whose respective -approximate solutions together cover at least the weight of . Therefore, among all cells of , we select the pair of cells whose -approximate solutions together cover the maximum total weight. The union of these two -approximate solutions then forms a -approximate solution for -Cover.
Before moving onto the second case, we provide a summary of MaxCovCell(c).
MaxCovCell(c).
For a given cell , they form another (non-uniform) grid which consists of horizontal lines and vertical lines such that the following property holds: For a unit square , it holds that where denotes the largest axis-parallel rectangle contained in whose corners all lie on grid points of . They construct such grid in time. The details of the method used to construct can be found in Lemmas 1 and 2 of [8].
For each cell of , they calculate the sum of weights of points at the interior, edges, or corners of in time. Then they enumerate every vertex of and consider the unit square which has its top-left corner on the vertex. While enumerating those vertices and corresponding unit squares , they calculate . Then the one that covers the maximum weight can be found in time with a standard incremental algorithm, and it is a -approximate solution to .
Case 2.
Now we consider the case where an optimal pair of squares of type (1) for -Cover is contained in the same cell of . We can observe that once we compute a -approximate pair of squares to for every cell of , and we can return the pair which covers the maximum total weight as a -approximate solution to .
We first note that there exists an -time exact algorithm for -Cover(P) in the case where a disjoint optimal pair of squares exists [2]. For any cell with , we can directly apply this algorithm for , which takes time. Therefore, we now focus on the remaining cells with .
To compute a -approximate solution of type (1) for , we further utilize the information obtained from the procedure MaxCovCell(c). Recall that we calculated for the squares which has its top-left corner on the vertex of . Among the rectangle ’s, we find a disjoint pair whose union covers the maximum total weight. This can be done using the observation that there always exists a horizontal or vertical line that separates the two disjoint squares. Without loss of generality, we can sweep a horizontal line across the plane and, at each position, track the maximum value of achievable by placing on one side of the sweep line. We repeat this process by sweeping the line in both directions. By combining the results from both sweeps, we can identify two disjoint rectangles among the ’s whose union covers the maximum total weight. We note that this procedure can be implemented as part of the . Then a pair of unit squares, each containing one of the rectangles, is a -approximate solution to .
Among all the cells of , the pair of squares for that covers the maximum total weight is a -approximate solution to -Cover(P).
For each grid , we compute a -approximate solution for both cases in time and take the one that covers the larger total weight. Then we repeat this process for every grid , and we return the pair of squares that covers the maximum total weight.
If an optimal pair of squares for the type (1) case is an optimal pair of squares for -Cover, we can compute a -approximate solution for -Cover in time by Lemma 7. From now on, we assume that every optimal pair of squares for -Cover intersect each other in their interior, and we focus on computing a -approximate solution to the type (2) case. Once we obtain a -approximate solution to the type (2) case, we compare it with the approximate solution to the type (1) case and return the one with the larger total weight.
3.2 Search space of the type (2) case
We begin with reducing the search space for -Cover. We use to denote an optimal square for -Cover.
Lemma 8.
There is an optimal pair of squares for -Cover such that both squares intersect .
Proof.
Suppose that, for an optimal pair for -Cover, does not intersect . See Figure 3(a). Since is an optimal square for -Cover, . Thus, , implying that is an optimal pair of squares for -Cover. Observe that , which contradicts our assumption that every optimal pair of squares for -Cover intersect each other in their interiors.
Lemma 8 immediately implies the existence of an optimal pair of squares for -Cover that are contained in the square centered at . See Figure 3(b). We have a similar statement for a -approximate square for -Cover.
Lemma 9.
There exists a -approximate pair of squares for -Cover such that or .
Proof.
Suppose that neither nor intersects . Without loss of generality, assume that . Then, . Since is a -approximate square for -Cover, . Thus, , implying that is a -approximate pair of squares for -Cover.
Recall that we compute a -approximate solution to the type (2) case. By Lemma 9, we have the following.
Lemma 10.
There exists a -approximate pair of squares for -Cover such that both are contained in the square centered at .
By Lemmas 8, 9, and 10, the search space for -Cover is a square centered at or . We compute either or depending on the comparison between and , identify the corresponding search space, and remove the points of lying outside this search space. Since can be computed in time [2] and can be computed in time by Lemma 7, this step can be completed in time.
From now on, we assume that every point of lies in the square. Clearly, there is a unit square that contains a subset of whose total weight is at least .
Lemma 11.
.
3.3 Reduction to -Depth
Consider a dual mapping between a weighted point and a weighted square. For a point with weight , the dual of is a unit square centered at and with weight . For a square with weight centered at , the dual of is the point with weight . Observe that contains if and only if contains .
Let Q denote the set of weighted squares for each . Throughout this section, for a square , we denote by the weight . For an optimal pair of points for , form an optimal pair of squares for -Cover. Thus, we transform into Q, and solve . We then return the pair of squares that is dual to the solution to as a solution for -Cover. Since we aims to compute a -approximate solution for -Cover, it suffices to compute a -approximate solution to . To do this, we construct a grid and snap round each rectangle in Q to .
Grid.
We construct a grid with horizontal and vertical lines with respect to using the following lemma, which is obtained by combining Lemmas 1 and 2 of [8].
Lemma 12 ([8]).
Given positively weighted points with distinct -coordinates in the plane whose weight sum is , and a value with , we can find vertical lines such that the sum of the weights of points lying in the interior of the slab bounded by any two consecutive lines is at most in time .
Let denote the set of corners of the squares in Q. The weight of is set to the weight of its corresponding square. Let be the set of vertical lines obtained by applying Lemma 12 with . Let be the set of horizontal lines defined in exactly the same way. Let denote the grid formed by and . By Lemma 12, can be constructed in time. In particular, when , we can simply draw horizontal and vertical lines through every point in .
Snap rounding.
For each square , let be the largest axis-parallel rectangle contained in whose corners all lie on grid points of . Let . The weight of is set to the weight of . If two or more squares in Q have the same rectangle snap-rounded in , R contains exactly one snap-rounded rectangle for those squares and the weight of the rectangle is set to the sum of the weights of those squares. See Figure 3(c). For a rectangle , we denote by the weight of . Let and denote the total weights obtained by and , respectively.
Lemma 13.
.
Proof.
For a point , let . Note that there may exist squares with . Let .
Let be an optimal pair of points for . Assume that lies in the interior of a vertical slab bounded by two consecutive lines in . Also, assume that lies in the interior of a horizontal slab bounded by two consecutive horizontal lines in . Every square in must have at least two corners lying in or at least two corners in . Since the total weight of the corners in contained in or is at most , . Since by Lemma 11, . The same argument applies to , implying .
By defining analogously to , we have . Since and , we have .
For a rectangle , let and let . Let and .
Lemma 14.
For any two elements and in , we have if , and if . The same property holds for .
Proof.
Let and be the squares in with and . Let and . Since , and are unit squares, we have , and thus . This implies that by the snap rounding method. The same can be shown for the other cases analogously. By Lemma 14, we obtain the following corollary. Note that .
Corollary 15.
Both and are . .
Recall that can be constructed in time. After sorting the grid lines, we can use binary search to snap round every square in Q in total time.
Theorem 16.
Given a set of positively weighted points in the plane, we can compute in time a set R of positively weighted rectangles in the plane such that and the dual of an optimal solution for is a -approximate solution for -Cover.
3.4 Algorithm
Let R be the set of positively weighted rectangles obtained by Theorem 16. Recall that each corner of a rectangle in R lies on a grid point of . As defined in Section 3.3, is formed by a set of vertical lines and a set of horizontal lines. Let . For each from to , and , form a vertical slab which we denote by (See Figure 4(a)). Then there is a pair of index such that has an optimal pair of points with and . For every possible pair of indices for , we compute an optimal pair of points, , for while restricting that and . Among all the pairs of points, the one that maximizes the sum of weights of the rectangles in R containing or is an optimal solution for .
For two indices , we denote by , or simply , the case of in which we seek a pair of points maximizing the total weight of rectangles in R containing at least one of them, subject to the constraint that and .
Without loss of generality, we assume that has an optimal pair such that lies to the left of and above . The remaining cases can be handled analogously. For ease of description, we assume that and lie in and , respectively. The cases where either or lies on the boundary can be handled in a similar manner.
For a rectangle , let denote the -coordinate of its top side. For a set H of rectangles and a real value , let and . For a set H of weighted rectangles, let . We abuse the notation and use to denote the total weight of rectangles in H hit by an optimal point for . See Figure 4(a) for the following definition.
Definition 17.
Let for . For two indices and , , let , , and . For , let and .
For a point , let and denote its and -coordinates.
Lemma 18.
For any fixed with , let be the total weight of rectangles in R hit by an optimal solution for . If there is an optimal pair of points for with and , there is a real value satisfying .
Proof.
Let be the set of rectangles hit by . Let be the set of rectangles hit by but not by . Note that as .
Let . See Figure 4(a). Observe that . We will prove that and .
Every rectangle has by the definition. Every rectangle in is from either or . (Note that and are disjoint.) For a rectangle of the latter case, that is , observe that as we have . Therefore .
Every rectangle in is from either or . (Note that and are disjoint.) For a rectangle of the latter case, that is , observe that by the definition of . Therefore such is contained in . Therefore .
Now we first show that . As , it is clear that . Now suppose . As every rectangle in intersects , there always exists an optimal point for such that . Let be the set of rectangles in hit by , that is . Observe that because we have , , and . Then the total weight of rectangles in R hit by a new pair is , which contradicts that is an optimal pair of points for .
In a similar way, we can show that .
3.4.1 Data Structures and Invariants
Given an input set R of weighted rectangles, we store them in three lists. The first list, , stores the rectangles in increasing order of the -coordinates of their left sides. The second list, , stores the rectangles in increasing order of the -coordinates of their right sides. In the case of a tie, the rectangles are further sorted by increasing order of the -coordinates of their top sides. If the tie still remains unsolved, we sort them by increasing order of the -coordinates of their bottom sides. See Figure 4(b). The third list, , stores the rectangles in increasing order of the -coordinates of their top sides. In the case of a tie, the rectangles are further sorted by increasing order of the -coordinates of their bottom sides. If the tie still remains unsolved, we sort them by increasing order of the -coordinates of their right sides.
We compute and once at the beginning of the algorithm. Since by Corollary 15, this can be done in time. For any fixed indices and with , recall that denotes the set of weighted intervals induced by in the -direction. By Lemma 15, there are intervals in .
Note that two or more rectangles in may have the same interval, ignoring their weights. In such a case, we merge them into a single interval. The weight of the merged interval is set to the total weight of those intervals. Let denote the resulting set of intervals, which satisfies . In the same way, we define and with respect to and , respectively. We always maintain the lists , , and in increasing order of the right endpoints of the intervals. In the case of a tie, the intervals are further sorted by their left endpoints.
3.4.2 Algorithm for fixed indices
We consider two fixed indices and with , and present an algorithm that finds an optimal pair of points for . For now, we assume that the sorted lists , , and are given. We will later show how to compute them efficiently. By Lemma 18, there is a real value such that an optimal point for , and an optimal point for together form an optimal pair for . Thus, our goal is to find such and the corresponding optimal pair .
Since every rectangle in intersects , can be reduced to the one-dimensional problem . Recall that for any fixed point on the real line, the total weight of intervals in hit by is the same as the total weight of intervals in hit by . (Here, we slightly abuse the notation: For a list I of intervals on the real line and a real value , let denote the set of intervals in I whose right endpoints are larger than , and let denote the remaining intervals in I. Let denotes the set consisting of all intervals from I and .) Therefore, for any fixed , it suffices to compute . Similarly, is reduced to .
Thus, our objective is to find a real value that maximizes . Imagine that decreases from . Then does not decrease, and we can easily maintain this using a simple incremental update since the intervals in satisfy the property described in Lemma 14. For , we increase from , and the update can be done in a similar manner. Since all the lists are already sorted, this entire process takes linear time, and we can find the value of that maximizes . As there are intervals in , , and , we have the following lemma.
Lemma 19.
For any fixed and with , once we have , , and , we can solve in time.
3.4.3 Final algorithm
For any fixed with , we show how to compute for every in total time . Since , this can be done by running the algorithm from Lemma 19 for each in the range , resulting in a time in total.
However, it remains to show that the lists , , and are properly updated as we enumerate from to . To this end, we introduce new notations and , and provide inductive relations for , , and .
Definition 20.
For an index , let . Let . We then define and for .
For any fixed with , the rectangles of appear as a contiguous sublist in , and they appear before those of in . Symmetrically, the rectangles of appear as a contiguous sublist in , and they appear before those of in .
Observation 21.
For and with , , , and .
Using the inductive relation above, we prove the following lemma.
Lemma 22.
For any fixed with , the lists , , and for all can be computed in time in total.
Proof.
For the base case where , recall that and . Thus, we initialize and as empty lists. For , we find the rectangles in and store them in increasing order of the -coordinates of their top sides. This can be done by scanning the list . Note that two or more rectangles in may have the same interval, ignoring their weights. In such a case, we merge them into a single interval. The weight of the merged interval is set to the total weight of those intervals. This process takes time, producing the correct .
We maintain two pointers, one each for and . As increases, the pointer in moves to the first element contained in . and the pointer in moves to the first element contained in .
Assuming we already have , by Observation 21, we need to find rectangles in to obtain . This can be done by scanning the elements in starting from its pointer, which takes time. Note that these rectangles share the same right-side -coordinate and are sorted by the -coordinates of their top sides. Hence, we can convert them into intervals, and merge the same intervals (ignoring their weights) as done in the previous paragraph. This also takes time. By Lemma 15, the resulting set of intervals, say , has size . We then merge into . We merge the same intervals as done in the previous paragraph if necessary. Since both and are sorted by their right endpoints, this merge can be done in time.
Similarly, we need to find the rectangles in to obtain from . The rectangles in can be found by scanning the elements in , as before. We then convert these rectangles into intervals and merge the same intervals, which can be done in time. After that, we update by removing or decreasing the weights of the corresponding intervals. In the same way, we find the rectangles in by scanning the elements in from its pointer, convert them into intervals, and process them similarly. Therefore, the total time required is . The update for can be handled in the same manner.
It takes time for computing , time for computing , and time from computing . Summing over to , the total time is .
By combining Lemmas 19 and 22, we can conclude that for any fixed index with , we can compute for all in total time. Repeating this process for all takes . Since it takes time to compute the set R by Theorem 16, we obtain the following result.
Theorem 23.
Given a set of positively weighted points in the plane, we can compute a -approximate pair of squares for -Cover in time.
3.5 Extension to higher dimensions
Our algorithm extends naturally to higher dimensions. For any fixed , an optimal pair to the type (1) case can be computed in time by extending the algorithm of Lemma 7.
Consider the type (2) case. As in Section 3.2, the search space can be reduced to a constant-size -dimensional box, and the same duality transform can also be applied. By applying a lemma analogous to Lemma 12, we can construct a grid such that there are grid hyperplanes along each axis for . After performing snap rounding for each dual hypercube into hyperrectangle, the algorithm proceeds in exactly the same manner as in the two-dimensional case.
Let denote the slabs formed by two consecutive grid hyperplanes along the -axis. For any fixed , we solve . We can observe that once and are fixed, all the hyperrectangles of our interest intersect either or . We then project the problem onto the plane orthogonal to the -axis and recursively solve the lower-dimensional instance.
Thus, we obtain the following theorem.
Theorem 24.
Given a set of positively weighted points in -dimensional space, we can compute a -approximate pair of hypercubes for -Cover in time for any fixed .
References
- [1] Michael Ben-Or. Lower bounds for algebraic computation trees. In Proceedings of 15th Annual ACM Symposium on Theory of Computing, pages 80–86, New York, NY, USA, 1983. Association for Computing Machinery.
- [2] Sergio Cabello, J. Miguel Díaz-Báñez, Carlos Seara, J. Antoni Sellès, Jorge Urrutia, and Inmaculada Ventura. Covering point sets with two disjoint disks or squares. Computational Geometry, 40(3):195–206, 2008. doi:10.1016/J.COMGEO.2007.10.001.
- [3] Timothy M. Chan. Klee’s measure problem made easy. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pages 410–419, 2013. doi:10.1109/FOCS.2013.51.
- [4] Mark de Berg, Sergio Cabello, and Sariel Har-Peled. Covering many or few points with unit disks. Theory of Computing Systems, 45(3):446–469, 2009. doi:10.1007/S00224-008-9135-9.
- [5] Uriel Feige. A threshold of for approximating set cover. Journal of the ACM, 45(4):634–652, 1998. doi:10.1145/285055.285059.
- [6] Dorit S. Hochbaum and Anu Pathria. Analysis of the greedy approach in problems of maximum -coverage. Naval Research Logistics, 45(6):615–627, 1998.
- [7] Hiroshi Imai and Takao Asano. Finding the connected components and a maximum clique of an intersection graph of rectangles in the plane. Journal of Algorithms, 4(4):310–323, 1983. doi:10.1016/0196-6774(83)90012-3.
- [8] Kai Jin, Jian Li, Haitao Wang, Bowei Zhang, and Ningye Zhang. Near-linear time approximation schemes for geometric maximum coverage. Theoretical Computer Science, 725:64–78, 2018. doi:10.1016/J.TCS.2017.11.026.
- [9] Priya Ranjan Sinha Mahapatra, Partha P. Goswami, and Sandip Das. Placing two axis-parallel squares to maximize the number of enclosed points. International Journal of Computational Geometry & Applications, 25(04):263–282, 2015. doi:10.1142/S0218195915500156.
- [10] Nimrod Megiddo and Kenneth J. Supowit. On the complexity of some common geometric location problems. SIAM Journal on Computing, 13(1):182–196, 1984. doi:10.1137/0213014.
- [11] Ali Mostafavi and Ali Hamzeh. High-dimensional axis-aligned bounding box with outliers. In Proceedings of 34th Canadian Conference on Computational Geometry, pages 264–269, 2022.
- [12] Subhas C. Nandy and Bhargab B. Bhattacharya. A unified algorithm for finding maximum and minimum object enclosing rectangles and cuboids. Computers & Mathematics with Applications, 29(8):45–61, 1995.
- [13] George L. Nemhauser, Laurence Wolsey, and M.L. Fisher. An analysis of approximations for maximizing submodular set functions-I. Mathematical Programming, 14(1):265–294, 1978. doi:10.1007/BF01588971.
- [14] Yufei Tao, Xiaocheng Hu, Dong-Wan Choi, and Chin-Wan Chung. Approximate MaxRS in spatial databases. In Proceedings of the VLDB Endowment, pages 1546–1557. VLDB Endowment, 2013. doi:10.14778/2536258.2536266.
