On the Number of Maximum Empty Boxes Amidst n Points

We revisit the following problem (along with its higher dimensional variant): Given a set S of n points inside an axis-parallel rectangle U in the plane, find a maximum-area axis-parallel sub-rectangle that is contained in U but contains no points of S. We prove that the number of maximum-area empty rectangles amidst n points in the plane is O(nlogn2α(n))\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n \log {n} \, 2^{\alpha (n)})$$\end{document}, where α(n)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha (n)$$\end{document} is the extremely slowly growing inverse of Ackermann’s function. The previous best bound, O(n2)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^2)$$\end{document}, is due to Naamad et al. (Discrete Appl Math 8(3):267–277, 1984). For any d≥3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d \ge 3$$\end{document}, we prove that the number of maximum-volume empty boxes amidst n points in Rd\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbb {R}^d$$\end{document} is always O(nd)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^d)$$\end{document} and sometimes Ω(n⌊d/2⌋)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Omega (n^{\lfloor d/2 \rfloor })$$\end{document}. This is the first superlinear lower bound derived for this problem. We discuss some algorithmic aspects regarding the search for a maximum empty box in R3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbb {R}^3$$\end{document}. In particular, we present an algorithm that finds a (1-ε)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-\varepsilon )$$\end{document}-approximation of the maximum empty box amidst n points in O(ε-2n5/3log2n)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\varepsilon ^{-2} n^{5/3} \log ^2{n})$$\end{document} time. We prove that the number of maximum-area empty rectangles amidst n points in the plane is O(nlogn2α(n))\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n \log {n} \, 2^{\alpha (n)})$$\end{document}, where α(n)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha (n)$$\end{document} is the extremely slowly growing inverse of Ackermann’s function. The previous best bound, O(n2)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^2)$$\end{document}, is due to Naamad et al. (Discrete Appl Math 8(3):267–277, 1984). For any d≥3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d \ge 3$$\end{document}, we prove that the number of maximum-volume empty boxes amidst n points in Rd\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbb {R}^d$$\end{document} is always O(nd)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^d)$$\end{document} and sometimes Ω(n⌊d/2⌋)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Omega (n^{\lfloor d/2 \rfloor })$$\end{document}. This is the first superlinear lower bound derived for this problem. We discuss some algorithmic aspects regarding the search for a maximum empty box in R3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbb {R}^3$$\end{document}. In particular, we present an algorithm that finds a (1-ε)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-\varepsilon )$$\end{document}-approximation of the maximum empty box amidst n points in O(ε-2n5/3log2n)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\varepsilon ^{-2} n^{5/3} \log ^2{n})$$\end{document} time.

A maximal empty rectangle supported by one point on each side (left), and three maximal empty function. The previous best upper bound, due to Naamad et al. from 1984 [30], is O(n 2 ); this quadratic upper bound has been revisited numerous times [2][3][4]6,12,13,27,33] during the last 30 years without any progress being made.
In Sect. 4 we show that the number of maximum empty boxes amidst n points in R d is always O(n d ) and sometimes (n d/2 ). For d ≥ 4, this is the first superlinear lower bound derived for the empty box problem.
In Sect. 5 we discuss two algorithmic applications: (i) Given n points inside a hyperrectangle U in R 3 , a (1 − ε)-approximation of the maximum volume of an empty box contained in U can be computed in O(ε −2 n 5/3 log 2 n) time. (ii) If the data structure of Kaplan et al. [27] for the maximum empty rectangle containing a query point has a semi-dynamic extension that allows the deletion of points, with o(n) amortized time per point deletion, then there is a subcubic-time exact algorithm for the Maximum Empty Box problem in R 3 .

