Aggregate-Max Nearest Neighbor Searching in the Plane

Slides:



Advertisements
Similar presentations
Nearest Neighbor Search
Advertisements

Fundamental tools: clustering
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
University of Minnesota 1 Exploiting Page-Level Upper Bound (PLUB) for Multi-Type Nearest Neighbor (MTNN) Queries Xiaobin Ma Advisor: Shashi Shekhar Dec,
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Searching on Multi-Dimensional Data
Bichromatic Separating Circles. Problem Given two sets of points, R and B ∈ R ² where | R | = n and | B | = m: – Find the smallest circle containing all.
The Divide-and-Conquer Strategy
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
Computational Geometry -- Voronoi Diagram
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Voronoi Diagrams Computational Geometry, WS 2006/07 Lecture 10 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Improved Approximation Bounds for Planar Point Pattern Matching (under rigid motions) Minkyoung Cho Department of Computer Science University of Maryland.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Efficient Partition Trees Jiri Matousek Presented By Benny Schlesinger Omer Tavori 1.
Nearest Neighbor Searching Under Uncertainty
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.
CSIS7101 – Advanced Database Technologies Spatio-Temporal Data (Part 1) On Indexing Mobile Objects Kwong Chi Ho Leo Wong Chi Kwong Simon Lui, Tak Sing.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
Linear Programming Problem. Definition A linear programming problem is the problem of optimizing (maximizing or minimizing) a linear function (a function.
Open Problem: Dynamic Planar Nearest Neighbors CSCE 620 Problem 63 from the Open Problems Project
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Analysis of the Traveling Salesman Problem and current approaches for solving it. Rishi B. Jethwa and Mayank Agarwal. CSE Department. University of Texas.
IntroductionReduction to Arrangements of Hyperplanes We keep the canonical triangulation (bottom, left corner triangulation) of each convex cell of the.
Nearest-Neighbor Searching Under Uncertainty Wuzhou Zhang Joint work with Pankaj K. Agarwal, Alon Efrat, and Swaminathan Sankararaman. To appear in PODS.
1 Spatial Query Processing using the R-tree Donghui Zhang CCIS, Northeastern University Feb 8, 2005.
Reflections in Plane Mirrors
School of Computing Clemson University Fall, 2012
CMPS 3130/6130 Computational Geometry Spring 2017
An Introduction to Computational Geometry
Lecture 26 Hand Pose Estimation Using a Database of Hand Images
Haim Kaplan and Uri Zwick
KD Tree A binary search tree where every node is a
Orthogonal Range Searching and Kd-Trees
Chapter 7 Voronoi Diagrams
Computing Shortest Path amid Pseudodisks
Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs
Distributed Probabilistic Range-Aggregate Query on Uncertain Data
Efficient Algorithms for the Weighted k-Center Problem on a Real Line
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Dynamic Data Structures for Simplicial Thickness Queries
Computing the Visibility Polygon of an Island in a Polygonal Domain
Quickest Visibility Queries in Polygonal Domains
Covering Uncertain Points in a Tree
On the Geodesic Centers of Polygonal Domains
Minimizing the Aggregate Movements for Interval Coverage
Approximating Points by A Piecewise Linear Function: I
Haitao Wang Utah State University WADS 2017, St. John’s, Canada
Processing an Offline Insertion-Query Sequence with Applications
CMPS 3130/6130 Computational Geometry Spring 2017
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Optimal Point Movement for Covering Circular Regions
Range Queries on Uncertain Data
Joseph S.B. Mitchell, Stony Brook University
Danny Z. Chen1, Yan Gu2, Jian Li2, and Haitao Wang1
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Haitao Wang Utah State University SoCG 2017, Brisbane, Australia
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Visibility and Ray Shooting Queries in Polygonal Domains
Outlier Respecting Points Approximation
Weak Visibility Queries of Line Segments in Simple Polygons
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Boaz BenMoshe Matthew Katz Joseph Mitchell
Clustering.
Boaz Ben-Moshe Binay Bhattacharya Qiaosheng Shi
Data Mining CSCI 307, Spring 2019 Lecture 23
Presentation transcript:

Aggregate-Max Nearest Neighbor Searching in the Plane Haitao Wang Utah State University CCCG 2013

Nearest neighbor searching Input: a set P of n red points Query: a query blue point q report the nearest red point to q

Aggregate/Group nearest neighbor searching Input: a set of n red points Query: a set Q of m query blue points report the “nearest” red point to Q

What is the “nearest neighbor” to Q? For any red point p in P, the aggregate distance from p to Q: the farthest distance from p to the points of Q that’s why it is called Aggregate-max The nearest neighbor of Q: the red point whose aggregate distance to Q is the minimum p

An application A group of people want to meet together given a set of candidate meeting locations find a location that minimizes the longest distance to all people

Previous work Heuristic algorithms given in the database area Minimum bounding method (Papadias et al, TODS 2005) R-trees (Li et al, TKDE 2011) Ω(n+m) time in the worst case (1+ε)-approximation result (Li et al, TKDE 2011) Aggregate-sum version 3-approximation (Li et al, SIGMOD 2011) (1+ε)-approximation (Agarwal et al, PODS 2012)

Our results Preprocessing: O(n log n) time and O(n log log n) space Query: O(mn1/2 logO(1) n) time Or, Preprocessing: O(n2+ε) time and space for any ϵ > 0 Query: O(m log n) time n: the number of input points m: the number of query points m<<n

Our results – the L1 distances Preprocessing: O(n log n) time and O(n) space Query: O(m+logn) time Top-k queries: Report the k nearest neighbors to Q Query: O(m+klogn) time vertical distance e horizontal distance The L1 distance of e = the horizontal distance + the vertical distance

A simple observation For any red point p, how to determine the farthest point q of Q to p? An observation: q is the point whose farthest Voronoi region contains p q p

A query algorithm For each blue point q that defines a farthest Voronoi region FVR(q) find the nearest neighbor of q in FVR(q) Return the shortest distance q Difficulty: How to find the nearest neighbor of q in FVR(q)? FVR(q)

A solution: maintain Voronoi diagrams Obtain the Voronoi diagram of the red points in FVR(q) Determine the Voronoi region that contains q q FVR(q)

The new problem: answering Voronoi diagram queries For a set of points in the plane, query: a triangle return (implicitly) the Voronoi diagram of the points in the triangle Our approach: Using the simplex range searching data structures (Matousek 92’, 93’, Chan 12’) For each canonical subset of points, maintain its Voronoi diagram explicitly

The L1 version For any red point p easy to determine the farthest point of Q to p one of the four extreme points The farthest Voronoi diagram of Q is determined by the four extreme points p

The key problem: determine the nearest neighbor of q in FVR(q)? The solution for L2: maintaining Voronoi diagrams A better solution for L1: using segment dragging queries FVR(q) q

A key observation on the shape of FVR(q): only three types Type-A bounded by two vertical half-lines and a segment of slope -1 in between On the right of the vertical line through q b is on the horizontal line through q assume q is the extreme point along the southwest direction FVR(q) a b q

The shape of FVR(q): three types Type-B bounded by a vertical half-line, a horizontal half-line, and a segment of slope -1 in between in the first quadrant with respect to q FVR(q) a b q

The shape of FVR(q): three types Type-C symmetric to the Type-A a q FVR(q) b

The shape of FVR(q): three types b q b b q q FVR(q) A B C

Determining nearest neighbor in type-A regions Partition FVR(q) into three subregions Find the nearest neighbor in each subregion a b q

The shape of FVR(q): three types b q b b q q A B C

Segment dragging queries Preprocessing: O(nlog n) time and O(n) space Query: O(log n) time out-of-corner queries: Mitchell 92’ parallel-track queries: Chazelle 88’ out-of-corner query parallel-track query

The query algorithm –a summary Given a query set Q: Compute the farthest Voronoi diagram O(m) time For each extreme point q, determine the nearest point of P in FVR(q) O(log n) time by segment dragging queries Total query time: O(m + log n)

Extended to the top-k queries After the nearest point is found in a subregion, keep searching the next nearest point by segment dragging queries a tempting approach: keep using another out-of-corner query does not work!! the interior of the purple triangle should not contain any point a q

Extended to the top-k queries Our approach: partition into three smaller regions: an out-of-corner query for the green region parallel-track queries for the blue regions Total query time: O(m+klog n) a q

Thank You