Average-Case Analysis of Algorithms for Convex Hulls and Voronoi Diagrams
Total Page:16
File Type:pdf, Size:1020Kb
Average-Case Analysis of Algorithms For Convex Hulls and Voronoi Diagrams Rex Allen Dwyer March 1988 CMU-CS-88-132 Submitted to Carnegie-Mellon University in partial fulfillment of the requirements for the degree of Doctor of Philosophy. @1988 Rex A. Dwyer. Chapter 4 is reprinted from Journal of Applied Probability 25(4), @1988 Applied Probability Trust. Chapter 7 is reprinted from Proceedings of the Second Annual Symposium on Computational Geometry, (_)1986 Association for Computing Machinery, and Algorithmica 2(2), @1987 Springer-Verlag. This research was supported by the National Science Foundation under Grants DCR-8352081, DCR-8416190, ECS-8418392, and CCR-8658139. Abstract This thesis addresses the design and analysis of fast-on-average algorithms for two classic problems of computational geometry: the construction of convex hulls and Voronoi diagrams of finite point sets in Euclidean d-space. The main contributions of the thesis are: • A new algorithm for enumerating the vertices of a convex hull that requires between O(n) and O(n 2) time on average for a set of n independent and identically distributed (i.i.d.) points. The exact running time depends on the input distribution. This algorithm is a useful preprocessing step for algorithms for the facet-enumeration and facial-lattice versions of the convex-hull problem. • A new method for bounding the expected number of vertices of the convex hull of random points, new results on the asymptotic behavior of the expected number of vertices and facets of the convex hull of n i.i.d, points drawn from any of a wide variety of input distributions in d dimensions, and application of these results to the analysis of existing convex-hull algo- rithms. The distributions considered are: spherically symmetric distributions with algebraic, exponential, and truncated tails; certain uniform product distributions; and uniform distri- butions in d-polytopes. For all but the product distributions, it is shown that two well-known convex-hull algorithms require o(n 2) time on average; for some of the distributions, linear time suffices. • A new method for analyzing the expected combinatorial complexity and other properties of a random Voronoi diagram in d dimensions, and new results on the expected complexity of the Voronoi diagram of n points chosen from the uniform distribution in the unit d-ball. • A new linear-expected-time algorithm for constructing the Voronoi diagram of n points from the uniform distribution in the unit d-ball. • A practical improvement to the classic divide-and-conquer algorithm for the two-dimensional Voronoi diagram that decreases its average running time from O(n log n) to O(n log log n) for n points from the uniform distribution in the unit square and similar distributions. Acknowledgments Forsan et h_ec olim meminisse juvabit. Virgil, tEneid, I., 203. There is no better place to begin than with thanks to my parents, my brother Jim, and my sister-in-law Helen. All four have given the same loving attention to this endeavor as to all my others, and, as in all the others, I have benefited from my brother's trailblazing. Although their contributions to my graduate-school career and thesis are indirect, I would like to mention some mathematicians and computer scientists who made important impressions on me. The late Rebecca Nelson, my fifth-grade teacher, taught me that mathematics is enjoyable. Mrs. Nelson became an outstanding professor of mathematics education and friend of mathemat- ically gifted children. Her untimely death of cancer last year at the age of 43 grieved me greatly. Louis J. Cote and the late Gerhard Wollan edited the Indiana School Mathematics Journal during my high-school years. The problems they posed and the readers' solutions they published gave me the pleasure of seeing a few of my own words in print for the first time. Dan Friedman's enthusiastic teaching in my first computing course at Indiana University showed me that there is much more to computer science than base-two arithmetic. My associations with him and with David Wise gave my time in Indiana's Computer Science Department much of its significance. The technical guidance and friendship I have received from my advisor Danny Sleator have been indispensable. I admire the breadth and depth of his knowledge not only of computer science and mathematics but of the sciences in general. Without his encouragement and his challenges to my beliefs about my own abilities, I might well have given up this project long ago. Bill Eddy performed the functions of a co-advisor and certainly would have been one officially if his campus address were not "Statistics Department". His almost collegial attitude toward me in the past two years has been as gratifying as it is incongruous. My technical discussions with him have been extremely valuable. He read drafts exceptionally promptly, and many parts of this thesis are better because of his suggestions. I would particularly like to thank him for pushing me a little harder in the direction that eventually led to the results of Chapter 6. Dana Scott's most tangible contribution to the thesis is its organization on the large scale. An hour or so in his office changed an overly hierarchical outline with two unmanageable chapters into a more flexible one with eight. I will also remember his moral support during difficult times. In addition to giving encouragement over the past year-and-a-half, Doug Tygar stressed the importance of a well-written introduction and gave useful advice on the presentation I made at my thesis defense. Ken Clarkson of AT&T Bell Laboratories served as outside examiner on my thesis committee. His particular expertise in probabilistic aspects of computational geometry makes his interest in my work particularly gratifying. His suggestions are reflected throughout the thesis. His help with the proof of Lemma 6.7 was especially important. To department chairman Nico Habermann I owe thanks not only for managing human and material resources to provide an excellent working environment for everyone, but for the personal interest he took in resolving difficulties affecting my thesis progress when they arose. Ravi Kannan supervised my research for three years until changing interests and physical sep- aration made this impractical. His comments on drafts of Chapter 7 were quite valuable, and our discussions of the problems addressed in Chapter 4 girded me for my final attack on them. Jon Webb's code for the Guibas-Stolfi algorithm formed the basis of the experiments leading eventually to the results of Chapter 7. Steve Shreve of the Mathematics Department helped me prove Lemma 7.7. Ignace Kolodner of Mathematics gave tips on evaluating the integrals of Chap- ter 6. Luc Devroye of McGill University corrected an error in the proof of Theorem 4.5. An anonymous referee's comments gave insights leading to a shorter proof of Theorem 4.2 with smaller constant factors. In professor Steve Brookes and fellow students Claire Bono, Mark Derthick, Guy Jacobson, Craig Knoblock, Kevin Lang, fellow Hoosier Cathy McGeoch, Lyle McGeoch, Francesmary Mod- ugno, Harry Printz, Brad White, and Ed Zayas I found fascinating and supportive friends, and their interest in my progress and well-being will not be forgotten. Among friends outside the Computer Science Department, recovered graduate students Frances Dannenberg, Wen-Ling Hsu, and Philip Long have been particularly encouraging. in Contents 1 Introduction and Summary 1 1.1 Examples of Convex-Hull Calculations .......................... 3 1.2 An Example of Voronoi Diagram Calculations ...................... 8 1.3 Thesis Summary ...................................... 11 2 The Convex Hull Problem 15 2.1 Elements of the Combinatorial Theory of Polytopes .................. 15 2.2 The Convex-Hull Problem ................................. 18 2.3 Algorithms for the Convex-Hull Problems ........................ 19 3 A Probabilistic Approach to the Convex-Hull Problem 26 3.1 Elements of Probability Theory .............................. 28 3.2 A Fast-on-Average Vertex-Enumeration Algorithm ................... 29 3.3 A Method for Bounding EFt, ............................... 31 3.4 A Method for Bounding EVn Above ........................... 36 3.5 A Method for Bounding EVn Below ........................... 37 4 Convex Hulls of Samples from Polytopes 38 4.1 Upper Bounds on Vertices ................................. 38 4.2 Lower Bounds on Vertices ................................. 42 4.3 Upper Bounds on Facets .................................. 44 5 Convex Hulls of Samples from Spherically Symmetric Distributions 48 5.1 A General Framework for Spherical Distributions .................... 50 5.2 Distributions with Algebraic Tails ............................ 52 iv 5.3 Distributions with Exponential Tails ........................... 54 5.4 Distributions with Truncated Tails ............................ 60 5.5 Uniform Distributions in Products of Balls ........................ 62 6 Voronoi Diagrams of Samples from a Hypersphere 65 6.1 A General Method for Bounding the Expected Complexity of Voronoi Diagrams . 68 6.2 Bounds for the Uniform Distribution in a d-Ball .................... 72 6.3 A Fast Algorithm for the Unit d-Ball ........................... 78 7 Voronoi Diagrams in the Plane 87 7.1 Preliminaries ........................................ 88 7.2 A Faster Algorithm and Its Worst-Case Running Time ................. 91 7.3 Analysis of Expected Time ................................ 92 7.4 Extension to the Lp Metrics ...............................