on efficient spatial matching
play

On Efficient Spatial Matching Raymond Chi-Wing Wong (the Chinese - PowerPoint PPT Presentation

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 Fu (the Chinese University of Hong Kong) Xiaokui Xiao (the Chinese University of Hong Kong)


  1. 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 Fu (the Chinese University of Hong Kong) Xiaokui Xiao (the Chinese University of Hong Kong) Presented by Raymond Chi-Wing Wong Presented by Raymond Chi-Wing Wong

  2. Outline 1. Introduction Related work – Bichromatic Reverse Nearest Neighbor � 2. Problem Spatial Matching Problem (SPM) � Unweighted SPM � Weighted SPM � 3. Algorithm Chain (for unweighed SPM) � Weighted Chain (for weighted SPM) � 4. Empirical Study 5. Conclusion

  3. 1. Introduction � Bichromatic Reverse Nearest Neighbor (BRNN) � Given � P and O are two sets of objects in the same data space � Problem � Given an object p ∈ P, a BRNN query finds all the objects o ∈ O whose nearest neighbor (NN) in P are p.

  4. 1. Introduction Polling places NN: Nearest neighbor P = { p 1 , p 2 , p 3 } RNN: Reverse nearest neighbor Residential estates O = { o 1 , o 2 , o 3 } RNN = { } p 3 NN in P = p 1 NN in P = p 1 o 1 o 2 p 2 o 3 p 1 RNN = { } NN in P = p 1 RNN = { o 1 , o 2 , o 3 }

  5. 1. Introduction Polling places NN: Nearest neighbor P = { p 1 , p 2 , p 3 } RNN: Reverse nearest neighbor Residential estates O = { o 1 , o 2 , o 3 } p 3 However, this assignment is not o 1 o 2 suitable because each p 2 polling place has a o 3 p 1 “ serving capacity ” . RNN = { o 1 , o 2 , o 3 }

  6. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 1. Introduction I dea: SPM aims at allocating each estate o ∈ O to the polling-place p ∈ P that Polling places NN: Nearest neighbor P = { p 1 , p 2 , p 3 } (i) is as near to o as possible, and RNN: Reverse nearest neighbor Residential estates (ii) its servicing capacity has not been exhausted in serving O = { o 1 , o 2 , o 3 } other closer estates. 10k p 3 The total population 3k 7k o 1 o 2 from o 1 , o 2 and o 3 is p 2 equal to 14k, which is o 3 p 1 10k 10k greater than the 4k capacity of p 1 Thus, bichromatic RNN cannot RNN = { o 1 , o 2 , o 3 } handle this assignment problem.

  7. 2. Problem 1. Unweighted SPM Population of p i ∈ P (denoted by p i .w) = 1 � Capacity of o j ∈ O (denoted by o j .w) = 1 � 2. Weighted SPM Population of p i ∈ P (denoted by p i .w) ≥ 1 � Capacity of o j ∈ O (denoted by o j .w) ≥ 1 �

  8. 2. Problem � Theorem: The problem of computing the BRNN set of each object p ∈ P is an instance of weighted SPM, where � p.w = |O| for every p ∈ P and � o.w= 1 for every o ∈ O. Weighted SPM BRNN

  9. 2. Problem � Related Work � Closest Pair � Running time = O(|P| x |O| 2 ) � Stable Marriage � A classical problem in Computer Science � Running time = O(|P| x |O|) � Our Proposed Algorithm Chain � Running time = O( |O| x log O(1) |P| ) � Significant improvement on running time

  10. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 2. Problem Unweighted SPM Polling places P = { p 1 , p 2 , p 3 } Residential estates O = { o 1 , o 2 , o 3 } How can we perform an assignment between P and O? 1 p 3 1 1 o 1 o 2 p 2 o 3 p 1 1 1 1

  11. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 2. Problem Unweighted SPM Polling places P = { p 1 , p 2 , p 3 } Residential estates O = { o 1 , o 2 , o 3 } How can we perform an assignment between P and O? 1 p 3 First, we consider an assignment A. 1 1 o 1 o 2 p 2 o 3 p 1 1 1 1

  12. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 2. Problem Unweighted SPM Polling places P = { p 1 , p 2 , p 3 } Residential estates O = { o 1 , o 2 , o 3 } How can we perform an assignment between P and O? |p 2 , o 3 | < |p 2 , o 2 | 1 p 3 First, we consider an assignment A. 1 1 o 1 o 2 (p, o) is a dangling pair if p 2 1. |p, o| < the distance between o o 3 p 1 1 1 and its partner in A 1 2. |p, o| < the distance between p and its partner in A (p 2 , o 3 ) is a dangling pair .

  13. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 2. Problem If the assignment A does NOT Unweighted SPM contain any dangling pair, then the Polling places P = { p 1 , p 2 , p 3 } assignment is fair . Residential estates O = { o 1 , o 2 , o 3 } How can we perform This assignment is NOT fair an assignment because we find a dangling pair. between P and O? |p 2 , o 3 | < |p 2 , o 2 | 1 p 3 First, we consider an assignment A. 1 1 o 1 o 2 (p, o) is a dangling pair if p 2 1. |p, o| < the distance between o o 3 p 1 1 1 and its partner in A 1 2. |p, o| < the distance between p and its partner in A |p 2 , o 3 | < |p 3 , o 3 | (p 2 , o 3 ) is a dangling pair .

  14. Problem: to find an assignment Spatial matching (SPM) between P and O with the consideration of the population of p i ∈ P and the capacity of o j ∈ O. 2. Problem If the assignment A does NOT Unweighted SPM contain any dangling pair, then the Polling places P = { p 1 , p 2 , p 3 } assignment is fair . Residential estates O = { o 1 , o 2 , o 3 } This assignment is fair because we cannot find a dangling pair. 1 p 3 1 1 o 1 o 2 (p, o) is a dangling pair if p 2 1. |p, o| < the distance between o o 3 p 1 1 1 and its partner in A 1 2. |p, o| < the distance between p and its partner in A

  15. 2. Problem � Unweighted SPM � Dangling pair � Weighted SPM � Dangling pair

  16. 3. Algorithm � Un-weighted SPM problem � Algorithm (Un-weighted) Chain � Weighted SPM problem � Algorithm Weighted Chain

  17. 3.1 Algorithm � Algorithm Chain makes use of bichromatic mutual NN to find the fair assignment. � An object p ∈ P and an object o ∈ O are bichromatic mutual NN if � p is the NN of o in P and � o is the NN of p in O

  18. p 3 o 3 3.1 Algorithm p 2 p 4 o 2 o 4 Unweighted SPM p 1 o 1

  19. 3.1 Algorithm Unweighted SPM (p 3 , o 3 ) corresponds to a match. p 2 o 2 p 1 o 1 p 3 o 3 We can remove it. o 4 p 4 Assignment = (p 3 , o 3 ) { (p 3 , o 3 ) is a pair of mutual } NN.

  20. 3.1 Algorithm Unweighted SPM (p 2 , o 2 ) corresponds to a match. p 2 o 2 p 1 o 1 We can remove it. o 4 p 4 Assignment = (p 3 , o 3 ) , (p 2 , o 2 ) { (p 2 , o 2 ) is a pair of mutual } NN.

  21. 3.1 Algorithm Unweighted SPM (p 4 , o 4 ) corresponds to a match. p 1 o 1 We can remove it. o 4 p 4 Assignment = (p 3 , o 3 ) , (p 2 , o 2 ) { (p 4 , o 4 ) is a pair of mutual , } (p 4 , o 4 ) NN.

  22. 3.1 Algorithm Unweighted SPM (p 1 , o 1 ) corresponds to a match. p 1 o 1 We can remove it. Assignment = (p 3 , o 3 ) , (p 2 , o 2 ) { , (p 1 , o 1 ) is a pair of mutual } (p 4 , o 4 ) , (p 1 , o 1 ) NN.

  23. 3.1 Algorithm Unweighted SPM We prove that this assignment is fair. We can find a fair assignment by repeatedly removing pairs of mutual NN. p 2 o 2 p 1 o 1 But, how can we find a pair p 3 o 3 of mutual NN efficiently? o 4 p 4 Assignment = (p 3 , o 3 ) , (p 2 , o 2 ) { , We propose Algorithm Chain to } (p 4 , o 4 ) , (p 1 , o 1 ) perform mutual NN search efficiently.

  24. 3.1 Algorithm � Find the first mutual NN (nearest neighbor) and remove it � Find the second mutual NN and remove it � … � Find the n-th mutual NN and remove it

  25. 3.1 Algorithm Chain Unweighted SPM From o 1 , find NN in P (i.e., p 1 ) p 2 o 2 p 1 o 1 p 3 o 3 o 4 p 4 Randomly find a data point o

  26. 3.1 Algorithm Chain Unweighted SPM From p 1 , find NN in O (i.e., o 2 ) Since o 2 is NOT equal to o 1 , (p 1 , o 1 ) is not a pair of mutual NN. We need to continue the process. p 2 o 2 p 1 o 1 p 3 o 3 o 4 p 4

  27. 3.1 Algorithm Chain Unweighted SPM From o 2 , find NN in P (i.e., p 2 ) Since p 2 is NOT equal to p 1 , (p 1 , o 2 ) is not a pair of mutual NN. We need to continue the process. p 2 o 2 p 1 o 1 p 3 o 3 o 4 p 4 Note that we are expanding a chain from data point o 1 .

  28. 3.1 Algorithm Chain Unweighted SPM From p 2 , find NN in O (i.e., o 2 ) Now, we find a pair of mutual NN (p 2 , o 2 ). We can remove it. p 2 o 2 p 1 o 1 p 3 o 3 o 4 p 4 Assignment = (p 2 , o 2 ) { }

  29. 3.1 Algorithm Chain Unweighted SPM We find the FIRST mutual NN. p 1 o 1 p 3 o 3 o 4 p 4 Assignment = Should we perform similar steps to Yes. We can do in this way. (p 2 , o 2 ) { find the SECOND mutual NN? But, it is NOT efficient. } That is, should we randomly select Instead, we can re-use the existing chain a data point again and re-start the chain? to find the SECOND mutual NN.

  30. 3.1 Algorithm Chain Unweighted SPM From p 1 , find NN in O (i.e., o 4 ) Since o 4 is NOT equal to o 1 , (p 1 , o 1 ) is not a pair of mutual NN. We need to continue the process. p 1 o 1 p 3 o 3 o 4 p 4 Assignment = (p 2 , o 2 ) { }

  31. 3.1 Algorithm Chain Unweighted SPM From o 4 , find NN in P (i.e., p 4 ) Since p 4 is NOT equal to p 1 , (p 1 , o 4 ) is not a pair of mutual NN. We need to continue the process. p 1 o 1 p 3 o 3 o 4 p 4 Assignment = (p 2 , o 2 ) { }

Recommend


More recommend