15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

of satellite images is over one terabyte in size [188]. A major challenge is to develop mechanisms for<br />

processing the data, or else much of the data will be useless. ∗<br />

For systems of this size to be efficient, fast EM algorithms and data structures are needed for basic<br />

problems in computational geometry. Luckily, many problems on geometric objects can be reduced to<br />

a small core of problems, such as computing intersections, convex hulls, or nearest neighbors. Useful<br />

paradigms have been developed for solving these problems in external memory.<br />

Theorem 32.8.1 The following batched problems involving N = nB input items, Q = qB queries, and<br />

Z = zB output items can be solved using<br />

I/Os with a single disk:<br />

© 2002 by CRC Press LLC<br />

O((n + q)log m n + z) (32.7)<br />

1. Computing the pairwise intersections of N segments in the plane and their trapezoidal decomposition,<br />

2. Finding all intersections between N nonintersecting red line segments and N nonintersecting blue line<br />

segments in the plane,<br />

3. Answering Q orthogonal 2-D range queries on N points in the plane (i.e., finding all the points within<br />

the Q query rectangles),<br />

4. Constructing the 2-D and 3-D convex hull of N points,<br />

5. Voronoi diagram and Triangulation of N points in the plane,<br />

6. Performing Q point location queries in a planar subdivision of size N,<br />

7. Finding all nearest neighbors for a set of N points in the plane,<br />

8. Finding the pairwise intersections of N orthogonal rectangles in the plane,<br />

9. Computing the measure of the union of N orthogonal rectangles in the plane,<br />

10. Computing the visibility of N segments in the plane from a point,<br />

11. Performing Q ray-shooting queries in 2-D Constructive Solid Geometry (CSG) models of size N: The<br />

parameters Q and Z are set to 0 if they are not relevant for the particular problem.<br />

Goodrich et al. [97], Zhu [217], Arge et al. [27], Arge et al. [24], and Crauser et al. [64,65] develop<br />

EM algorithms for those problems using the following EM paradigms for batched problems:<br />

Distribution sweeping—a generalization of the distribution paradigm of Section 32.6 for “externalizing”<br />

plane sweep algorithms.<br />

Persistent B-trees—an offline method for constructing an optimal-space persistent version of the<br />

B-tree data structure (see the subsection “B-trees and Variants”), yielding a factor of B improvement<br />

over the generic persistence techniques of Driscoll et al. [74].<br />

Batched filtering—a general method for performing simultaneous EM searches in data structures that<br />

can be modeled as planar layered directed acyclic graphs; it is useful for 3-D convex hulls and<br />

batched point location. Multisearch on parallel computers is considered in [73].<br />

External fractional cascading—an EM analog to fractional cascading on a segment tree, in which the<br />

degree of the segment tree is O(m α ) for some constant 0 < α ≤ 1. Batched queries can be performed<br />

efficiently using batched filtering; online queries can be supported efficiently by adapting the<br />

parallel algorithms of work of Tamassia and Vitter [187] to the I/O setting.<br />

External marriage-before-conquest—an EM analog to the technique of Kirkpatrick and Seidel [123]<br />

for performing output-sensitive convex hull constructions.<br />

Batched incremental construction—a localized version of the randomized incremental construction<br />

paradigm of Clarkson and Shor [56], in which the updates to a simple dynamic data structure<br />

∗ For brevity, in the remainder of this chapter, only with the single-disk case D = 1 is presented. The single-disk<br />

I/O bounds for the batched problems can often be cut by a factor of Θ(D) for the case D ≥ 1 by using the load<br />

balancing techniques of Section 32.6. In practice, disk striping (cf., Section 32.5) may be sufficient. For online<br />

problems, disk striping will convert optimal bounds for the case D = 1 into optimal bounds for D ≥ 1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!