Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Efficient Method for Maximizing Bichromatic Reverse Nearest Neighbor Raymond Chi-Wing Wong (Hong Kong University of Science and Technology) M. Tamer."— Presentation transcript:

1 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 2 Outline 1.Introduction Related work – Bichromatic Reverse Nearest Neighbor 2.Problem - MaxBRNN 3.Algorithm - MaxOverlap 4.Empirical Study 5.Conclusion

3 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 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 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 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 2 2 5 Influence value = 5

7 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 } 2 5 5 Influence value = 5

8 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 2 1 1 0 Intersection between two NLCs

27 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 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 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 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 31 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 p5p5 p4p4 p3p3 p2p2 p1p1

32 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 33 3. Algorithm Algorithm MaxOverlap Three-Step Algorithm

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

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

36 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 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 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 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 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 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 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 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 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 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 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 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 48 4. Empirical Study Synthetic Dataset P: Gaussian distribution O: Zipfian distribution Real Dataset Rtree Portal http://www.rtreeportal.org/spatial.html http://www.rtreeportal.org/spatial.html 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 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 50 4. Empirical Study Small dataset

51 51 4. Empirical Study Large dataset

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

53 53 Q&A

54 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 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 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 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 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 } 2 5 5 There are many arbitrary regions! Consistent region Many consistent regions!

59 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 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 61 3. Algorithm o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Intersection of c 1, c 2 and c 3 Solution

62 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 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 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 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 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 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 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 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 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 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 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 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 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 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 2 2 3 1 1 1 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 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 2 2 3 1 1 1 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 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 2 2 3 1 1 1 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 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 2 2 3 1 1 1 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 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 2 2 3 1 1 1 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 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


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

Similar presentations


Ads by Google