C 2015 by Benjamin Adam Raichel. All Rights Reserved. in PURSUIT of LINEAR COMPLEXITY in DISCRETE and COMPUTATIONAL GEOMETRY
Total Page:16
File Type:pdf, Size:1020Kb
c 2015 by Benjamin Adam Raichel. All rights reserved. IN PURSUIT OF LINEAR COMPLEXITY IN DISCRETE AND COMPUTATIONAL GEOMETRY BY BENJAMIN ADAM RAICHEL DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign, 2015 Urbana, Illinois Doctoral Committee: Professor Sariel Har-Peled, Chair Professor Chandra Chekuri Dr. Kenneth Clarkson, IBM Almaden Professor Jeff Erickson Abstract Many computational problems arise naturally from geometric data. In this thesis, we consider three such problems: (i) distance optimization problems over point sets, (ii) computing contour trees over simplicial meshes, and (iii) bounding the expected complexity of weighted Voronoi diagrams. While these topics are broad, here the focus is on identifying structure which implies linear (or near linear) algorithmic and descriptive complexity. The first topic we consider is in geometric optimization. More specifically, we define a large class of distance problems, for which we provide linear time exact or approximate solutions. Roughly speaking, the class of problems facilitate either clustering together close points (i.e. netting) or throwing out outliers (i.e pruning), allowing for successively smaller summaries of the relevant information in the input. A surprising number of classical geometric optimization problems are unified under this framework, including finding the optimal k-center clustering, the kth ranked distance, the kth heaviest edge of the MST, the minimum radius ball enclosing k points, and many others. In several cases we get the first known linear time approximation algorithm for a given problem, where our approximation ratio matches that of previous work. The second topic we investigate is contour trees, a fundamental structure in computational topology. Contour trees give a compact summary of the evolution of level sets on a mesh, and are typically used on massive data sets. Previous algorithms for computing contour trees took Θ(n log n) time and were worst-case optimal. Here we provide an algorithm whose running time lies between Θ(nα(n)) and Θ(n log n), and varies depending on the shape of the tree, where α(n) is the inverse Ackermann function. In particular, this is the first algorithm with O(nα(n)) running time on instances with balanced contour trees. Our algorithmic results are complemented by lower bounds indicating that, up to a factor of α(n), on all instance types our algorithm performs optimally. For the final topic, we consider the descriptive complexity of weighted Voronoi diagrams. Such diagrams have quadratic (or higher) worst-case complexity, however, as was the case for contour trees, here we push beyond worst-case analysis. A new diagram, called the candidate diagram, is introduced, which allows us to bound the complexity of weighted Voronoi diagrams arising from a particular probabilistic input model. Specifically, we assume weights are randomly permuted among fixed Voronoi sites, an assumption which is weaker than the more typical sampled locations assumption. Under this assumption, the expected complexity is shown to be near linear. ii To my family, and to all those who supported me, in ways both big and small. iii Acknowledgments First and foremost, I would like to thank my advisor, Sariel Har-Peled. At an uncertain time, after having just received my bachelor’s degree, Sariel helped me find a career path forward. Even though when we first met, I had little knowledge of theoretical computer science, he believed in me, and continued to do so over the years, even at times when I was uncertain of myself. Undoubtedly, without his support, this thesis, and indeed my chosen research path, would not have been possible. I would also like to thank Seshadhri Comandur for taking me on as an intern the past two summers at Sandia National Labs, and showing me a research world outside of UIUC. In particular, the middle portion of this thesis is the result of the work we started together at Sandia. Also, thank you to all my committee members. First, thanks to Chandra Chekuri and Jeff Erickson, from whom I have learned a great deal during my time as a grad student. Their door has always been open to me, and each has uniquely provided me with a significant amount of valuable and well-thought-out advice. Also, thank you to Ken Clarkson for graciously agreeing to serve on my committee, despite us not having worked together previously, and for twice traveling a long distance to listen to me speak. I am also very grateful to all my co-authors. Specifically, thank you to Hsien-Chih Chang, Seshadhri Comandur, and Sariel Har-Peled who worked with me on results contained in this thesis, and also to Anne Driemel, Alina Ene, Nirman Kumar, David Mount, and Amir Nayyeri for their work with me on other results. In my time as a graduate student I have also been fortunate enough to be a part of the UIUC theory group. The group has provided me with a sense of community right from the start. The faculty deeply care about the success of their students, and the students support one another to succeed. So thank you to the entire theory group, both past and present, for taking me in. I would also like to thank all those who gave advice and support, both directly and indirectly, on research in and outside of this thesis. This includes, but is not limited to: Pankaj Agarwal, Janine Bennett, Sergio Cabello, Timothy Chan, Esther Ezra, Haim Kaplan, Steve LaValle, Joseph O’Rourke, Ali Pinar, Manoj Prabhakaran, Raimund Seidel, Micha Sharir, Jessica Sherette, Anastasios Sidiropoulos, Yusu Wang, and Carola Wenk. More generally, I would like to thank all the mentors I have had over the years, for pushing me to succeed and for believing in me. Also, thanks to all my classmates who struggled together with me in our quest for understanding. Last, but certainly not least, thank you to all my friends and family. First, thank you to my parents, to whom I owe the most, and who have always supported me and pushed me to succeed in whatever path I chose in life. Next, I thank my brothers for always being there for me. We complement each other, and I am very proud of both of them. Finally, my love and thanks goes to my fiancée, Aubrey, whose love and support has been immeasurable and who I will forever be grateful to as we continue through life together. iv Table of Contents List of Figures.............................................. vii Chapter 1 Introduction ....................................... 1 1.1 Geometric optimization via Net and Prune............................1 1.2 Computing contour trees in shape sensitive time.........................3 1.3 Bounding probabilistic inputs for weighted diagrams.......................4 1.3.1 Related work.........................................6 1.4 Remarks................................................6 Chapter 2 Net and Prune...................................... 8 2.1 Introduction..............................................8 2.2 Preliminaries............................................. 14 2.2.1 Basic definitions....................................... 14 2.2.2 Computing nets quickly for a point set in IRd ....................... 14 2.2.3 Identifying close and far points............................... 15 2.3 Approximating nice distance problems............................... 16 2.3.1 Problem definition and an example............................. 16 2.3.2 A linear time approximation algorithm........................... 17 2.3.3 The result........................................... 21 2.4 Applications.............................................. 23 2.4.1 k-center clustering...................................... 23 2.4.2 The kth smallest distance.................................. 23 2.4.3 The kth smallest m-nearest neighbor distance....................... 25 2.4.4 The spanning forest partitions, and the kth longest MST edge.............. 26 2.4.5 Computing the minimum cluster.............................. 28 2.4.6 Clustering for monotone properties............................. 31 2.4.7 Smallest non-zero distance.................................. 32 2.5 Linear Time with high probability................................. 33 2.5.1 Preliminaries......................................... 33 2.5.2 The algorithm........................................ 35 2.5.3 Algorithm analysis...................................... 37 2.5.4 The result........................................... 39 2.6 Conclusions.............................................. 40 Chapter 3 Contour Trees ...................................... 42 3.1 Introduction.............................................. 42 3.1.1 Previous Work........................................ 44 3.2 Contour tree basics.......................................... 44 3.2.1 Some technical remarks................................... 46 3.3 A tour of the new contour tree algorithm............................. 47 3.3.1 Breaking M into simpler pieces............................... 47 3.3.2 Join trees from painted mountaintops........................... 49 v 3.3.3 The lower bound....................................... 52 3.4 Divide and conquer through contour surgery............................ 52 3.5 Raining to partition M ........................................ 54 3.6 Contour trees of extremum dominant manifolds.......................... 56 3.7 Painting to compute contour trees................................. 58 3.7.1 The data structures..................................... 58