RANGE-AGGREGATE QUERY PROBLEMS IN COMPUTATIONAL GEOMETRY

Computational Geometry has grown into an independent field in the last two decades. It deals with design and rigorous analysis of sophisticated algorithms for problems which involve geoemtric objects. Apart from trying to come up with efficient algorithms and data structures, a lot of focus is on mathematical analysis for proving the efficiency of the solutions. Computational Geometry problems find a lot of applications in the field of VLSI, Geographic Information Systems (GIS), graphics and databases. In a class of problems named ‘geometric intersection searching problems’ (GISP) orthgonal range searching, halfspace range searching, orthogoanl point enclosure have been some of the most widely studied problems. The inherent beauty in these problems and their applications in various domains have motivated researchers to explore these problems. GISP can be simply stated as follows: Let S be a set of objects in IR (d-dimensional space). Given a query region q, report or count the number of objects in S ∩ q. The objective is to come up with data structures which uses minimal space (ideally linear space) and query algorithms which answer queries fast ! In many applications (which shall be discussed later), it is not sufficient to merely report or count the objects of S intersecting with the query range q. Some form of aggregation (or summarization in some cases) needs to be done on the objects in S ∩ q to present the user with more useful information. Range-Aggregate queries are a step in that direction and are the focus of this thesis. A range-aggregate query can be formally defined as follows: Let S be a set of n objects in IR, where each object p may have a real-valued weight w(p). We would like to preprocess S into a suitable data structure so that for any given query range q ⊆ IR , a certain aggregation function that operates on the objects of S ′ = S ∩ q can be performed efficiently and output-sensitively. Existing techniques in the literature cannot be directly applied to answer these queries efficiently. Therefore, in each chapter we consider a unique aggregation function and study them in detail. In many applications reporting all the points in S ∩ q is not a user-friendly experience since |S ∩ q| can be very huge and hence, unmanagable. Therefore, we use the aggregation operator ‘top-k’ to report only the k most significant points based on the weights associated with each point. In many scenarios, the points in S are classified into disjoint groups. We associate a unique color with each group and all the points belonging to that group also inherit that color. Given a query region q, a straightforward query is to report the unique colors of the points in S ∩ q. In the range-aggregate versions we considered, additional information would be reported along with each color c such as the point of color c in q with the maximum weight or the sum of the weights of all the points of color c in q. In short, a useful summary of each group is reported. Geometric aggregation functions are relatively more difficult to handle than the regular aggregate functions. We consider some geometric aggregation problems and improve upon the existing solutions in the literature. Finally, we consider a boolean yes or no query asking if |S ∩ q| > 0 or not. Though existing structures in the literature can answer this query in reasonable query time and space we made an attempt to further improve them. We come up with efficient data structures and query algorithms to solve these problems. Mathematical analysis is done to show the efficiency of our solutions in terms of space occupied and query time. Real world applications of each type of range-aggregate query is explained as well.