On the Geometric Separability of Bichromatic Point Sets
Total Page:16
File Type:pdf, Size:1020Kb
ON THE GEOMETRIC SEPARABILITY OF BICHROMATIC POINT SETS by Bogdan Andrei Armaselu APPROVED BY SUPERVISORY COMMITTEE: Ovidiu Daescu, Chair Benjamin Raichel B. Prabhakaran Xiaohu Guo Copyright c 2017 Bogdan Andrei Armaselu All rights reserved I dedicate this dissertation to my family ON THE GEOMETRIC SEPARABILITY OF BICHROMATIC POINT SETS by BOGDAN ANDREI ARMASELU, BS, MS DISSERTATION Presented to the Faculty of The University of Texas at Dallas in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE THE UNIVERSITY OF TEXAS AT DALLAS August 2017 ACKNOWLEDGMENTS I would first like to thank my advisor, Dr. Ovidiu Daescu, for helping me towards my goal of completing my PhD, and also for his advice in writing this dissertation. Also, I would like to thank my family and friends for supporting me and making me believe in my dream of earning my PhD. June 2017 v ON THE GEOMETRIC SEPARABILITY OF BICHROMATIC POINT SETS Bogdan Andrei Armaselu, PhD The University of Texas at Dallas, 2017 Supervising Professor: Ovidiu Daescu, Chair Consider two sets of points in the two- or three-dimensional space, namely, a set R of n \red" points and a set B of m \blue" points. A separator of the point sets R and B is a geometric locus enclosing all red points, that contains the fewest possible blue points. In this dissertation, we study the separability of these two point sets using various separators, such as circles, axis-aligned rectangles, or arbitrarily oriented rectangles. If there are an infinity of separators, we consider optimum criteria such as minimizing the radius (for circles) and maximizing the area (for rectangles). We first give an overview of computational geometry and the work related to geometric separability. Then, we study the circular separation problem and present three dynamic data structures that allow insertions and deletions of blue points, as well as reporting an optimal circle after such an insertion or deletion. The first is a unified data structure that supports both insertions and deletions and has near- linear query and update time. The other two data structure have logarithmic query time and near-quadratic update time. One of them allows only insertions and the other supports only deletions of blue points. These are the first algorithms for the dynamic circular separation problem. After that, we introduce the rectangular separation problem and focus on the axis-aligned case (that is, the target rectangle has to be axis-aligned). We prove that the number of optimal solutions can be Ω(m) in the worst case, present an algorithm to find one optimal solution that has near-linear running time, and then prove a matching lower bound vi for finding one optimal solution. We also introduce a number of extensions of the rectangular separation problem. Specifically, we consider the case when a fixed number of blue points are allowed inside the separating rectangle and the case where the blue points are replaced by axis-aligned rectangles. Finally, we conclude by discussing the on-going work and give possible future directions for geometric separability. vii TABLE OF CONTENTS ACKNOWLEDGMENTS . v ABSTRACT . vi LIST OF FIGURES . x LIST OF TABLES . xiv CHAPTER 1 INTRODUCTION . 1 1.1 Related work on geometric separability . 7 1.2 Our contributions . 13 CHAPTER 2 PRELIMINARIES . 15 2.1 Convex hulls . 15 2.2 Voronoi diagrams . 16 2.2.1 Farthest-point Voronoi diagrams . 18 2.3 Monotone matrices . 19 CHAPTER 3 MINIMUM BICHROMATIC SEPARATING CIRCLE PROBLEM . 24 3.1 Introduction . 24 3.1.1 Our results . 26 3.2 Preliminaries . 27 3.3 Unified data structure for insertions and deletions . 29 3.4 Logarithmic query time for insertions . 37 3.5 Logarithmic query time for deletions . 40 3.6 Implementation and Experiments . 42 3.7 Conclusion and future work . 52 CHAPTER 4 MAXIMUM AREA BICHROMATIC SEPARATING RECTANGLE PROBLEM . 53 4.1 Introduction . 53 4.1.1 Related work . 53 4.1.2 Our Results . 58 4.2 Preliminaries . 60 4.3 Finding all optimal solutions . 62 viii 4.4 Finding one optimal solution . 64 4.4.1 Case 1 . 65 4.4.2 Case 2 . 67 4.4.3 Case 3 . 67 4.4.4 Algorithm . 71 4.5 Lower bound . 73 4.6 Conclusion and future work . 75 CHAPTER 5 EXTENSIONS OF THE MAXIMUM SEPARATING RECTANGLE PROBLEM . 77 5.1 Introduction . 77 5.1.1 Related work . 77 5.1.2 Our contributions . 78 5.1.3 Preliminaries . 79 5.2 Blue rectangles version . 80 5.3 Outliers version . 81 5.4 Conclusion and future work . 86 CHAPTER 6 CONCLUSIONS . 87 REFERENCES . 89 BIOGRAPHICAL SKETCH . 96 CURRICULUM VITAE ix LIST OF FIGURES 1.1 A triangulation of a simple polygon is shown. 2 1.2 The closest pair of points from a given planar set are shown linked together. 3 1.3 The Delaunay triangulation of a simple polygon is shown. 3 1.4 An example of a Google map is shown, with marked points of interest such as cities, universities, and (main) road junctions. Between any two points of interest, an edge is shown only if there is a direct route between them (that does not cross other edges). 4 1.5 The graph corresponding to the road network in Figure 1.4 is shown. 4 1.6 Tissue containing tumor cells (marked in red) as well as healthy cells (marked in blue). The smallest circle separating the red cells from the blue cells is computed for surgical or radiational treatment purposes. 5 1.7 An arbitrary separator of a red dataset set and a blue dataset is illustrated, with red points shown in solid dots and blue points shown in empty dots. 6 1.8 A linear SVM classifier between two data sets is shown. The positive instances are denoted by solid red dots and the negative instances are denoted by empty blue dots. 6 1.9 In this digital circuit, components already on the board are marked by blue dots. The goal is to find the largest empty rectangle in order to place a new rectangular component that needs as much space as possible (such as a processor). 6 2.1 The convex hull diagram CH(P ) of a planar point set P is shown. 16 2.2 The Voronoi diagram VD(P ) of a planar point set P is shown. 17 2.3 The farthest-point Voronoi diagram FVD(P ) of a planar point set P is shown in solid lines. The convex hull CH(P ) is shown in dashed lines. 18 2.4 Double-staircase matrix, with the defined region denoted by shading. 21 2.5 Inverse double-staircase matrix, with the defined region denoted by shading. 21 2.6 Rising single-staircase matrix. 22 2.7 Falling single-staircase matrix. 22 3.1 Minimum separating circle of a set R of red points and a set B of blue points. 25 3.2 The farthest-point Voronoi diagram FVD(R) of the red points is shown, along with minimum separating circle C, which is centered at O, and the minimum enclosing circle MEC, centered at OC . Blue point p is inside MEC but not inside C. ....................................... 25 x 3.3 Left: The blue point p displayed as an empty circle is inserted; Right: The blue point p is deleted. In both cases, the old minimum separating circle C and the new minimum separating circle C0 are displayed. 27 3.4 e is an edge of FVD(R) defined by ri; rj 2 R. q 2 e is an enter event point and s 2 e is an exit event point. 28 3.5 The data structure for insertion and deletion. 30 ∗ 3.6 Left: Insertion Case 2: s < qe and s is an exit event point; Right: Insertion Case ∗ 3: qe < s and s is an enter event point. 31 ∗ 3.7 Left: Insertion Case 4: s < qe and s is an enter event point; Right: Insertion ∗ Case 5: qe < s and s is an exit event point. 32 ∗ 3.8 Left: Deletion Case 2: qe < s and s is an exit event point; Right: Deletion Case ∗ 3: s < qe and s is an enter event point. 34 3.9 Left: Deletion Case 4: q < s and s is an enter event point; Right: Deletion Case 5: s < q and s is an exit event point. 35 3.10 The data structure T . ................................ 38 3.11 The Java Applet user interface for computing the minimum separating circle. 43 3.12 An example of output for points specified by user. 44 3.13 An example of output for a random dataset. 44 3.14 User inserts the indicated blue point, and the MBSC is updated dynamically (in this case it stays the same). 45 3.15 User deletes the indicated blue point, and the MBSC is re-computed using the dynamic data structure (in this case it changes). 46 3.16 The running time to compute FVD(R) for n between 10 and 100000. 47 3.17 The running time to compute an MBSC using the static algorithm, for n = 1000 and m between 10 and 1000000. 47 3.18 The running time to compute an MBSC using the static algorithm, for m = 1000 and n between 10 and 100000. 47 3.19 The running time to compute an MBSC after a query, for n = 1000 and m between 10 and 1000000. 48 3.20 The running time to compute an MBSC after a query, for m = 1000 and n between 10 and 100000. 48 3.21 The running time to update the data structure, for n = 1000 and m between 10 and 1000000.