Background and Related Work
Bounds on the volume of a maximum empty box. Given a set S of n points in the unit hypercube U d = [0, 1] d , where d ≥ 2, let A d (S) be the maximum volume of an empty box contained in U d , and let A d (n) be the minimum value of A d (S) over all sets S of n points in U d .
Rote and Tichy [33] proved that A d (n) = (1/n) for any fixed d ≥ 2. From one direction, for any d ≥ 2, we have where p i is the ith prime, as shown in [16,33] using Halton-Hammersley generalizations [23,24] of the van der Corput point set [35,36]; see also [28,Ch. 2.1]. From the other direction, by slicing the hypercube with n parallel hyperplanes, each incident to one of the n points, the largest slice yields the lower bound A d (n) ≥ 1/(n + 1) for each d. This trivial estimate can be improved using the following observation [16,18] that relates A d (n) to A d (b) for fixed d and b: Lemma 2.1 [18] For any d ≥ 2 and b ≥ 2, In particular, with b = 4 in Lemma 2.1, the following bound 1 was obtained in [16]: By exploiting the above observation of Lemma 2.1 in a more subtle and fruitful way, Aistleitner et al. [5] recently proved that A d ( log d ) = (1). It follows that the dependence on d in the volume bound is necessary, i.e., the maximum volume grows with the dimension d. The following lower bound is derived in [5]: . (2) Further, one can show that their proof leads to an efficient algorithm that computes such a box. A broader analysis of this approach can be found in [19].
Complexity of computing a maximum empty box. Several algorithms have been proposed in the 1980s for the Maximum Empty Box problem in the plane; see [16,18] and the references therein. The fastest one, due to Aggarwal and Suri [3], runs in O(n log 2 n) time and O(n) space. On the other hand, a lower bound of (n log n) in the algebraic computation tree model already holds for the one-dimensional variant [32, pp. 260-262]: Given n points in a line, find the largest gap between two consecutive points. In contrast, Boland and Urrutia [10] showed that the largest axis-aligned rectangle contained in a simple polygon with n vertices can be found in O(n log n) time.
For d ≥ 3, the only known approach for computing a largest empty box is by examining all candidates, i.e., all maximal empty boxes. As noted, an empty box of maximum volume must be maximal with respect to inclusion. Given a set S of n points in the unit hypercube U d = [0, 1] d , d ≥ 2, let k = k(S) and κ = κ(S) denote the number of maximal empty boxes contained in U d , and that of empty boxes of maximum volume contained in U d , respectively. Clearly κ(S) ≤ k(S).
Chazelle et al. [12] show that in the plane, all largest empty rectangles can be reported in O(k + n log n) time (note the dependence on k, not on κ, in all timebounds). Nandy and Bhattacharya [31] show that in R 3 , all maximum empty boxes can be reported in O(k +n 2 log n) time. A result of Kaplan et al. [26] implies an outputsensitive algorithm for Maximum Empty Box running in O((n +k) log 2d−1 n) time, for any fixed d ≥ 2. Subsequently, Backer and Keil [8,9] reported an output-sensitive algorithm running in O(k log d−2 n) time, for any fixed d ≥ 3.
One can easily exhibit point sets for which the number k of maximal empty boxes is (n d ), for any fixed d ≥ 2; see [8,16,26]. Naamad et al. [30] showed that for d = 2, the maximum number of maximal empty rectangles is O(n 2 ), and that this bound is tight. Kaplan et al. [26] proved (indirectly, see [17, p. 479]) that the maximum number of maximal empty boxes is O(n d ) for each fixed d, confirming an earlier conjecture of Datta and Soundaralakshmi [13].
Since the maximum number of maximal empty boxes is (n d ) for each fixed d, any algorithm that computes a maximum-volume empty box by enumerating all maximal empty boxes is bound to be inefficient in the worst case. In fact, Backer and Keil [8,9] proved that Maximum Empty Box is NP-hard when the dimension d is part of the input, and Giannopoulos et al. [22] further showed that the problem is W[1]-hard with the dimension d as the parameter. Further, the W[1]-hardness of the problem implies [22,Corollary 1] that the existence of an exact algorithm running in n o(d) time is unlikely. On the other hand, the output-sensitive algorithms of Kaplan et al. [26] and Backer and Keil [9] would run faster when there are only a few maximal empty boxes, and indeed, when d is fixed, Dumitrescu and Jiang [17] proved that the expected number of maximal empty boxes amidst n random points in the unit hypercube So while for fixed d, the expected running times of the output-sensitive algorithms in [9,26] on random point sets are O(n log O(d) n), their worst-case running times remain (n d ).
In terms of approximation, Dumitrescu and Jiang [16] gave an algorithm that finds an empty box whose volume is at least 1 − ε times the optimal in O((8ed/ε 2 ) d · n log d n) time; a faster approximation algorithm for the related Maximum Empty Cube problem was also provided. This approximation algorithm is fixed parameter tractable with both d and 1/ε as parameters [22,Sect. 1.5].
Notation As customary, , O, notation is used to describe the asymptotic growth of functions. Given a set S of n points in the unit hypercube U d = [0, 1] d , where d ≥ 2, let X d (n) be the maximum value of κ(S) over all sets S of n points in U d .

