Approximate Polytope Membership Queries and Applications
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITÉ CÔTE D’AZUR Approximate Polytope Membership Queries and Applications Mémoire d’habilitation à diriger des recherches Spécialité Informatique Guilherme Dias da Fonseca Université Clermont Auvergne, LIMOS, and INRIA Sophia Antipolis [email protected] Jean Cardinal Université Libre de Bruxelles Rapporteur Timothy Chan University of Illinois at UC Rapporteur Nabil Mustafa ESIEE Paris Rapporteur Jean-Daniel Boissonnat INRIA, Sophia Antipolis Garant Victor Chepoi Aix-Marseille Université Examinateur Bruno Martin Université de Nice Sophia Antipolis Examinateur David M. Mount University of Maryland Examinateur June 8, 2018 Abstract In the polytope membership problem, we are given a convex polytope P Rd for constant d 2, and the objective is to preprocess P into a data structure so that,⊂ given any query ≥ point q Rd, it is possible to determine efficiently whether q P . We consider this problem2 in an approximate setting. Given an approximation parameter2 " > 0, an "- approximate polytope membership query returns a positive result if q P , a negative result if the distance from q to P is greater than " diam(P ), and it may2 return either result otherwise. · We presented the first data structures especially tailored to approximate polytope (d 1)=4 membership. Initially, we showed how to answer queries in O(1=" − ) time using (d 1)=2 optimal O(1=" − ) storage. Later, we improved the analysis of the same data structure (d 1)=8 to O(log(1=")=" − ) query time for the same optimal storage. Switching to a different approach, we finally obtained an optimal data structure with O(log(1=")) query time (d 1)=2 and O(1=" − ) storage. Our data structures yield dramatic improvements to several well-studied geometric approximation problems, where the input is a set of n points and α > 0 is an arbitrarily small constant: We reduce the storage needed to answer approximate nearest neighbor queries in • d 1 d=2 polylogarithmic time from O(n=" − ) to O(n=" ). d 2 We reduce the time to approximate the diameter from O((n + 1=" − ) log(1=")) to • (d 1)=2+α O(n log(1=") + 1=" − ). d 2 We reduce the time to construct an "-kernel from O((n + 1=" − ) log(1=")) to near- • (d 1)=2+α optimal O(n log(1=") + 1=" − ). We reduce the expected time to approximate the bichromatic closest pair from • O(n="d=3) to O(n="d=4+α). We reduce the expected time to approximate the minimum bottleneck Euclidean • spanning tree from O((n log n)="d=3) to O((n log n)="d=4+α). While our initial approach to approximate polytope membership was based on stan- dard techniques of grids and quadtrees, our most efficient data structure presents the first algorithmic application of Macbeath regions, a classical structure from convex geometry. The data structure consists of a hierarchy of John ellipsoids of Macbeath regions, where each level of the hierarchy provides a certain degree of approximation of the boundary of the polytope. 2 Resumé Dans le problème d’appartenance à un polytope, on a un polytope convexe P Rd pour une constante d 2, et l’objectif est de représenter P par une structure de données⊂ de ≥ façon que, si on reçoit un point de requête q Rd, on peut rapidement déterminer si q P . On considère ce problème dans un contexte2 d’approximation. Étant donné un paramètre2 " > 0, la requête doit renvoyer une réponse positive si q P , une réponse négative si la distance de q à P est supérieure à " diam(P ), et sinon2 on peut avoir n’importe quelle réponse, où diam(P ) est le diamètre· de P . On a présenté les premières structures de données développées spécialement pour l’approximation de l’appartenance à un polytope. Initialement, on a montré comment (d 1)=4 (d 1)=2 répondre aux requêtes en temps O(1=" − ) avec un stockage optimal de O(1=" − ). Ensuite, on a raffiné l’analyse de la même structure de données pour obtenir temps de (d 1)=8 requête O(log(1=")=" − ) avec le même stockage optimal. Finalement, on a étudié une approche différente pour obtenir une structure de données optimale avec temps de requête (d 1)=2 O(log(1=")) et stockage O(1=" − ) . Nos structures de données apportent d’énormes améliorations pour plusieurs problèmes classiques d’approximation géométrique, où l’en- trée est un ensemble de n points et α > 0 est une constante arbitrairement petite : On réduit le stockage pour approximer le plus proche voisin en temps polylogarith- • d 1 d=2 mique de O(n=" − ) à O(n=" ). d 2 On réduit le temps pour approximer le diamètre de O((n + 1=" − ) log(1=")) à • (d 1)=2+α O(n log(1=") + 1=" − ). d 2 On réduit le temps pour construire un "-noyau de O((n + 1=" − ) log(1=")) à • (d 1)=2+α O(n log(1=") + 1=" − ). On réduit le temps d’un algorithme probabiliste pour approximer les deux points • les plus rapprochés bichromatiques de O(n="d=3) à O(n="d=4+α). On réduit le temps d’un algorithme probabiliste pour approximer l’arbre couvrant • Euclidien d’étranglement minimal de O((n log n)="d=3) à O((n log n)="d=4+α). Alors que notre solution initiale était basée sur de techniques bien connues comme les grilles et quadtrees, notre structure de données la plus efficace présente la première application algorithmique des régions de Macbeath, une structure classique de la géométrie convexe. La structure de donnés utilise une hiérarchie d’ellipsoïdes de John des régions de Macbeath, où chaque niveau de la hiérarchie fournit un certain degré d’approximation du bord du polytope. 3 Acknowledgments I would like to thank Jean-Daniel Boissonnat for welcoming me multiple times at INRIA, Sophia Antipolis, where I prepared most of this dissertation, as well as for his valuable advice and encouragement. I would like to thank David M. Mount for all the research we have done together and also for the enlightening experience that comes from spending time with him, both at personal and professional levels. I would like to thank Suni Arya for all the research we have done together, for the multiple invitations to Hong Kong University of Science and Technology, and for the wisdom he always shares. Finally, I would like to thank all committee members for making this work possible. 4 Contents 1 Introduction6 2 Approximate Polytope Membership8 2.1 Split-Reduce.................................. 10 2.2 Hierarchy of Macbeath Regions....................... 17 3 Applications 24 3.1 Approximate Nearest Neighbor....................... 24 3.2 Kernel..................................... 29 3.3 Diameter.................................... 31 3.4 Bichromatic Closest Pair........................... 32 3.5 Euclidean Trees................................ 33 4 Conclusion 35 4.1 Ongoing Work................................. 35 4.2 Polytope Approximation........................... 38 4.3 Open Problems................................ 39 References 46 Article 1 47 Article 2 99 Article 3 123 Reports 143 5 Chapter 1 Introduction The field of computational geometry greatly succeeded its initial goal of designing effi- cient algorithms and data structures for numerous planar problems, such as convex hull, Voronoi diagram, point location, and range searching [51]. However, major barriers were encountered when trying to solve these problems in arbitrary dimensions. In fact, several lower bound results show that these problems require a processing time of roughly nd, where n is the input size and d is the dimension. In order to surpass this barrier, called the curse of dimensionality, we resort to finding approximate solutions instead of exact ones. Most of my current research topics are in the area of geometric approximation (see [65] for an introductory textbook). I’m particularly interested in approximations with respect to distances in spaces of constant dimension d. I focus this dissertation around one such problem: approximate polytope membership. Several fundamental problems are closely related to approximate polytope membership, and are also presented in this dissertation. The work presented herein is based on four conference papers and one journal pa- per. The conference papers were presented in STOC 2011 [11], SODA 2012 [13], SODA 2017 [16], and SoCG 2017 [14]. The journal paper compiling the first two conference pa- pers appeared at SIAM Journal on Computing [17]. All these papers were the fruit of my collaboration with Sunil Arya (Hong Kong University of Science and Technology) and my PhD advisor David Mount (University of Maryland) after the conclusion of my PhD. The papers cover a much greater level of detail than the present dissertation. The objective here is to survey the state of art of the problem, presenting some of the simplest proofs to give an idea of the type of argument used. Detailed proofs of all results can be found in the attached papers. This dissertation is organized as follows. In Chapter2, I consider the approximate polytope membership problem per se. After defining the problem and surveying previous work, I present two data structures that we proposed to solve the problem. The first data structure, called Split-Reduce, is based on a simple quadtree construction. However, it is not easy to analyze its complexity, and tight bounds remain an open problem. We prove some simple upper and lower bounds from [11] and give a high level idea of the improved bounds upper bounds from [13]. Then, I describe a completely different data structure [16], whose construction is much less elementary, but whose analyses is somewhat simpler. I present an informal definition of the data structure, and give one simple proof to hint at the kind of tools used. 6 In Chapter3, I consider some of the several applications of approximate polytope membership. I start with our original motivating application [11] of approximate nearest neighbor searching. After surveying the rich history of the problem, I present the reduction from approximate nearest neighbor to approximate polytope membership.