Efficient Answering of Polyhedral Queries in R d Using BBS-Trees K. Elbassioni * A. Elmasry † I. Kamel ‡ Abstract We present a simple method for answering d- dimensional polyhedral queries, based on partitioning the space into disjoint regions and using a Balanced Binary Search (BBS) tree to index the points in each region. By appropriately selecting the boundaries of each region, we can guarantee an average search time that almost matches a known lower bound for the prob- lem. Specifically, for a fixed d, if the coordinates of a given set of n points are statistically independent, the proposed technique answers polyhedral queries, on the average, in O(mn 1−1/d .(log n) 1/d + mk) using O(n) space, where k is the number of reported points, and m is the number of linear constraints bounding the query region. Our approach is novel in that, while it provides a theoretical upper bound on the average query time, it avoids the use of complicated data structures, making it an effective candidate for practical applications. 1 Introduction The problem of answering polyhedral queries has re- ceived reasonable attention. There are theoretically known lower and upper bounds for this problem. In particular, Chazelle and Rosenberg [3] show that sim- plex reporting in d-dimensions, using only linear O(n) space, requires Ω(n 1−1/d +k) query time. For the upper bounds, Matouˇ sek [5] gave an almost optimal algorithm for simplex range searching using partition trees. Given a static set of n points in d-dimensions and an O(n) space, his technique can answer any simplex query in O(n 1−1/d+ǫ + k) time, after an O(n log n) preprocess- ing time, for any constant ǫ> 0. However, this al- gorithm is not very practical since it uses complicated data structures, and the hidden constant in the query search time becomes large if a small ǫ is chosen. Some practical techniques have also been developed such as those using R-trees, R*-trees, etc [1, 4], but no theoret- ical bounds on their query time were shown. * Computer Science Department, Rutgers University, 110 Frel- inghuysen Road, NJ 08854; (elbassio@paul.rutgers.edu). † Computer Science Department, Rutgers University, 110 Frel- inghuysen Road, NJ 08854; (elmasry@cs.rutgers.edu). ‡ Panasonic Information and Networking Tech. Lab., Prince- ton, NJ 08540; (ibrahim@research.panasonic.com). In this paper, we present a method that lies in the middle between these two approaches. Under a natu- ral assumption on the points ′ coordinates, namely that they are statistically independent, we can answer a sim- plex query, on the average, in O(n 1−1/d .(log n) 1/d + k) using O(n) space. This gives an upper bound that al- most matches the worst-case bound obtained by the more complicated algorithms such as [5]. However, our algorithm is much simpler since it requires only BBS- trees for its implementation. Moreover, the query algo- rithm works directly on the original query region, and does not require partitioning it into simplices as is usu- ally required by other algorithms. It should also be mentioned that if space is not an issue and is allowed to increase non-linearly with n, then logarithmic query time can be achieved [2]. 2 MB-index for answering poly- hedral queries in R d Given a set P⊆ R d of nd-dimensional points dis- tributed in a rectangular box B =[L 1 ,U 1 ] × ... × [L d ,U d ] ⊆ R d , the location x =(x 1 ,...,x d ) of each point will be regarded as a random variable distributed in the interval L 1 ≤ x 1 ≤ U 1 ,...,L d ≤ x d ≤ U d , with probability density function f (x 1 ,...,x d ). The only assumption we make on the distribution of these loca- tions is that they are statistically independent along each direction, i.e., f (x 1 ,...,x d )= d i=1 f i (x i ), where f i (x i ) is the probability density function along the ith direction. Given a set of half-spaces determined by the hyper- planes H = {H 1 ,..., H m }, it is required to report all the points that lie in the intersection of these half- spaces. In this section, we develop an index structure, referred to as the MB-index, which enables us to effi- ciently answer such polyhedral queries about the given point set. More precisely, we shall prove the following result. Theorem 1 Under the statistical independence as- sumption, the average query time required by the MB- index to report all the points in the intersection of m half-spaces is O(mn 1− 1 d log 1 d n + mk). The space re- quired is O(n), the preprocessing is O(n log n), and the amortized update time is O(log n).