Download presentation

Presentation is loading. Please wait.

Published bySandra Eaves Modified over 2 years ago

1
Nearest Neighbor Finding Using Kd-tree Ref: Andrew Moore’s PhD thesis (1991)Andrew Moore’s PhD thesis

2
Kd-tree [Bentley ’75]

3
On the NN Problem Existing packages exist –ANN (U. of Maryland) –Ranger (SUNY Stony Brook) Only work for R n. Configuration spaces can have R and S

4
Algorithm NN(kd,target) [Global output: nearest, min-dist-sqd = ] If kd is leaf: compute d2 = d2(target,leafnode) –if d2 < min-dist-sqd nearest leafnode min-dist-sqd d2 –Return Determine nearer-kd and further-kd NN (nearer-kd, target) Check d2(pivot_node,target); update min-dist-sqd & nearest if necessary Check whether further-kd need to be checked –{find p – closest pt in hr w.r.t. target, check if d2(p,target) < min-dist-sqd} –If so, call NN(further-kd, target) d2: distance squared c e b nearer further c b e pivot target hr: hyper-rectangle

5
a b c d e f g c e b d g a f Nearest = ? dist-sqd = NN(c, x) Nearer = e Further = b NN (e, x) nearer further

6
a b c d e f g c e b d g a f Nearest = ? dist-sqd = NN(e, x) Nearer = g Further = d NN (g, x) nearer further

7
a b c d e f g c e b d g a f Nearest = ? dist-sqd = NN(g, x) Nearest = g dist-sqd = r r

8
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(e, x) Check d2(e,x) > r No need to update r

9
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(e, x) Check further of e: find p d (p,x) > r No need to update r p

10
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(c, x) Check d2(c,x) > r No need to update r

11
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(c, x) Check further of c: find p d(p,x) < r !! NN (b,x) r p

12
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(b, x) Nearer = f Further = g NN (f,x) r

13
a b c d e f g c e b d g a f Nearest = g dist-sqd = r NN(f, x) r’ = d2 (f,x) < r dist-sqd r’ nearest f r’

14
a b c d e f g c e b d g a f Nearest = f dist-sqd = r’ NN(b, x) Check d(b,x) < r’ No need to update r’

15
a b c d e f g c e b d g a f Nearest = f dist-sqd = r’ NN(b, x) Check further of b; find p d(p,x) > r’ No need to update r’ p

16
a b c d e f g c e b d g a f Nearest = f dist-sqd = r’ NN(c, x) r’

17
Kdtree vs. Target y m`ax p t x min x max y min Find closest point p in hr to target t

18
Time Complexity At least O(log N) inspections are necessary No more than N nodes are searched: the algorithm visits each node at most once Depends on the point distribution

20
Pivoting Strategy Properties of ideal Kd-tree –Reasonably balanced O(logN) behavior –Leaf nodes fairly equally proportioned Maximum cutoff opportunities for the nearest neighbor search Possible Strategies –“Splitting dimension as the maximum variance, pivot set at median” – pray for alternating and balancing splits –Other strategies possible: “middle of the most spread dimension” (see next page)

22
a b c d e f g c e b d g a f nearest = ? min-dist-sqd = NN(c, x) Exercise

Similar presentations

OK

Scalable and Distributed Similarity Search in Metric Spaces Michal Batko Claudio Gennaro Pavel Zezula.

Scalable and Distributed Similarity Search in Metric Spaces Michal Batko Claudio Gennaro Pavel Zezula.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on market value added Ppt on c language fundamentals grade Ppt on financial performance analysis Ppt on water softening techniques in motion Ppt on art and architecture of delhi sultanate Ppt on asymptotic notation of algorithms in c Ppt on descriptive vs inferential statistics Human body systems for kids ppt on batteries Ppt on digital video editing Free download ppt on resources and development