The Number of Empty Rectangles of Maximum Area
As mentioned earlier, the number of maximal empty rectangles is O(n 2 ), and this bound can be attained. In contrast, we prove (see Theorem 3.1) that the number of empty rectangles of maximum area is linear or nearly linear. Refer for brevity to any empty rectangle of maximum area as a maximum empty rectangle; and maximum empty box for d ≥ 3. The arguments we need are based on Davenport-Schinzel sequences.

Proof of Theorem 3.1
Lower bound We start with a construction that yields a lower bound of X 2 (n) ≥ n +1.  We next give a more refined construction which yields a better, but still linear, lower bound of X 2 (n) ≥ 2n + 2. Again consider the line x + y = 2 √ c and the hyperbola x y = c inside U , and refer to Fig. 2.
Fix c = 1/4. Then the line x + y = 2 √ c is the diagonal x + y = 1 of U . As c continuously decreases from 1 to c , the number of points p i in the sequence S gradually increases from 1 and tends to ∞. For each n ≥ 1, there is a range of c such that S contains exactly n points inside U on the diagonal x + y = 1. Moreover, as c decreases continuously in this range, the n points move continuously on this diagonal. There is a particular value of c, 1/4 < c ≤ 1/2, such that the n points are placed symmetrically about the center (1/2, 1/2) of the diagonal. With these n points in U , there are exactly 2n + 2 maximum empty rectangles with area c, among which n + 1 have lower-left corners at (0, 0), and the other n + 1 have upper-right corners at (1, 1), symmetric about the diagonal x + y = 1.

Upper bound
We proceed by induction on n and develop a recurrence on X (n) = X 2 (n). Consider a balanced partition of the points by a vertical line into two sets, with n/2 and n/2 points, respectively: S = L ∪ R (points on the line are assigned as needed to any one of the two parts). We may suppose that the vertical line is the y-axis. Let U − and U + , respectively, be the two subrectangles of U on the left and the right side of the y-axis.
Following the terminology in [12], a support of a maximum empty rectangle R is either a point in S or an edge of U that limits the expansion of R in that direction: leftward, rightward, upward or downward. Every maximum empty rectangle has 4 supports. Every maximum empty rectangle is either contained in U − , or contained in U + , or crosses the y-axis. Let Y denote the set of maximum empty rectangles crossing the y-axis.
A rectangle in Y can have either (i) two supports on the left side of the y-axis and two supports on the right side of the y-axis; or (ii) three supports on one side of the y-axis and 1 support on the other side of the y-axis.
Naamad et al. [30] showed that the number of maximal empty rectangles with at least one edge support is O(n). Thus we immediately get:

Lemma 3.2 The number of maximum empty rectangles in Y with at least one edge support is O(n).
We next establish upper bounds for the remaining types of maximum empty rectangles in Y , with four points of support (a point of support is also referred to as defining point in [27]). For the remainder of this section we only consider this type of maximum empty rectangles.
Chazelle et al. [12] showed that the number of maximal empty rectangles with three points of support on one side of an axis and one point of support on the other side of that axis is O(n); see also [27, p. 346]. Thus we also have: The key argument is provided by the following.

