1 Efficient Method for Maximizing Bichromatic Reverse Nearest Neighbor Raymond Chi-Wing Wong (Hong Kong University of Science and Technology) M. Tamer.

Slides:



Advertisements
Similar presentations
The Optimal-Location Query
Advertisements

Ranking Outliers Using Symmetric Neighborhood Relationship Wen Jin, Anthony K.H. Tung, Jiawei Han, and Wei Wang Advances in Knowledge Discovery and Data.
ECG Signal processing (2)
Aggregating local image descriptors into compact codes
Mining Compressed Frequent- Pattern Sets Dong Xin, Jiawei Han, Xifeng Yan, Hong Cheng Department of Computer Science University of Illinois at Urbana-Champaign.
1 Chapter 5 : Query Processing and Optimization Group 4: Nipun Garg, Surabhi Mithal
Fast Algorithms For Hierarchical Range Histogram Constructions
Minimizing Seed Set for Viral Marketing Cheng Long & Raymond Chi-Wing Wong Presented by: Cheng Long 20-August-2011.
1 Finding Shortest Paths on Terrains by Killing Two Birds with One Stone Manohar Kaul (Aarhus University) Raymond Chi-Wing Wong (Hong Kong University of.
School of Computer Science and Engineering Finding Top k Most Influential Spatial Facilities over Uncertain Objects Liming Zhan Ying Zhang Wenjie Zhang.
Click to edit Present’s Name SLICE: Reviving Regions-Based Pruning for Reverse k Nearest Neighbors Queries Shiyu Yang 1, Muhammad Aamir Cheema 2,1, Xuemin.
Progressive Computation of The Min-Dist Optimal-Location Query Donghui Zhang, Yang Du, Tian Xia, Yufei Tao* Northeastern University * Chinese University.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Da Yan, Zhou Zhao and Wilfred Ng The Hong Kong University of Science and Technology.
Reverse Furthest Neighbors in Spatial Databases Bin Yao, Feifei Li, Piyush Kumar Florida State University, USA.
Learning on Probabilistic Labels Peng Peng, Raymond Chi-wing Wong, Philip S. Yu CSE, HKUST 1.
A Generic Framework for Handling Uncertain Data with Local Correlations Xiang Lian and Lei Chen Department of Computer Science and Engineering The Hong.
Computational Geometry and Spatial Data Mining
2-dimensional indexing structure
Spatio-temporal Databases Time Parameterized Queries.
On Efficient Spatial Matching Raymond Chi-Wing Wong (the Chinese University of Hong Kong) Yufei Tao (the Chinese University of Hong Kong) Ada Wai-Chee.
Efficient Skyline Querying with Variable User Preferences on Nominal Attributes Raymond Chi-Wing Wong 1, Ada Wai-Chee Fu 2, Jian Pei 3, Yip Sing Ho 2,
1 Mining Favorable Facets Raymond Chi-Wing Wong (the Chinese University of Hong Kong) Jian Pei (Simon Fraser University) Ada Wai-Chee Fu (the Chinese University.
Euripides G.M. PetrakisIR'2001 Oulu, Sept Indexing Images with Multiple Regions Euripides G.M. Petrakis Dept.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
Trip Planning Queries F. Li, D. Cheng, M. Hadjieleftheriou, G. Kollios, S.-H. Teng Boston University.
Exposure In Wireless Ad-Hoc Sensor Networks S. Megerian, F. Koushanfar, G. Qu, G. Veltri, M. Potkonjak ACM SIG MOBILE 2001 (Mobicom) Journal version: S.
Creating Competitive Products Qian Wan [1], Raymond Chi-Wing Wong [1], Ihab F. Ilyas [2], M. Tamer Ozsu [2], Yu Peng [1] [1] Hong Kong University of Science.
1 Efficient Algorithms for Optimal Location Queries in Road Networks Zitong Chen (Sun Yat-Sen University) Yubao Liu (Sun Yat-Sen University) Raymond Chi-Wing.
Fast Subsequence Matching in Time-Series Databases Christos Faloutsos M. Ranganathan Yannis Manolopoulos Department of Computer Science and ISR University.
1 Hypersphere Dominance: An Optimal Approach Cheng Long, Raymond Chi-Wing Wong, Bin Zhang, Min Xie The Hong Kong University of Science and Technology Prepared.
The University of Hong Kong 1 Capacity Constrained Assignment in Spatial Databases Authors: Leong Hou U, University of Hong Kong Man Lung Yiu, Aalborg.
VLDB '2006 Haibo Hu (Hong Kong Baptist University, Hong Kong) Dik Lun Lee (Hong Kong University of Science and Technology, Hong Kong) Victor.
2002/4/10IDSL seminar Estimating Business Targets Advisor: Dr. Hsu Graduate: Yung-Chu Lin Data Source: Datta et al., KDD01, pp
The X-Tree An Index Structure for High Dimensional Data Stefan Berchtold, Daniel A Keim, Hans Peter Kriegel Institute of Computer Science Munich, Germany.
1 Exact Top-k Nearest Keyword Search in Large Networks Minhao Jiang†, Ada Wai-Chee Fu‡, Raymond Chi-Wing Wong† † The Hong Kong University of Science and.
Towards Robust Indexing for Ranked Queries Dong Xin, Chen Chen, Jiawei Han Department of Computer Science University of Illinois at Urbana-Champaign VLDB.
Influence Zone: Efficiently Processing Reverse k Nearest Neighbors Queries Presented By: Muhammad Aamir Cheema Joint work with Xuemin Lin, Wenjie Zhang,
1 Prune-and-Search Method 2012/10/30. A simple example: Binary search sorted sequence : (search 9) step 1  step 2  step 3  Binary search.
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.
Efficient Processing of Top-k Spatial Preference Queries
Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras.
On Computing Top-t Influential Spatial Sites Authors: T. Xia, D. Zhang, E. Kanoulas, Y.Du Northeastern University, USA Appeared in: VLDB 2005 Presenter:
9/2/2005VLDB 2005, Trondheim, Norway1 On Computing Top-t Most Influential Spatial Sites Tian Xia, Donghui Zhang, Evangelos Kanoulas, Yang Du Northeastern.
Similarity Searching in High Dimensions via Hashing Paper by: Aristides Gionis, Poitr Indyk, Rajeev Motwani.
1 On Optimal Worst-Case Matching Cheng Long (Hong Kong University of Science and Technology) Raymond Chi-Wing Wong (Hong Kong University of Science and.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Efficient Optimal Linear Boosting of a Pair of Classifiers.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Monitoring k-NN Queries over Moving Objects Xiaohui Yu University of Toronto Joint work with Ken Pu and Nick Koudas.
Euripides G.M. PetrakisIR'2001 Oulu, Sept Indexing Images with Multiple Regions Euripides G.M. Petrakis Dept. of Electronic.
Information Technology Selecting Representative Objects Considering Coverage and Diversity Shenlu Wang 1, Muhammad Aamir Cheema 2, Ying Zhang 3, Xuemin.
On Top-n Reverse Top-k Queries: Variants, Algorithms, and Applications 陳良弼 Arbee L.P. Chen National Chengchi University 9/21/2012 at NCHU.
1 Finding Competitive Price Yu Peng (Hong Kong University of Science and Technology) Raymond Chi-Wing Wong (Hong Kong University of Science and Technology)
Trajectory Simplification: On Minimizing the Direction-based Error
1 Complex Spatio-Temporal Pattern Queries Cahide Sen University of Minnesota.
Location-based Spatial Queries AGM SIGMOD 2003 Jun Zhang §, Manli Zhu §, Dimitris Papadias §, Yufei Tao †, Dik Lun Lee § Department of Computer Science.
Progressive Computation of The Min-Dist Optimal-Location Query Donghui Zhang, Yang Du, Tian Xia, Yufei Tao* Northeastern University * Chinese University.
1 Reverse Nearest Neighbor Queries for Dynamic Databases SHOU Yu Tao Jan. 10 th, 2003 SIGMOD 2000.
Query-based wireless sensor storage management for real time applications Ravinder Tamishetty, Lek Heng Ngoh, and Pung Hung Keng Proceedings of the 2006.
Da Yan, Raymond Chi-Wing Wong, and Wilfred Ng The Hong Kong University of Science and Technology.
Computer Science and Engineering Jianye Yang 1, Ying Zhang 2, Wenjie Zhang 1, Xuemin Lin 1 Influence based Cost Optimization on User Preference 1 The University.
1 R-Trees Guttman. 2 Introduction Range queries in multiple dimensions: Computer Aided Design (CAD) Geo-data applications Support special data objects.
Strategies for Spatial Joins
SIMILARITY SEARCH The Metric Space Approach
Progressive Computation of The Min-Dist Optimal-Location Query
Efficient Evaluation of k-NN Queries Using Spatial Mashups
Locality Sensitive Hashing
Diversified Top-k Subgraph Querying in a Large Graph
Continuous Density Queries for Moving Objects
Donghui Zhang, Tian Xia Northeastern University
Presentation transcript:

1 Efficient Method for Maximizing Bichromatic Reverse Nearest Neighbor Raymond Chi-Wing Wong (Hong Kong University of Science and Technology) M. Tamer Ozsu (University of Waterloo) Philip S. Yu (University of Illinois at Chicago) Ada Wai-Chee Fu (Chinese University of Hong Kong) Lian Liu (Hong Kong University of Science and Technology) Presented by Raymond Chi-Wing Wong

2 Outline 1.Introduction Related work – Bichromatic Reverse Nearest Neighbor 2.Problem - MaxBRNN 3.Algorithm - MaxOverlap 4.Empirical Study 5.Conclusion

3 1. Introduction Bichromatic Reverse Nearest Neighbor (BRNN or RNN) Given P and O are two sets of points in the same data space Problem Given a point p  P, a BRNN query finds all the points o  O whose nearest neighbor (NN) in P are p.

4 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor NN in P = p 1 P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 NN in P = p 1 NN in P = p 2 RNN = {o 1, o 2 } RNN = {o 3, o 4, o 5 }

5 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Suppose that we want to set up a new convenience store p Where should we set up? p RNN = {o 1, o 2 } Placement 1 RNN = {o 1, o 2 } Influence value = 2 2

6 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Suppose that we want to set up a new convenience store p Where should we set up? p RNN = {o 1, o 2, o 3, o 4, o 5 } Different placements of p may have different RNN sets Placement 2 Placement 1RNN = {o 1, o 2 } Placement 2RNN = {o 1, o 2, o 3, o 4, o 5 } Which placement is better? Placement Influence value = 5

7 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Suppose that we want to set up a new convenience store p Where should we set up? p RNN = {o 1, o 2, o 3, o 4, o 5 } Different placements of p may have the same RNN set Placement 3 Placement 1RNN = {o 1, o 2 } Placement 2RNN = {o 1, o 2, o 3, o 4, o 5 } Placement 3RNN = {o 1, o 2, o 3, o 4, o 5 } Influence value = 5

8 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Suppose that we want to set up a new convenience store p Where should we set up? Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Placement 1RNN = {o 1, o 2 } Placement 2RNN = {o 1, o 2, o 3, o 4, o 5 } Placement 3RNN = {o 1, o 2, o 3, o 4, o 5 } 2 5 5

9 1. Introduction Related Work Arrangement Running Time = O(|O| log |P| + |O| 2 +2  (|O|) ) where  (|O|) is a function on |O| and is  (|O|) Our Proposed Algorithm MaxOverlap Running Time = O(|O| log |P| + k 2 |O| +k |O| log |O|) where k << |O| Significant improvement on Running Time Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized.

10 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. p RNN = {o 1, o 2, o 3, o 4, o 5 }

11 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Consistent region For any two possible placements in this region, their RNN sets are the same Influence value = 5 RNN = {o 1, o 2, o 3, o 4, o 5 } p

12 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized.

13 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. p RNN = {o 1, o 2 }

14 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Non-Consistent region RNN = {o 1, o 2, o 3, o 4, o 5 } p

15 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Consistent region

16 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Consistent region Many consistent regions! Influence value = 5

17 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Maximal consistent region There does not exist another consistent region R ’ where (1) R ’ covers R and (2) the RNN sets of R and R ’ are equal Influence value = 5

18 2. Problem NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Maximal consistent region There does not exist another consistent region R ’ where (1) R ’ covers R and (2) the RNN sets of R and R ’ are equal Maximal consistent region Influence value = 5

19 p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Maximal consistent region 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN)

20 p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value

21 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 NN in P = p 1 Construct a circle centered at o 1 with radius |p 1, o 1 | NN in P = p 2 Construct a circle centered at o 2 with radius |p 2, o 2 |

22 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 A

23 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 A B

24 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 A B C

25 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 A B C D

26 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) P = {p 1, p 2 } O = {o 1, o 2 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 A B C D RNN set = {o 1, o 2 } RNN set = {o 1 } RNN set = {o 2 } RNN set = {} Four maximal consistent regions Solution: Region A Intersection between two NLCs

27 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value Nearest location circle (NLC) p1p1 p2p2 o1o1 o2o2 A B C D Four maximal consistent regions Solution: Region A Lemma: The solution of MaxBRNN can be represented by an intersection of multiple nearest location circles. Intersection between two NLCs

28 2. Problem Problem: We want to find a maximal consistent region R such that when the influence value of R is maximized. We call this problem Maximizing Bichromatic Reverse Nearest Neighbor (MaxBRNN) Two challenges: Challenge 1: It is difficult to find a maximal consistent region Challenge 2: We need to return the maximal consistent region with the greatest influence value We propose an algorithm called MaxOverlap

29 3. Algorithm Make use of the principle of region- to-point transformation Optimal Region Search Problem Optimal Point Search Problem 1.Search a limited number of points 2.Find the optimal point This optimal point can be mapped to the optimal region in Optimal Region Search Problem

30 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 p5p5 p4p4 p3p3 p2p2 p1p1 P = {p 1, p 2, p 3, p 4, p 5 } O = {o 1, o 2, o 3, o 4, o 5, o 6 } Convenience stores Customers

31 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 p5p5 p4p4 p3p3 p2p2 p1p1

32 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 The maixmal consistent region which maximizes the RNN set NLC c 1 NLC c 2 NLC c 3 Intersection of c 1, c 2 and c 3 Solution

33 3. Algorithm Algorithm MaxOverlap Three-Step Algorithm

34 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Step 1 (Finding Intersection Point)

35 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 1 (Finding Intersection Point)

36 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 4

37 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 4 Result for q 4 = { } c1c1

38 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 4 Result for q 4 = { } c1c1, c 3

39 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 3 Result for q 4 = { } c1c1, c 3

40 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 3 Result for q 4 = { } c1c1, c 3 Result for q 3 = { } c1c1

41 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 3 Result for q 4 = { } c1c1, c 3 Result for q 3 = { } c1c1, c 2

42 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 3 Result for q 4 = { } c1c1, c 3 Result for q 3 = { } c1c1, c 2, c 3

43 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Point query for q 1 Result for q 4 = { } c1c1, c 3 Result for q 1 = { } c 1, c 2, c 3 Result for q 3 = { } c1c1, c 2, c 3

44 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 2 (Point Query) Result for q 4 = { } c1c1, c 3 Result for q 1 = { } c 1, c 2, c 3 Result for q 5 = { } c 1, c 2, c 3 … Point query for q 5 Result for q 3 = { } c1c1, c 2, c 3

45 Result for q 3 = { } c1c1, c 2, c 3 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Step 3 (Finding Maximum Size) Result for q 4 = { } c1c1, c 3 Result for q 1 = { } c 1, c 2, c 3 Result for q 5 = { } c 1, c 2, c 3 … The intersection of c 1, c 2 and c 3 corresponds to the solution. Optimal Region Search Problem Optimal Point Search Problem

46 3. Algorithm Theorem: The running time of algorithm MaxOverlap is O(|O| log |P| + k 2 |O| + k |O| log |O|) where k is typically much smaller than |O|

47 3. Algorithm Enhancement 1: We process the intersection points q in a pre-defined order Enhancement 2: Step 2 and Step 3 can be combined We introduce a pruning technique such that some intersection points will not be processed.

48 4. Empirical Study Synthetic Dataset P: Gaussian distribution O: Zipfian distribution Real Dataset Rtree Portal CA (62,556) LB (53,145) GR (23,268) GM (36,334) P: one of the above datasets O: one of the above datasets

49 4. Empirical Study Measurements Execution Time Storage Our proposed algorithms MaxOverlap-P MaxOverlap with Pruning MaxOverlap-NP MaxOverlap without pruning Comparison with adapted algorithms Arrangement Buffer-Adapt

50 4. Empirical Study Small dataset

51 4. Empirical Study Large dataset

52 5. Conclusion Problem MaxBRNN Maximizing Bichromatic Reverse Nearest Neighbor Algorithm MaxOverlap Theoretical Analysis of Running Time Significant Improvement on Running Time Experiments

53 Q&A

54 1. Introduction Arrangement Idea: search regions in the space There are an exponential number of regions Our algorithm MaxOverlap Idea: make use of the principle of region-to- point transformation Optimal Region Search Problem Optimal Point Search Problem 1.Search a limited number of points 2.Find the optimal point This optimal point can be mapped to the optimal region in Optimal Region Search Problem

55 1. Introduction Related Work We are studying problem MaxBRNN over the L 2 -norm (i.e., Euclidean distance) Buffer Studies problem MaxBRNN over the L 1 -norm (i.e., Manhattan distance) Buffer-Adapt Heuristic algorithm over the L 2 -norm Our algorithm MaxOverlap runs faster than Buffer-Adapt

56 1. Introduction Related Work Buffer-Adapt Running Time = O(|O| log |P| + L 2 k |O| + L 2 |O| log |O|) where L > k Our Proposed Algorithm MaxOverlap Running Time = O(|O| log |P| + k 2 |O| +k |O| log |O|) where k << |O| Significant improvement on Running Time Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized.

57 1. Introduction Applications Traditional applications which exist in BRNN also applied to MaxBRNN Service Location Planning Convenience store, supermarket, coffee shop, ATM, wireless routers, … Profile-based Marketing Natural disaster (e.g., earthquake in China) Place supply/service centers for rescue or relief jobs Big event (e.g., US presidential campaign) Place police force for security Military Place some temporary depots for gasoline and food

58 1. Introduction NN: Nearest neighbor RNN: Reverse nearest neighbor P = {p 1, p 2 } O = {o 1, o 2, o 3, o 4, o 5 } Convenience stores Customers p1p1 p2p2 o1o1 o2o2 o3o3 o4o4 o5o5 Suppose that we want to set up a new convenience store p Where should we set up? Problem: We want to find a region R (or area) such that when p is placed in R, the influence value of p is maximized. Placement 1RNN = {o 1, o 2 } Placement 2RNN = {o 1, o 2, o 3, o 4, o 5 } Placement 3RNN = {o 1, o 2, o 3, o 4, o 5 } There are many arbitrary regions! Consistent region Many consistent regions!

59 3. Algorithm If the solution is the region with the influence value = 1, any one of NLCs is the solution o2o2 o1o1 p1p1 p2p2 o3o3 p3p3

60 3. Algorithm If the solution is the region with the influence value = 1, any one of NLCs is the solution If the solution is the region with the influence value > 1, finding this solution is more complicated

61 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution

62 3. Algorithm Step 1 (Finding Intersection Point) We find a set Q of all intersection points between the boundaries of any two overlapping NLCs Step 2 (Point Query) For each point q in Q, we perform a point query for q to find a set S of NLCs covering q Step 3 (Finding Maximum Size) We choose set S with the largest size obtained in the above step

63 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Intersection point between the boundaries of two NLCs Observation 1 Intersection of c 1, c 2 and c 3 Solution

64 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 1 to find all NLCs covering q 1 Result = { } c1c1

65 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 1 to find all NLCs covering q 1 Result = { } c1c1, c 2

66 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 1 to find all NLCs covering q 1 Result = { } c1c1, c 2, c 3 Same set of NLCs

67 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 3 to find all NLCs covering q 3 Result = { } c1c1

68 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 3 to find all NLCs covering q 3 Result = { } c1c1, c 2

69 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 3 to find all NLCs covering q 3 Result = { } c1c1, c 2, c 3 Same set of NLCs

70 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 5 to find all NLCs covering q 5 Result = { } c1c1

71 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 5 to find all NLCs covering q 5 Result = { } c1c1, c 2

72 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Intersection of c 1, c 2 and c 3 Solution Suppose we perform a point query for q 5 to find all NLCs covering q 5 Result = { } c1c1, c 2, c 3 Same set of NLCs Observation 2 The result of the point query for each of these intersection points can be used to denote the final solution

73 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 This region contains at least one intersection point (e.g., q 1, q 3 and q 5 ) Observation 1 Observation 2 The result of the point query for each of these intersection points can be used to denote the final solution Optimal Region Search Problem Optimal Point Search Problem

74 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 q8q8 q9q9 q7q7 q6q6 q2q2 q3q3 q1q1 q5q5 q4q4 Intersection of c 1, c 2 and c 3 Solution

75 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution NLCL(c) c1c1 c 2, c 3 c2c2 c 1, c 3 c3c3 c 1, c 2, c 4 c4c4 c3c3 c5c5 c6c6 c6c6 c5c5 Overlap table c 3 overlaps with more NLCs We process c 3 first because it is more likely that the solution involves c 3 q3q3 q4q4 Point query for q 4 Result for q 4 = { } c1c1, c 3 Temp. Solution{c 1, c 3 }

76 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution NLCL(c) c1c1 c 2, c 3 c2c2 c 1, c 3 c3c3 c 1, c 2, c 4 c4c4 c3c3 c5c5 c6c6 c6c6 c5c5 Overlap table c 3 overlaps with more NLCs We process c 3 first because it is more likely that the solution involves c 3 q3q3 q4q4 Result for q 4 = { } c1c1, c 3 Temp. Solution{c 1, c 3 } Point query for q 3 Result for q 3 = { } c 1, c 2, c 3 {c 1, c 2, c 3 }

77 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution NLCL(c) c1c1 c 2, c 3 c2c2 c 1, c 3 c3c3 c 1, c 2, c 4 c4c4 c3c3 c5c5 c6c6 c6c6 c5c5 Overlap table c 3 overlaps with more NLCs We process c 3 first because it is more likely that the solution involves c 3 q3q3 q4q4 Result for q 4 = { } c1c1, c 3 Temp. Solution{c 1, c 3 } Result for q 3 = { } c 1, c 2, c 3 {c 1, c 2, c 3 } q2q2 q1q1 Point query for q 1 Result for q 1 = { } c 1, c 2, c 3 …

78 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution NLCL(c) c1c1 c 2, c 3 c2c2 c 1, c 3 c3c3 c 1, c 2, c 4 c4c4 c3c3 c5c5 c6c6 c6c6 c5c5 Overlap table q3q3 q4q4 Result for q 4 = { } c1c1, c 3 Temp. Solution{c 1, c 3 } Result for q 3 = { } c 1, c 2, c 3 {c 1, c 2, c 3 } q2q2 q1q1 Result for q 1 = { } c 1, c 2, c 3 … Suppose we have processed c 1 and c 2

79 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution NLCL(c) c1c1 c 2, c 3 c2c2 c 1, c 3 c3c3 c 1, c 2, c 4 c4c4 c3c3 c5c5 c6c6 c6c6 c5c5 Overlap table q3q3 q4q4 Result for q 4 = { } c1c1, c 3 Temp. Solution{c 1, c 3 } Result for q 3 = { } c 1, c 2, c 3 {c 1, c 2, c 3 } q2q2 q1q1 Result for q 1 = { } c 1, c 2, c 3 … Suppose we want to process c 5 3 c 5 overlaps at most 1 NLC Any intersection points from c 5 have the influence value at most 2 Pruning: Since 2 < 3, we do NOT need to process c 5. Lemma: Let I be the influence value found so far. Consider an NLC c. If |L(c)|+1 < I, we do not need to process c.

80 4. Empirical Study Nearest Location Circle (NLC) Construction Involve NN queries over P Build R*-tree on P Step 2 Involve Point Queries over NLC Build R*-tree on all NLCs