1 / 71

Searching Dynamic Point Sets in Spaces with Bounded Doubling Dimension

Searching Dynamic Point Sets in Spaces with Bounded Doubling Dimension. Lee-Ad Gottlieb Joint work with Richard Cole. NNS. Nearest Neighbor Search (NNS) Given a set of points S in a metric space Preprocess S so that the following query can be answered efficiently:

kato
Télécharger la présentation

Searching Dynamic Point Sets in Spaces with Bounded Doubling Dimension

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Searching Dynamic Point Sets in Spaces with Bounded Doubling Dimension Lee-Ad Gottlieb Joint work with Richard Cole

  2. NNS • Nearest Neighbor Search (NNS) • Given a set of points S in a metric space • Preprocess S so that the following query can be answered efficiently: • given query point q, what is the closest point to q in S? q

  3. NNS • A sublinear algorithm for NNS in general metrics? • Bad news: not possible. q ~1 ~1 ~1 ~1 ~1

  4. NNS • What if we only require only an approximate NNS (ANN)? • More bad news: Still takes linear time! • This talk deals with ANN. • Can we parameterize the hard case? q ~1 ~1 ~1 ~1 ~1

  5. Doubling Dimension • The space within radius r of center c is the r-ball of c. • Point set X has doubling dimension  if • the points of X covered by ball B can be covered by 2 balls of half the radius. 4 5 3 6 8 2 7 1

  6. NNS in Low Doubling Dimension • Data structure for (1+e)-ANN query on S • Navigating Net of points aids search. • A Navigating Net is composed of levels of -nets. • Navigating nets: Simple algorithms for proximity search. R. Krauthgamer, J.R. Lee. SODA ‘04

  7. Modified -net • anmodified -net for a point set S is a set of balls of radius  centered at points of S • Packing property • The centers are separated from each other by some minimum distance ’ • We use ’ = 4/5  • The balls Cover all the points of the S.

  8. Navigating Net Variant 1-net 2-net 4-net 8-net

  9. Navigating Net Variant 1-net 2-net 4-net 8-net Packing Radius = 1 Covering: all points are covered

  10. Navigating Net Variant 1-net 2-net 4-net 8-net Radius = 2

  11. Navigating Net Variant 1-net 2-net 4-net 8-net

  12. Navigating Net Variant 1-net 2-net 4-net 8-net

  13. Navigating Net Variant 1-net 2-net 4-net 8-net

  14. Navigating Net Variant 1-net 2-net 4-net 8-net

  15. Navigating Net Variant 1-net 2-net 4-net 8-net

  16. Navigating Net Variant 1-net 2-net 4-net 8-net

  17. Navigating Net Variant 1-net 2-net 4-net 8-net

  18. Navigating Net Variant 1-net 2-net 4-net 8-net

  19. Search example 1-net 2-net 4-net 8-net

  20. Search example 1-net 2-net 4-net 8-net

  21. Search example 1-net 2-net 4-net 8-net

  22. Search example 1-net 2-net 4-net 8-net

  23. Search example 1-net 2-net 4-net 8-net

  24. Search example 1-net 2-net 4-net 8-net

  25. Search example 1-net 2-net 4-net 8-net

  26. Search example 1-net 2-net 4-net 8-net

  27. Search example 1-net 2-net 4-net 8-net

  28. Search example 1-net 2-net 4-net 8-net

  29. Another Perspective DAG

  30. Another Perspective DAG

  31. Another Perspective DAG

  32. Another Perspective DAG

  33. Analysis • Time to find the lowest enclosing ball • How many levels of nets are there? • Let the spread of the points be D = dmax/dmin • There are O(log D) levels • At every level, we consider 2O() balls. 2O() log  • If  = nO(1) we get a good search time • 2O() log n • But what if  is asymptotically larger?

  34. Summary of Previous Work DSpread of the points = dmax/dmin  Abstract dimension * Static structure, 2O()n log n construction time

  35. Challenge • How to dynamically maintain and search a deep DAG? log levels For large 

  36. Special Case O(log n) search on an unbalanced tree is well known.

  37. Special Case O(log n) search on an unbalanced tree is well known.

  38. Special Case O(log n) search on an unbalanced tree is well known.

  39. Special Case O(log n) search on an unbalanced tree is well known.

  40. Special Case O(log n) search on an unbalanced tree is well known. Can we do something similar for our DAGs?

  41. Towards a Tree DAG

  42. Towards a Tree Spanning tree representation

  43. Towards a Tree Spanning tree representation

  44. Towards a Tree Spanning tree representation Balls & subtrees of interest

  45. Towards a Tree Spanning tree representation Balls & subtrees of interest

  46. Towards a Tree Spanning tree representation Balls of interest

  47. Preliminaries • For a ball x at level i, its friends are all balls of level i that intersect x. • In the navigating net, every ball knows who its friends are. This information is readily available from the DAG • If two balls of the same level both contain q, they must be friends.

  48. Modified Search • The search begins with the top ball as the single ball of interest. • In general, the search is specified by 2O()balls of interest, all at the same level. • each of these balls contain the query point • For illustration, let 2O() = 3

  49. Modified Search • Start the search on the largest tree • Identify a subtree with a constant fraction of the total size of the large tree

  50. Modified Search • If the query point is not in the subtree, eliminate the subtree from consideration.

More Related