Lemma 3.4 The number of rectangles in Y with two points of support on each side of the y-axis is O(λ 4 (n)).
Proof By symmetry, it suffices to show that the number h of maximum empty rectangles with bottom and left supports in L and with top and right supports in R is O(λ 4 (n)).
Consider a maximum empty rectangle H amidst the points L ∪ R in U . Recall that U − and U + are the two subrectangles of U left and right of the y-axis. Then the bottom-left corner of H is the bottom-left corner of a maximal empty rectangle amidst L in U − with the y-axis as the right support, and the top-right corner of H is the top-right corner of a maximal empty rectangle amidst R in U + with the y-axis as the left support. By the result of Naamad et al. [30] mentioned earlier (amidst any n points in a rectangle, the number of maximal empty rectangles with at least one edge support is O(n)), we obtain l candidate bottom-left corners p 1 , . . . , p l on the left side of the y-axis, and r candidate top-right corners q 1 , . . . , q r on the right side of the y-axis, where l + r = O(n), such that each maximum empty rectangle under Order the candidate corners on the left such that y( p 1 ) ≥ · · · ≥ y( p l ), and corners with the same y-coordinate are ordered from left to right. Similarly, order the candidate corners on the right such that y(q 1 ) ≥ · · · ≥ y(q r ), and corners with the same ycoordinate are ordered from left to right.
We next construct a sequence w over the alphabet = {p 1 , . . . , p l , q 1 , . . . , q r } of m = l + r symbols; recall that m = O(n). Initialize w to an empty string. For each i = 1, . . . , l, first append the symbol p i to w, then for each j = 1, . . . , r , if there is a maximum empty rectangle with p i as the bottom-left corner and with q j as the top-right corner, append the symbol q j to w. The length of the string w thus constructed is l + h; recall that h is the number of maximum empty rectangles under consideration. No two consecutive symbols in w are the same, because each symbol p i occurs exactly once in w, and each symbol q j occurs at most once after p i and before p i+1 . We claim that w has no alternating subsequence of length 6, i.e., no subsequence of the form αβαβαβ; here α, β are elements of {q 1 , . . . , q r }, since each p i occurs exactly once. Equivalently, we claim that if 1 ≤ a < b ≤ r , then w has no subsequence of the forms q a q b q a q b q a q b or q b q a q b q a q b q a . If such a subsequence exists, we extract out of it a subsequence of length five of the form q b q a q b q a q b , where a < b.
Suppose for contradiction that w has a subsequence q b q a q b q a q b , where a < b, so y(q a ) ≥ y(q b ). By our construction of w, the corner q a cannot have both coordinates greater than those of q b . Suppose the contrary, that x(q a ) > x(q b ) and y(q a ) > y(q b ). Then the maximum empty rectangle corresponding to the first occurrence of the symbol q a in q a q b q a q b would contain the corner q b and hence a point of R with the same y-coordinate as q b , contradicting its emptiness assumption.
Label each corner p i that is the bottom-left corner of some maximum empty rectangle with top-right corner at q a (respectively, q b ) with the index a (respectively b). Then we have a sequence of bottom-left corners p i on the left side of the y-axis and below the horizontal line through q b , with non-decreasing y-coordinates and non-increasing x-coordinates, as illustrated in Fig. 3, where each corner is labeled with either a or b or ab (note that two maximum empty rectangles with different top-right corners may have the same point in L as the bottom support), and concatenation of all these labels is the index sequence babab corresponding to the point sequence q b q a q b q a q b .
Indeed: (i) since when constructing w, i goes from 1 to l, the sequence of corners has non-increasing y-coordinates; (ii) suppose for contradiction that the sequence of corners does not have non-decreasing x-coordinates, i.e., for some i < i we have p i , p i as lower-left corners corresponding to a subsequence q b q a in w, with x( p i ) < x( p i ) and y( p i ) < y( p i ); then, as in a previous argument, the maximum empty rectangle corresponding to the occurrence of q a in q b q a would contain the corner q b and hence a point of L with the same y-coordinate as q b , contradicting its emptiness assumption; consequently, the sequence of corners has non-decreasing x-coordinates.
Note that the shaded area above the horizontal line through q b is contained in the maximum empty rectangle with bottom-left corner labeled with the first a, and that the shaded area on the right side of the y-axis is contained in the maximum empty rectangle with bottom-left corner labeled with the third b. Thus they are both empty. The reader may reflect at this point on the significance of the occurrence of a subsequence babab, with a < b. The first b in babab was used only to ensure that the a after it has smaller y-coordinate than q b . The last b in babab was used to ensure that the right shaded area is empty.
We are now in position to finalize the argument. Consider the two maximum empty rectangles with bottom-left corners labeled with the second b and the second a, respectively. By adding the two shaded areas, the union of the two maximum empty rectangles can be extended into the union of two other empty rectangles with the same bottom-left corners and with the top-right corners swapped. Since the two pairs of rectangles have the same intersection, it follows that the total area of the two extended empty rectangles is larger than the total area of the two maximum empty rectangles, a contradiction.
Let Y (n) denote the total number of rectangles in Y . By Lemmas 3.2, 3.3, 3.4, we have Y (n) = O(λ 4 (n)). By the Divide & Conquer approach we have thus X (n) satisfies the following recurrence: The solution of this recurrence is X (n) = O(λ 4 (n) log n) = O(n log n 2 α(n) ), and this completes the proof of the planar upper bound in Theorem 3.1.
A refined upper bound on X 2 (n) Let A be the maximum area of an empty rectangle in U . We next show that the number of maximum empty boxes is O(λ 4 (n) log(1/A)).

