Parallel Computational Geometry: An Approach using Randomization

We describe very general methods for designing efficient parallel algorithms for problems in computational geometry. Although our main focus is the PRAM, we provide strong evidence that these techniques yield equally efficient algorithms in more concrete computing models like Butterfly networks. The algorithms exploit random sampling and randomized techniques for solving a wide class of fundamental problems from computational geometry like convex hulls, Voronoi diagrams, triangulation, point-location and arrangements. In addition, the algorithms on the Butterfly network rely critically on an efficient randomized multisearching algorithm. Our description emphasizes the algorithmic techniques rather than a detailed treatment of the individual problems.

[1]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[2]  Rajeev Raman,et al.  Waste makes haste: tight bounds for loose parallel sorting , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[3]  Michael T. Goodrich,et al.  Planar Separators and Parallel Polygon Triangulation , 1995, J. Comput. Syst. Sci..

[4]  Noga Alon,et al.  The average complexity of deterministic and randomized parallel comparison sorting algorithms , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[5]  Micha Sharir,et al.  A subexponential bound for linear programming , 1992, SCG '92.

[6]  Ketan Mulmuley,et al.  Computational geometry - an introduction through randomized algorithms , 1993 .

[7]  Yossi Azar,et al.  Tight Comparison Bounds on the Complexity of Parallel Sorting , 2018, SIAM J. Comput..

[8]  Michael T. Goodrich Geometric partitioning made easier, even in parallel , 1993, SCG '93.

[9]  Richard J. Lipton,et al.  Multidimensional Searching Problems , 1976, SIAM J. Comput..

[10]  Robert E. Tarjan,et al.  Planar point location using persistent search trees , 1986, CACM.

[11]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

[12]  John H. Reif,et al.  Random sampling techniques for efficient parallel algorithms in computational geometry , 1989 .

[13]  Udi Manber,et al.  The effect of number of Hamiltonian paths on the complexity of a vertex-coloring problem , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[14]  Michael T. Goodrich,et al.  Randomized fully-scalable BSP techniques for multi-searching and convex hull construction , 1997, SODA '97.

[15]  Michael Ben-Or,et al.  Lower bounds for algebraic computation trees , 1983, STOC.

[16]  Michael T. Goodrich Using approximation algorithms to design parallel algorithms that may ignore processor allocation , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[17]  Nancy M. Amato,et al.  The parallel 3D convex hull problem revisited , 1992, Int. J. Comput. Geom. Appl..

[18]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[19]  Bruce M. Maggs,et al.  Universal packet routing algorithms , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[20]  Richard Cole,et al.  Cascading divide-and-conquer: A technique for designing parallel algorithms , 1989, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[21]  Y. Han Designing fast and efficient parallel algorithms , 1987 .

[22]  Ravi B. Boppana The Average-Case Parallel Complexity of Sorting , 1989, Inf. Process. Lett..

[23]  R. Pollack,et al.  On the number of cells defined by a set of polynomials , 1993 .

[24]  Uzi Vishkin,et al.  Converting high probability into nearly-constant time—with applications to parallel hashing , 1991, STOC '91.

[25]  Leslie G. Valiant,et al.  A logarithmic time sort for linear size networks , 1982, STOC.

[26]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[27]  Sanguthevar Rajasekaran,et al.  Optimal parallel randomized algorithms for the Voronoi diagram of line segments in the plane and related problems , 1994, SCG '94.

[28]  Kenneth L. Clarkson,et al.  Randomized parallel algorithms for trapezoidal diagrams , 1992, Int. J. Comput. Geom. Appl..

[29]  E. Szemerédi,et al.  Sorting inc logn parallel steps , 1983 .

[30]  Richard M. Karp,et al.  Probabilistic recurrence relations , 1994, JACM.

[31]  Bernard Chazelle,et al.  Intersection of convex objects in two and three dimensions , 1987, JACM.

[32]  Xiaotie Deng An Optimal Parallel Algorithm for Linear Programming in the Plane , 1990, Inf. Process. Lett..

[33]  Johan Håstad,et al.  Optimal bounds for decision problems on the CRCW PRAM , 1987, STOC.

[34]  Ketan Mulmuley,et al.  Randomized Multidimensional Search Trees: Dynamic Sampling (Extended Abstract) , 1991, SCG.

[35]  Kenneth L. Clarkson,et al.  Las Vegas algorithms for linear and integer programming when the dimension is small , 1995, JACM.

[36]  John H. Reif,et al.  Optimal Parallel Randomized Algorithms for Three-Dimensional Convex Hulls and Related Problems , 1992, SIAM J. Comput..

[37]  Noga Alon,et al.  Parallel linear programming in fixed dimension almost surely in constant time , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[38]  Quentin F. Stout,et al.  Ultra-fast expected time parallel algorithms , 1991, SODA '91.

[39]  Torben Hagerup,et al.  Fast Parallel Space Allocation, Estimation and Integer Sorting , 1995, Inf. Comput..