In particular, A = (1/n) hence log(1/A) = O(log n). When A is a constant, the bound is almost tight: the maximum number of maximum empty boxes is (n) and
O(n2 α(n) ) in this case. We can get this slightly stronger formulation of our current result because every maximum empty rectangle has area A and since its height is at most 1 its width is at least A. Thus we can group all maximum empty rectangles by their widths into about log(1/A) groups, such that the widths of all maximum empty rectangles in each group differ by a factor of at most 2, and then argue that the number of maximum empty rectangles in each group is at most O(λ 4 (n)).
For each group, let the width of the maximum empty rectangles be between w and 2w. Then we can use 1/w evenly-spaced vertical lines to stab all maximum empty boxes at least once and at most twice. Using Lemmas 3.3 and 3.4 with each vertical line as the y-axis yields the O(λ 4 (n)) bound for each group.

The Number of Maximum Empty Boxes in R d
In this section we prove the following.

Proof of Theorem 4.1
Upper bound The upper bound X d (n) = O(n d ) immediately follows from the same upper bound on the number of maximal empty boxes, as established (indirectly) in [26]. We next recall the main lines of reasoning in obtaining this result.
Motivated by a related problem, Coloured Orthogonal Range Counting, Kaplan et al. [26] gave estimates on the number of maximal empty boxes. In the context of this related problem, each input point in R d can be transformed into a point in R 2d by splitting the coordinate x along the ith axis into two coordinates x and −x in the (2i − 1)th and (2i)th axes, respectively, such that each maximal empty box in R d becomes a maximal empty orthant in R 2d . Kaplan et al. then provided an upper bound of O(n d/2 ) on the maximum number of maximal empty orthants amidst n points in R d , which, by the transformation, implies an upper bound of O(n d ) on the maximum number of maximal empty boxes amidst n points in R d . Moreover they also provided matching lower bounds of (n d/2 ) for maximal empty orthants and (n d ) for maximal empty boxes. Thus the maximum number of maximal empty boxes amidst n points in R d is (n d ). We refer to [17] for a historical account of related work on these bounds.
Since maximum empty boxes are also maximal empty boxes, the known upper bound for maximal empty boxes [26] immediately implies the upper bound X d (n) = O(n d ) for maximum empty boxes. In the following, we derive the lower bound X d (n) = (n d/2 ).
Lower bound Let d ≥ 4 be even. Pair up the d dimensions into d/2 pairs, where each pair determines a 2-dimensional plane. Let n = k · (d/2). Associate k distinct points with each of the d/2 planes. Let 1/2 < c < 1. In each of the d/2 planes, set the two coordinates of the k points associated with this plane as in the first planar construction in the proof of the lower bound in Theorem 3.1, such that there are k + 1 maximum empty rectangles of area c 2/d amidst the k points in that plane. Set the other d − 2 coordinates of these k points to c. Note that c 2/d > c and thus all point coordinates are at least c and less than 1.

Claim 1 The maximum volume of an empty box is c. The number of maximum empty boxes is
To verify the claim, we first show that there are (k + 1) d/2 + d maximal empty boxes of volume c. Since all coordinates of all points are at least c, a box that projects to the interval (0, c) along any one of the d axes and to the whole interval (0, 1) along the other d − 1 axes is empty. This box is maximal because all n points are interior to the unit box U d , and there are points of coordinate c in each dimension. There are d boxes of this type.
Take any one of the k + 1 maximum empty rectangles from each of the d/2 planes, the product of these d/2 rectangles is a box. This box is empty of all n points because it is empty of the k distinct points associated with each of the d/2 planes. There are (k + 1) d/2 boxes of this type, each of volume (c 2/d ) d/2 = c. For fixed d, the number of boxes is (n d/2 ).
We next show that the maximum volume of an empty box is c, and hence these (k + 1) d/2 + d boxes are all maximum empty boxes.
Let B be an arbitrary empty box of volume at least c. Then the projection of B to each axis is an interval of length at least c; moreover, if the projection of B to one axis is an interval of length exactly c, then its projection to all other axes must have length 1. Since there is at least one point of coordinate c along each axis, B either projects to the interval (0, c) along one axis and hence has to project to the whole interval (0, 1) along all other axes, or projects to an interval that contains c along every axis. There are clearly d empty boxes of volume c of the first type. In the following, we assume that B belongs to the second type, that is, the projection of B to each axis contains c.
Let B i and B π denote the projection of B onto dimension i and plane π respectively. Consider one of the d/2 planes, say, the x 1 x 2 plane π . Recall that the k points associated with this plane have coordinate c in the other d −2 dimensions, and so their projections onto any axis x i , i ≥ 3, are contained in the interior of the corresponding interval B i . On the other hand, their projections onto π are not contained in the interior of B π , since otherwise B would not be empty.
Thus B π is an empty rectangle in the plane π and so its area is at most c 2/d , which is the area of a maximum empty rectangle in this plane. By the same argument, the projection of B to each of the d/2 planes must have area at most c 2/d . Hence the volume of B is at most (c 2/d ) d/2 = c. Since the volume of B is assumed to be at least c, its volume must be exactly c. Moreover, the projection of B to each of the d/2 planes must have area exactly c 2/d and must be one of the k + 1 maximum empty rectangles. The claim has been verified.
Let d ≥ 3 be odd. Then d − 1 ≥ 2 is even. Take n points in U d−1 attaining the lower bound for even dimension, with maximum volume c, where 1/2 < c < 1. Set the dth coordinate to c for all n points, now in U d . Observe that the hyperplane x d = c divides U d = [0, 1] d into two maximal empty boxes of volumes c and 1 − c < c, respectively, and that all other maximal empty boxes in U d project to maximal empty boxes in U d−1 . For this point set the maximum volume of an empty box is again c, and there is exactly one extra maximum empty box, namely (0, 1) d−1 × (0, c), in addition to the maximum empty boxes lifted up from U d−1 . Thus X d (n) ≥ X d−1 (n) + 1.
Consequently, the lower bound X d (n) = (n d/2 ) holds for any fixed d ≥ 3, as required. The proof of Theorem 3.1 is now complete.

Algorithmic Aspects
In this section we present an alternative approximation algorithm in R 3 and a possible approach towards a faster exact algorithm, also in R 3 .

An Alternative (1 − ε)-Approximation Algorithm in R 3
Given n points in be an (unknown) maximum empty box, and let v 0 denote its volume. Since v 0 ≥ 1/(n + 1), the maximum extent of B 0 along one of the three coordinate axes, i.e., the length of its projection interval onto one of the three axes, is roughly at least n −1/3 . Guess (by repeating over the three axis-directions) that the maximum extent of B 0 is along the z-coordinate. Consider the subdivision of B 0 into horizontal slabs of height about 0.5εn −1/3 .
Repeat over the O(ε −2 n 2/3 ) pairs of horizontal planes as top and bottom planes: project all the points in the corresponding slab onto a horizontal plane and use the planar exact algorithm by Aggarwal and Suri [3] to find a maximum empty rectangle in the projection plane in O(n log 2 n) time. Return the maximum volume of a box found in this way, i.e., as the product of the area of a maximum empty rectangle in the projection plane and the slab-extent along the z-coordinate. The relative error in the volume returned is at most ε and the resulting overall time is O(ε −2 n 2/3 n log 2 n) = O(ε −2 n 5/3 log 2 n).
In comparison, the running time of the (1 − ε)-approximation algorithm from [16] is O(ε −6 n log 3 n). With an ε −4 factor reduction at the expense of an n 2/3 log −1 n factor increase in the running time, our alternative approximation algorithm offers an attractive trade-off for input instances with small values of ε and moderate values of n.