[40]  Kenneth L. Clarkson,et al.  New applications of random sampling in computational geometry , 1987, Discret. Comput. Geom..

[41]  Neelima Gupta,et al.  Faster output-sensitive parallel convex hulls for d≤3: optimal sublogarithmic algorithms for small outputs , 1996, SCG '96.

[42]  David Haussler,et al.  ɛ-nets and simplex range queries , 1987, Discret. Comput. Geom..

[43]  Eli Upfal,et al.  Parallel hashing: an efficient implementation of shared memory , 1988, JACM.

[44]  Richard Cole,et al.  Approximate and exact parallel scheduling with applications to list, tree and graph problems , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[45]  Michael T. GoodrichyDept Communication-eecient Parallel Sorting , 1996 .

[46]  Mikhail J. Atallah,et al.  Efficient parallel techniques for computational geometry , 1987 .

[47]  Martin Dietzfelbinger,et al.  A Perfect Parallel Dictionary , 1992, MFCS.

[48]  Torben Hagerup,et al.  The Log-Star Revolution , 1992, STACS.

[49]  Rüdiger Reischuk,et al.  A fast probabilistic parallel sorting algorithm , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[50]  David G. Kirkpatrick,et al.  Parallel Construction of Subdivision Hierarchies , 1989, J. Comput. Syst. Sci..

[51]  Eli Upfal,et al.  Parallel hashing: an efficient implementation of shared memory , 1988, JACM.

[52]  Anita Liu Chow Parallel algorithms for geometric problems , 1980 .

[53]  Nancy M. Amato,et al.  Parallel algorithms for higher-dimensional convex hulls , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[54]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[55]  Richard M. Karp,et al.  The complexity of parallel computation , 1986 .

[56]  John H. Reif,et al.  Randomized Algorithms for Binary Search and Load Balancing on Fixed Connection Networks with Geometric Applications , 1994, SIAM J. Comput..

[57]  Kenneth L. Clarkson,et al.  A Randomized Algorithm for Closest-Point Queries , 1988, SIAM J. Comput..

[58]  Michael T. Goodrich,et al.  In-place techniques for parallel convex hull algorithms (preliminary version) , 1991, SPAA '91.

[59]  Andrew Chi-Chih Yao,et al.  A Lower Bound to Finding Convex Hulls , 1981, JACM.

[60]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[61]  Mikhail J. Atallah,et al.  Efficient Parallel Solutions to Some Geometric Problems , 1986, J. Parallel Distributed Comput..

[62]  J. Michael Steele,et al.  Lower Bounds for Algebraic Decision Trees , 1982, J. Algorithms.

[63]  W ShorPeter,et al.  Applications of random sampling in computational geometry, II , 1989 .

[64]  Torben Hagerup,et al.  Efficient parallel computation of arrangements of hyperplanes in d dimensions , 1990, SPAA '90.

[65]  Ketan Mulmuley Randomized multidimensional search trees: lazy balancing and dynamic shuffling , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[66]  Ketan Mulmuley A Fast Planar Partition Algorithm, I , 1990, J. Symb. Comput..

[67]  Neelima Gupta,et al.  Optimal, Output-sensitive Algorithms for Constructing Planar Hulls in Parallel , 1997, Comput. Geom..

[68]  Richard J. Cole An Optimally Efficient Selection Algorithm , 1988, Inf. Process. Lett..

[69]  David G. Kirkpatrick,et al.  Optimal Search in Planar Subdivisions , 1983, SIAM J. Comput..

[70]  David G. Kirkpatrick,et al.  The Ultimate Planar Convex Hull Algorithm? , 1986, SIAM J. Comput..

[71]  Kevin Q. Brown,et al.  Voronoi Diagrams from Convex Hulls , 1979, Inf. Process. Lett..

[72]  Leslie G. Valiant,et al.  A Scheme for Fast Parallel Communication , 1982, SIAM J. Comput..

[73]  F. P. Preparata,et al.  Convex hulls of finite sets of points in two and three dimensions , 1977, CACM.

[74]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[75]  Michael T. Goodrich,et al.  Communication-Efficient Parallel Sorting , 1999, SIAM J. Comput..

[76]  Leonidas J. Guibas,et al.  Parallel computational geometry , 1988, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[77]  Uzi Vishkin,et al.  Parallel Dictionaries in 2-3 Trees , 1983, ICALP.

[78]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[79]  Franco P. Preparata,et al.  An optimal real-time algorithm for planar convex hulls , 1979, CACM.

[80]  Micha Sharir,et al.  A Subexponential Bound for Linear Programming , 1992, Symposium on Computational Geometry.

[81]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[82]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[83]  Ronald L. Graham,et al.  An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set , 1972, Inf. Process. Lett..

[84]  Bernard Chazelle Triangulating a simple polygon in linear time , 1991, Discret. Comput. Geom..