Towards a Faster Exact Algorithm in R 3 (Conditional Result)
Augustine et al. [7] and Kaplan et al. [27] studied the problem of finding the largest-area empty rectangle contained in U and containing a query point. Kaplan et al. [27] showed how to construct in nearly linear time a data structure that takes nearly linear space, so that given a query point q, the largest-area empty sub-rectangle of U containing q can be computed in O(log 4 n) time.
We next show that a semi-dynamic version of this data structure allows solving the Maximum Empty Box problem in 3-space in subcubic time.
Given n points in [0, 1] 3 , sort them by their z-coordinate; and set z 0 = 0, z n+1 = 1; hence we have 0 = z 0 ≤ z 1 ≤ · · · ≤ z n ≤ 1 = z n+1 , where p i = (x i , y i , z i ), i = 1, . . . , n. Assume for simplicity that all z-coordinates are distinct (the number of phases done by the algorithm is essentially the number of distinct value of z i ). For 0 ≤ i < j ≤ n + 1, let (i, j) be the planar data structure from [27] for the set of j − i − 1 points P i j = {q k = (x k , y k , 0), k = i + 1, . . . , j − 1}. The points q k are the projections of the points in the open slab bounded by z = z i and z = z j onto a horizontal plane. Note that for j = i + 1, P i j = ∅ (so these slabs are trivial to deal with).
The algorithm proceeds in n phases, numbered from 0 to n. Phase i finds the maximum volume of an empty box whose z-extent is [z i , z j ], over all j = n + 1, . . . , i + 1. To do this, it first computes (i, n + 1), and then by repeated updates obtains (i, n), (i, n − 1), . . . , (i, i + 2), (i, i + 1).
The maximum volume of an empty box whose z-extent is [z i , z j ], where i < j, equals the area of a maximum empty rectangle for the planar set P i j ⊂ U times the height z j − z i . In each subsequent step of Phase i, the height of current slab is reduced vertically by removing its top point. The corresponding planar data structure (i, j) is updated with respect to the deletion of one point, say, in time at most U (n). There are about n − i updates (and point deletions) in Phase i. The data structure is queried for the maximum empty rectangle containing the planar (projection) point that was just deleted. The area of this rectangle is then multiplied with the height of the current new slab to obtain the volume of a maximum empty box in the new slab and then the process is repeated. The algorithm outputs the volume of a maximum empty box over all n+2 2 slabs. The data structure is computed from scratch n times, once for each phase, and there are at most O(n 2 ) deletions, each taking U (n) time to process. Alternatively one can compute that data structure only once, i.e., (0, n + 1), but work with two copies, one being updated by deleting one point for each phase, and one being updated at each point deletion within a phase.
Suppose now that the above data structure can be made semi-dynamic with respect to point deletions: given a sequence of m ≤ n points in [0, 1] 2 , construct the data structure and delete the points one by one in the given order, while updating the data structure after each deletion. Assume that this can be done in U (n) = O(n γ ) (amortized) time per point deletion, where γ < 1. Recall that the data structure can be built from scratch in T (n) = n log O(1) n time. Consequently, if U (n) = O(n γ ), the overall running time for computing an empty box of maximum volume amidst n points in [0, 1] 3 becomes T (n) = O(n 2+γ ), as desired.
Perhaps obtaining a dependence of the form U (n) = O(log O(1) n) is too optimistic, due to the fact that computing a maximum empty box is non-decomposable; see [15]; a different variant of largest empty box is considered there, however, the conclusion remains the same.

Open Problems
While we showed that the maximum number of rectangles of maximum area is linear or nearly linear in the plane, a significantly larger gap, between (n d/2 ) and O(n d ), remains in higher dimensions. Moreover, the rôle of the parity of d remains unclear. We suspect that the logarithmic factor in the planar upper bound is only an artifact of our proof. These remarks suggest the following. Problem 6.1 Can an upper bound X 2 (n) = O(n2 α(n) ) be deduced? Is X 2 (n) superlinear in n? Problem 6.2 For fixed d ≥ 2, what is the order of growth of X d (n)? In particular, is X 3 (n) = ω(X 2 (n))? Is X d (n) = ω(X d−1 (n)) for odd d?
In Sect. 5 we have briefly revisited the problem of computing or approximating a maximum empty box.

Problem 6.3
Can a maximum empty box in R d for some fixed d ≥ 3 be computed in O(n γ d ) time for some constant γ d < d?
A possible approach in R 3 is suggested by the following. Problem 6.4 Is there a dynamic or semi-dynamic version-with respect to the deletion of points-of the data structure of Kaplan et al. [27] for finding the largest-area empty rectangle containing a query point?