Computational Geometry
|
|
- Brooke Warner
- 5 years ago
- Views:
Transcription
1 Computational Geometry Search in High dimension and kd-trees Ioannis Emiris Dept Informatics & Telecoms, National Kapodistrian U. Athens ATHENA Research & Innovation Center, Greece Spring 2018 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
2 Contents 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
3 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
4 Range query interpreted geometrically salary G. Ometer born: Aug 19, 1954 salary: $ date of birth I.Emiris (Athens, Greece) Computational Geometry Spring / 57
5 Range query in 3 dimensions salary chlidren date of birth I.Emiris (Athens, Greece) Computational Geometry Spring / 57
6 The geometric approach We are interested in answering queries on d fields of the records in our database. Transform the records to points in d-dimensional space. The transformed range query asks for all points inside a d-dimensional axis-parallel box (may be unbounded). Such a query is called rectangular or orthogonal range query. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
7 1-Dimensional Range Search Problem Preprocess a set of points P = {p 1, p 2,..., p n } R so as to answer queries efficiently: Which points lie inside a query interval [x : x ]? Arrays O(n) space, O(n log n) preprocess, O(k + log n) query But, do not generalize in higher dim, do not allow efficient updates: O(n). Balanced Binary Search Trees (BBST) The leaves of T store the points of P, internal nodes store splitting values that guide the search. E.g. red-black trees, AVL trees. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
8 A search with the interval [18 : 77] µ µ I.Emiris (Athens, Greece) Computational Geometry Spring / 57
9 A search with the interval [x, x ] Search for x and x in T. The search ends to leaves µ and µ. Report all points stored at leaves between µ and µ plus, possibly, the points stored at µ and µ. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
10 A search with the interval [x, x ] Search for x and x in T. The search ends to leaves µ and µ. Report all points stored at leaves between µ and µ plus, possibly, the points stored at µ and µ. Remark The leaves to be reported are the ones of subtrees that are rooted at nodes whose parents are on the search paths to µ and µ. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
11 The selected subtrees root(t ) v split µ µ I.Emiris (Athens, Greece) Computational Geometry Spring / 57
12 Correctness and Performance Any reported point lies in the query range. Any point in the range is reported. O(n) storage. O(n log n) preprocessing. O(log n) update. Θ(n) worst case case query cost. O(k + log n) output sensitive query cost: O(k) to report the points plus O(log n) to follow the paths to x, x. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
13 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
14 kd-trees in the plane Problem Preprocess points P = {p 1, p 2,..., p n } R 2, to answer queries efficiently: Which points lie inside a query rectangle [x : x ] [y : y ]? p = (p x, p y ) lies in the rectangle iff p x [x, x ] & p y [y, y ]. kd-trees Generalize BBST: they split current pointset at median value, but use different coordinate at each level. Left subtree contains half (or one less) points with smaller coordinate and point with median value. Points shall correspond to leaves (and plane regions). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
15 The way the plane is subdivided p 2 l 5 p 1 l 1 l 7 p 8 l 8 p 3 p 6 l 9 p 7 p 5 p 9 l 2 l 3 p 4 p 10 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
16 The way the plane is subdivided p 2 p 1 l 1 p 8 p 3 p 6 p 5 p 7 p 9 p 4 p 10 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
17 The way the plane is subdivided p 2 p 1 l 1 p 8 p 3 p 6 p 5 p 7 l 2 p 9 p 4 p 10 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
18 The way the plane is subdivided p 2 p 1 l 1 p 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 p 10 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
19 The way the plane is subdivided p 2 p 1 l 1 p 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 l 4 p 10 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
20 The way the plane is subdivided l 5 p 1 l 1 p 2 p 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 l 4 p 10 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
21 The way the plane is subdivided p 2 l 5 p 1 l 1 p 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 p 10 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
22 The way the plane is subdivided p 2 l 5 p 1 l 1 l 7 p 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 p 10 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
23 The way the plane is subdivided p 2 l 5 p 1 l 1 l 7 p 8 l 8 p 3 p 6 p 7 p 5 p 9 l 2 l 3 p 4 p 10 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
24 The way the plane is subdivided p 2 l 5 p 1 l 1 l 7 p 8 p 3 p 6 l 8 l 9 p 7 p 5 p 9 l 2 l 3 p 4 p 10 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
25 The corresponding binary tree l 1 l 2 l 3 l 4 l 5 l 6 l 57 p 5 p 4 p 2 p 10 p 9 p 7 l 8 p 2 l 9 p 3 p 1 p 63 p 18 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
26 BuildKdTree(P, depth) if P contains only one point then return a leaf storing this point else if depth is even then split P with vertical l through median x-coord. of points in P P 1 points left of l or on l P 2 points right of l else {depth is odd} split P with horizontal l through median y-coord. of points in P P 1 points below l or on l P 2 points above l end if v left BuidKdTree(P 1, depth + 1); v right BuidKdTree(P 2, depth + 1) create a node v storing l lc(v) v left ; rc(v) v right return v end if I.Emiris (Athens, Greece) Computational Geometry Spring / 57
27 Building time and storage Remarks Split at the n 2-th smallest (median) coordinate: O(n) time, or preprocess by sorting both on x- and y-coordinates. The building time satisfies the recurrence: { O(1) if n = 1 T (n) = O(n) + 2T ( n 2 ) if n > 1 T (n) = O(n log n) which subsumes sorting. O(n) storage: points stored at leaves, leaf contains 1 points (alternatively stored at internal/splitting nodes). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
28 Nodes in a kd-tree and regions in the plane l 1 l 1 l 2 l 2 l 3 v l 3 region(v) I.Emiris (Athens, Greece) Computational Geometry Spring / 57
29 Regions and the query algorithm Internal nodes of a kd-tree correspond to rectangular regions of the plane: can be unbounded on one or more sides. Regions of all nodes at a specific level partition the plane. region(root(t )) is the whole plane. Point stored at (leaf of) subtree rooted at v iff it lies in region(v) Search the subtree of v only if the query rectangle intersects region(v). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
30 A query on a kd-tree p 2 l 5 p 1 l 1 l 7 p 8 l 1 p 3 p 6 l 8 l 9 l 2 l 3 p 7 p 5 l 2 l 3 p 4 p 9 l 4 l 5 p 5 p 4 p 2 p 10 l 6 l 57 p 9 p 7 l 8 p 2 l 9 p 10 p 3 p 1 p 63 p 18 l 4 l 6 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
31 Algorithm SearchKdTree(v, R) if v is a leaf then report point stored at v if in R else if region(lc(v)) is fully contained in R then ReportSubtree(lc(v)) else if region(lc(v)) intersects R then SearchKdTree(lc(v), R) end if end if if region(rc(v)) is fully contained in R then ReportSubtree(rc(v)) else if region(rc(v)) intersects R then SearchKdTree(rc(v), R) end if Input: root v, range R. Works for any query R, e.g. disk, triangle. O(k) to report k points. How many other nodes v are visited? i.e. for how many v, query range intersects region(v)? I.Emiris (Athens, Greece) Computational Geometry Spring / 57
32 Query time analysis Any vertical line intersects region(lc(root(t ))) or region(rc(root(t ))) but not both. If a vertical line intersects region(lc(root(t ))) it always intersects the regions corresponding to both children of lc(root(t )). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
33 Query time analysis The number of intersected regions (by vertical line) in a kd-tree storing n points, satisfies the recurrence: { O(1) if n = 1 Q(n) = 2 + 2Q( n 4 ) if n > 1 Q(n) = O( n) time = O( n + k) for rectangular query The analysis is rather pessimistic: In many practical situations the query range is small and will intersect much fewer regions. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
34 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
35 Introduction Given a distance function/metric: Preprocess: set of points/objects P = {p 1,..., p n } in d dimensions. Query: Given a d-dimensional query point/object q, report the closest p P to q. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
36 Motivation Points model general objects (e.g. handwritten digits) Distance between points inverse to similarity measure I.Emiris (Athens, Greece) Computational Geometry Spring / 57
37 Several applications Machine Learning: clustering/classification. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
38 Several applications Pattern Recognition and Classification I.Emiris (Athens, Greece) Computational Geometry Spring / 57
39 Several applications Searching multimedia databases. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
40 NN in R Sort/store the n points, use binary search for queries, then: Prepreprocessing in O(n log n) time Data structure requiring O(n) space Answer the query in O(log n) time I.Emiris (Athens, Greece) Computational Geometry Spring / 57
41 NN in R 2 Preprocessing: Voronoi Diagram in O(n log n). Storage = O(n). Given query q, find the cell it belongs (point location) in O(log n). NN = site of cell containing q. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
42 Exact NN in R d Is it faster than linear-time? Curse of Dimensionality: Complexity of Voronoi diagram grows rapidly = O(n d/2 ). Planar point location methods do not extend to higher dimensions. The volume of the space increases so fast that data becomes sparse State of the art: kd-trees: Sp = O(n), Query = O(d n 1 1/d ). Most practical for d log n: O(log n) expected for random points Randomized [Clarkson 88]: Sp = O(n d/2 +δ ), Q log n exp(d). n hyperplanes: point location O(d 5 log n), Sp = O(n d+δ ) [Meiser 93] I.Emiris (Athens, Greece) Computational Geometry Spring / 57
43 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
44 Nearest Neighbor in high dimension Exact NN Given set P in d dimensions, and query point q, its NN is point p 0 P: Approximate NN dist(p 0, q) dist(p, q), p P. Given set P in d dimensions, approximation factor 1 > ɛ > 0, and query point q, an ɛ-nn, or ANN, is any point p 0 P: dist(p 0, q) (1 + ɛ) dist(p, q), p P. x1 q (1 + ɛ)r r NN x2 I.Emiris (Athens, Greece) Computational Geometry Spring / 57
45 Approximate NN in R d BBD tree [Arya,Mount et al.98]: optimal query for d = O(1) In practice like kd-trees: cgal offers lazy kd-trees ann [Mount] for d 60 flann [Lowe-Muja], kd-geraf [E-Samaras]: randomized Locality sensitive hashing (LSH) for ɛ-nn Sp = O(dn 1+ρ ), Q = O(dn ρ ), ρ = 1/(1 + ɛ) 2. [Indyk,Motwani 98] [Panigrahy 06] [Andoni,Indyk 06] Dimensionality reduction [Anagnostopoulos,E,Psarros 15 17] Sp = O (dn), Q = O (dn ρ ), ρ = 1 + ɛ 2 / log ɛ < 1 BBD I.Emiris (Athens, Greece) Computational Geometry Spring / 57
46 NN formulations Standard computational geometry: the space is Euclidean R d, for constant d. Complex data: treat d as an asymptotic quantity and seek solutions having no exponential dependence on d. Wish to treat arbitrary metric (nonvector) spaces. Structure, especially for metric spaces: may assume a growth-limiting property, e.g. constant doubling dimension: twice the ball is included in constant number of balls (true for Euclidean). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
47 Grid for Uniform points n uniformly distributed points in [0, 1] d Cell structure (array) using parameter c = O(1) Expected #points per box = c (high c increases box search). Expected n/c boxes (high c reduces array size). Each box of volume = c/n, edge length (c/n) 1/d < 1. Query lands in a box in O(1), checks points in box. Given current best distance, check 3 d 1 adjacent boxes. In expectation, O(1) boxes visited, in time O(c). Expected query time = O(c + 3 d ). [Bentley-W.-Yao 80,Bentley 90]. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
48 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
49 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
50 kd-trees Assuming d > 2 but small. Iterate through splitting coordinates; various strategies to pick them Leaves contain 1 points; bound #levels. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
51 NN search Procedure NN(node), given query q if node is leaf then Search all points in node, update best-dist else {internal node} if split-coor(q) node s split-value then NN(left-child) // standard branch if split-coor(q) + best-dist > node s split-value then NN(right-child) // recurse to check end if else {split-coor(q) > node s split-value} NN(right-child) if split-coor(q) best-dist node s split-value then NN(left-child) end if end if left/right end if internal node Overall topdown algorithm: NN(root). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
52 Complexity Sp = O(d n). construction of balanced tree: O(d n log n) by sorting per dimension, O(n log n) by linear-time median computation. (Few) Insert/delete operations in balanced kd-tree = O(log n) I.Emiris (Athens, Greece) Computational Geometry Spring / 57
53 Complexity Sp = O(d n). construction of balanced tree: O(d n log n) by sorting per dimension, O(n log n) by linear-time median computation. (Few) Insert/delete operations in balanced kd-tree = O(log n) Exact Range query = O(d n 1 1/d + k). In practice, ANN O(log n) when d = O(1), since O(1) expected neighbors for random (e.g. uniform) distribution. See also BBD-trees: O((d/ɛ) d log n). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
54 Extension k Nearest Neighbors Store k current best points. Current ball encloses k current best points. Eliminate sibling if none of its points can be closer than any of k current best points, i.e. if sibling region outside current ball. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
55 Splitting at max spread median of set closest to box centre I.Emiris (Athens, Greece) Computational Geometry Spring / 57
56 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
57 Randomization Construct: Search: Create r kd-trees s.t. searches are largely independent. Find O(1) coord s maximizing variance: Pick one randomly May sample the data; split it about the mean of the sample. Use bounded #levels; bucket contain several points. Principal Component Analysis finds moment axes: rotate to align them with the coordinte axes. Or, random rotation. Upper bound on total #nodes to be searched. Priority queue stores candidates across r trees. Similar effect to r lower-dim projection [Silpa-Anan,Hartley 08] I.Emiris (Athens, Greece) Computational Geometry Spring / 57
58 FLANN: Fast Library for ANN Typically r 6 independent trees. Target d = 128, n > 10 4 (SIFT encoding of images). Given data: Automatic choice of configuration, and algorithm (Randomized kd-trees, Hierarchical k-means trees) [Lowe:IJCV04], software [Lowe,Muja] I.Emiris (Athens, Greece) Computational Geometry Spring / 57
59 kd-geraf Implement k-ann Simultaneous search, no backtracking. Quickselect algorithm to find median in O(n) Accelerated distance computations (dot product, see below) Public domain C++: (WebApp: :8080) [Avrithis,E,Samaras 15] I.Emiris (Athens, Greece) Computational Geometry Spring / 57
60 Randomization Rotation Every tree uses a randomly rotated pointset, thus using a different set of dimensions/coordinates. Split dimension Pick t dimensions of highest variance. Choose one randomly at every node while building the tree. Split Value Shuffling The pointset s median in split dimension plus uniformly distributed δ [ 3 d, 3 d ], = diameter of pointset. The split value may be witnessed in several points, instead of picking always the same point, shuffle them to break ties. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
61 Performance Parameters (auto or manual) Practical complexity r Number of trees in forest (points are stored once) t Number of hi-variance dimensions used for splits Maximum number of points-per-leaf c Maximum number of leaves to be checked during search ɛ Determine search accuracy Automatic parameter configuration yields fastest preprocessing, successful trade-off between accuracy and speed. Most competing methods suffer from slow parameter configuration, running out of memory, unstable search behaviour. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
62 Implementation Search Descend every tree to leaf, store unvisited branch nodes in min-priority queue Q. Examine nodes in Q, until c/1 + ɛ leaves are checked. On descending a tree: at leaf: update currently best distance. at node: if query in the left half-space: insert right child to Q, descend to left child; or vice versa. Distance computation x q 2 = x 2 + q 2 2q x, where the first two can be stored. Offers up to 10% speedup. Project idea: x q 2 y q 2 reduces to 2q (y x). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
63 Experiments Faster than ann/bbd, flann for d 1, 000 (up to 10,000), n (i) SIFT images: n = 10 6, d = 128, BBD out of memory. GIST: d = 960 (ii) n = 10 5 (iii) n = 10 6, query < 1s, 90% exact. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
64 Experiments on Oxford set, CroW features (neural nets) n = 5062 images, d = 512. Brute force: 5.22 sec. Build takes 2 sec for kd-geraf. points per leaf trees no t max leaf check miss(%) time(ms) Search with Noisy queries. points per leaf trees no t max leaf check miss(%) time(s) Search with Oxford queries. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
65 Outline 1 Orthogonal Range Search 2D orthogonal range search 2 Nearest Neighbors Approximate nearest neighbor 3 Trees kd-trees Randomized kd-trees Balanced Box-Decomposition trees I.Emiris (Athens, Greece) Computational Geometry Spring / 57
66 BBD-trees Box: set theoretic difference of two boxes, one enclosed in the other (inner is optional) Empirical runtimes for most distributions show little/no practical advantage over kd-trees [Arya,Mount,et al 94,98]. Complexity: O(1) points per leaf, space = O(dn). Height = O(log n): every 4 levels reduce #points by > 2/3. Construct = O(dn log n). k ɛnns in time O((d/ɛ) d + k) log n). Dynamic: point insertion/deletion = O(log n). overview I.Emiris (Athens, Greece) Computational Geometry Spring / 57
67 Construction Tree constructed by applying 2 operations, when cell contains > 1 points: (Fair) Split: by hyperplane parallel to a coordinate plane, through midpoint. If inner box exists, do not intersect it. Exponential decrease of region size (quadtree). Shrink: partitions box into inner and outer boxes. If inner box exists, it lies inside new inner box. Exponential decrease in number of points per cell (kd-tree). Two strategies: Splits and Shrinks alternate. Split until both children with < 2/3 of parent s points, then Shrink. I.Emiris (Athens, Greece) Computational Geometry Spring / 57
68 ANN search Algorithm 1 Find leaf that contains query q; min-dist δ from q to points in leaf 2 Order leaves in increasing distance from q (priority search). 3 Find closest leaf to q, compute min-distance δ from q to points in cell 4 While distance of next closest leaf < δ(1 + ɛ), compute min-distance between q and points in cell: if < δ, this distance becomes δ. Time Complexity Point location = O(log n). #cells explored = c < (1 + 6d/ɛ) d. ANN query = O(cd log n). I.Emiris (Athens, Greece) Computational Geometry Spring / 57
Balanced Box-Decomposition trees for Approximate nearest-neighbor. Manos Thanos (MPLA) Ioannis Emiris (Dept Informatics) Computational Geometry
Balanced Box-Decomposition trees for Approximate nearest-neighbor 11 Manos Thanos (MPLA) Ioannis Emiris (Dept Informatics) Computational Geometry Nearest Neighbor A set S of n points is given in some metric
More informationNearest neighbors. Focus on tree-based methods. Clément Jamin, GUDHI project, Inria March 2017
Nearest neighbors Focus on tree-based methods Clément Jamin, GUDHI project, Inria March 2017 Introduction Exact and approximate nearest neighbor search Essential tool for many applications Huge bibliography
More informationGeometric data structures:
Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other
More informationComputational Geometry
Range searching and kd-trees 1 Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code, date of birth, function, salary, start
More informationLecture 24: Image Retrieval: Part II. Visual Computing Systems CMU , Fall 2013
Lecture 24: Image Retrieval: Part II Visual Computing Systems Review: K-D tree Spatial partitioning hierarchy K = dimensionality of space (below: K = 2) 3 2 1 3 3 4 2 Counts of points in leaf nodes Nearest
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationOrthogonal range searching. Orthogonal range search
CG Lecture Orthogonal range searching Orthogonal range search. Problem definition and motiation. Space decomposition: techniques and trade-offs 3. Space decomposition schemes: Grids: uniform, non-hierarchical
More informationkd-trees Idea: Each level of the tree compares against 1 dimension. Let s us have only two children at each node (instead of 2 d )
kd-trees Invented in 1970s by Jon Bentley Name originally meant 3d-trees, 4d-trees, etc where k was the # of dimensions Now, people say kd-tree of dimension d Idea: Each level of the tree compares against
More informationAdvanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b
Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b simas@cs.aau.dk Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees
More informationComputational Geometry
Range trees Range queries Database queries salary G. Ometer born: Aug 16, 1954 salary: $3,500 A database query may ask for all employees with age between a 1 and a 2, and salary between s 1 and s 2 19,500,000
More informationApproximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006
Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006 Outline Reducing the constant from O ( ɛ d) to O ( ɛ (d 1)/2) in uery time Need to know ɛ ahead of time Preprocessing time and
More informationRange Searching. Data structure for a set of objects (points, rectangles, polygons) for efficient range queries.
Range Searching Data structure for a set of objects (oints, rectangles, olygons) for efficient range queries. Y Q Deends on tye of objects and queries. Consider basic data structures with broad alicability.
More informationRandomly-oriented RKD-trees. Dimitri N. Nicolopoulos
Randomly-oriented RKD-trees by Dimitri N. Nicolopoulos B.Sc., University of British Columbia Submitted to the Department of Mathematics in partial fulfillment of the requirements for the degree of Graduate
More informationGeometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations
Geometric search: overview Geometric Algorithms Types of data:, lines, planes, polygons, circles,... This lecture: sets of N objects. Range searching Quadtrees, 2D trees, kd trees Intersections of geometric
More informationOrthogonal Range Queries
Orthogonal Range Piotr Indyk Range Searching in 2D Given a set of n points, build a data structure that for any query rectangle R, reports all points in R Kd-trees [Bentley] Not the most efficient solution
More informationData Structures for Approximate Proximity and Range Searching
Data Structures for Approximate Proximity and Range Searching David M. Mount University of Maryland Joint work with: Sunil Arya (Hong Kong U. of Sci. and Tech) Charis Malamatos (Max Plank Inst.) 1 Introduction
More informationClustering Billions of Images with Large Scale Nearest Neighbor Search
Clustering Billions of Images with Large Scale Nearest Neighbor Search Ting Liu, Charles Rosenberg, Henry A. Rowley IEEE Workshop on Applications of Computer Vision February 2007 Presented by Dafna Bitton
More information1 The range query problem
CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition
More informationModule 8: Range-Searching in Dictionaries for Points
Module 8: Range-Searching in Dictionaries for Points CS 240 Data Structures and Data Management T. Biedl K. Lanctot M. Sepehri S. Wild Based on lecture notes by many previous cs240 instructors David R.
More informationMultidimensional Indexes [14]
CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting
More informationChromatic Nearest Neighbor Searching: A Query Sensitive Approach
Chromatic Nearest Neighbor Searching: A Query Sensitive Approach David M. Mount Nathan S. Netanyahu Ruth Silverman Angela Y. Wu Last modified: October 21, 1996. (Minor updates made: August 24, 2000.) Final
More informationComputational Geometry
Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel
More informationOn the Efficiency of Nearest Neighbor Searching with Data Clustered in Lower Dimensions
On the Efficiency of Nearest Neighbor Searching with Data Clustered in Lower Dimensions Songrit Maneewongvatana and David M. Mount {songrit,mount}@cs.umd.edu Department of Computer Science University of
More informationLocality- Sensitive Hashing Random Projections for NN Search
Case Study 2: Document Retrieval Locality- Sensitive Hashing Random Projections for NN Search Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade April 18, 2017 Sham Kakade
More informationVQ Encoding is Nearest Neighbor Search
VQ Encoding is Nearest Neighbor Search Given an input vector, find the closest codeword in the codebook and output its index. Closest is measured in squared Euclidean distance. For two vectors (w 1,x 1,y
More information1. Meshes. D7013E Lecture 14
D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle
More informationAlgorithms for GIS:! Quadtrees
Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)
More informationCSCE 411 Design and Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms Set 4: Transform and Conquer Slides by Prof. Jennifer Welch Spring 2014 CSCE 411, Spring 2014: Set 4 1 General Idea of Transform & Conquer 1. Transform the original
More informationJanuary 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms
Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to
More informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationExternal-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair
External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair {machado,tron}@visgraf.impa.br Theoretical Models Random Access Machine Memory: Infinite Array. Access
More informationCPSC / Sonny Chan - University of Calgary. Collision Detection II
CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning
More informationDatenbanksysteme II: Multidimensional Index Structures 2. Ulf Leser
Datenbanksysteme II: Multidimensional Index Structures 2 Ulf Leser Content of this Lecture Introduction Partitioned Hashing Grid Files kdb Trees kd Tree kdb Tree R Trees Example: Nearest neighbor image
More informationWINDOWING PETR FELKEL. FEL CTU PRAGUE https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start. Based on [Berg], [Mount]
WINDOWING PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg], [Mount] Version from 15.12.2016 Windowing queries - examples [Berg] Interaction
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationMachine Learning and Pervasive Computing
Stephan Sigg Georg-August-University Goettingen, Computer Networks 17.12.2014 Overview and Structure 22.10.2014 Organisation 22.10.3014 Introduction (Def.: Machine learning, Supervised/Unsupervised, Examples)
More informationSpatial Data Structures
CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/
More informationRay Tracing Acceleration Data Structures
Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationVoronoi diagram and Delaunay triangulation
Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi
More informationChap4: Spatial Storage and Indexing. 4.1 Storage:Disk and Files 4.2 Spatial Indexing 4.3 Trends 4.4 Summary
Chap4: Spatial Storage and Indexing 4.1 Storage:Disk and Files 4.2 Spatial Indexing 4.3 Trends 4.4 Summary Learning Objectives Learning Objectives (LO) LO1: Understand concept of a physical data model
More informationLecture 7. Transform-and-Conquer
Lecture 7 Transform-and-Conquer 6-1 Transform and Conquer This group of techniques solves a problem by a transformation to a simpler/more convenient instance of the same problem (instance simplification)
More informationCS Fall 2010 B-trees Carola Wenk
CS 3343 -- Fall 2010 B-trees Carola Wenk 10/19/10 CS 3343 Analysis of Algorithms 1 External memory dictionary Task: Given a large amount of data that does not fit into main memory, process it into a dictionary
More informationAlgorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection
Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search
More informationRandom Grids: Fast Approximate Nearest Neighbors and Range Searching for Image Search
Random Grids: Fast Approximate Nearest Neighbors and Range Searching for Image Search Dror Aiger, Efi Kokiopoulou, Ehud Rivlin Google Inc. aigerd@google.com, kokiopou@google.com, ehud@google.com Abstract
More informationAlgorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection
Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search
More informationAlgorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection
Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search
More informationCGL Computational Geometric Learning. Randomized kd-trees for Approximate Nearest Neighbor Search
Project number IST-25582 CGL Computational Geometric Learning Randomized kd-trees for Approximate Nearest Neighbor Search STREP Information Society Technologies Period covered: November 1, 2011 October
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More information26 The closest pair problem
The closest pair problem 1 26 The closest pair problem Sweep algorithms solve many kinds of proximity problems efficiently. We present a simple sweep that solves the two-dimensional closest pair problem
More informationApproximate Nearest Line Search in High Dimensions
Approximate Nearest Line Search in High Dimensions Sepideh Mahabadi MIT mahabadi@mit.edu Abstract We consider the Approximate Nearest Line Search (NLS) problem. Given a set L of N lines in the high dimensional
More informationGeometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures
Notes on Computational Geometry and Data Structures 2008 Geometric Data Structures and CGAL Geometric Data Structures and CGAL Data Structure Interval Tree Priority Search Tree Segment Tree Range tree
More informationData Mining and Machine Learning: Techniques and Algorithms
Instance based classification Data Mining and Machine Learning: Techniques and Algorithms Eneldo Loza Mencía eneldo@ke.tu-darmstadt.de Knowledge Engineering Group, TU Darmstadt International Week 2019,
More informationIntersection Acceleration
Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationModule 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.
The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012
More informationTask Description: Finding Similar Documents. Document Retrieval. Case Study 2: Document Retrieval
Case Study 2: Document Retrieval Task Description: Finding Similar Documents Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade April 11, 2017 Sham Kakade 2017 1 Document
More informationBalanced Binary Search Trees. Victor Gao
Balanced Binary Search Trees Victor Gao OUTLINE Binary Heap Revisited BST Revisited Balanced Binary Search Trees Rotation Treap Splay Tree BINARY HEAP: REVIEW A binary heap is a complete binary tree such
More informationOrthogonal range searching. Range Trees. Orthogonal range searching. 1D range searching. CS Spring 2009
CS 5633 -- Spring 2009 Orthogonal range searching Range Trees Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 5633 Analysis of Algorithms 1 Input: n points in d dimensions
More informationCollision and Proximity Queries
Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other
More informationOrthogonal Range Search and its Relatives
Orthogonal Range Search and its Relatives Coordinate-wise dominance and minima Definition: dominates Say that point (x,y) dominates (x', y') if x
More informationGEOMETRIC SEARCHING PART 2: RANGE SEARCH
GEOMETRIC SEARCHING PART 2: RANGE SEARCH PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 19.10.2017 Range search
More informationAlgorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection
GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N 1d range search line segment intersection kd trees interval search trees rectangle intersection R O B E R T S E D G E W I C K K E V I
More informationA Comparison of Nearest Neighbor Search Algorithms for Generic Object Recognition
A Comparison of Nearest Neighbor Search Algorithms for Generic Object Recognition Ferid Bajramovic 1, Frank Mattern 1, Nicholas Butko 2, Joachim Denzler 1 1 Chair for Computer Vision, Friedrich-Schiller-University
More informationAn improvement in the build algorithm for Kd-trees using mathematical mean
An improvement in the build algorithm for Kd-trees using mathematical mean Priyank Trivedi, Abhinandan Patni, Zeon Trevor Fernando and Tejaswi Agarwal School of Computing Sciences and Engineering, VIT
More informationChapter 11: Indexing and Hashing
Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL
More informationB-Trees. Version of October 2, B-Trees Version of October 2, / 22
B-Trees Version of October 2, 2014 B-Trees Version of October 2, 2014 1 / 22 Motivation An AVL tree can be an excellent data structure for implementing dictionary search, insertion and deletion Each operation
More informationIntroduction. for large input, even access time may be prohibitive we need data structures that exhibit times closer to O(log N) binary search tree
Chapter 4 Trees 2 Introduction for large input, even access time may be prohibitive we need data structures that exhibit running times closer to O(log N) binary search tree 3 Terminology recursive definition
More informationAlgorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search kd trees line segment intersection interval search trees rectangle intersection
KdTree Next Assignment due /26 (Tuesday after Spring Break) This Thursday, precept will cover the assignment in detail using a great worksheet (thanks Maia!). Due two days after Spring break ends. Second
More information9/29/2016. Chapter 4 Trees. Introduction. Terminology. Terminology. Terminology. Terminology
Introduction Chapter 4 Trees for large input, even linear access time may be prohibitive we need data structures that exhibit average running times closer to O(log N) binary search tree 2 Terminology recursive
More informationRange Reporting. Range Reporting. Range Reporting Problem. Applications
Philip Bille Problem problem. Preprocess at set of points P R 2 to support report(x1, y1, x2, y2): Return the set of points in R P, where R is rectangle given by (x1, y1) and (x2, y2). Applications Relational
More informationLesson 05. Mid Phase. Collision Detection
Lesson 05 Mid Phase Collision Detection Lecture 05 Outline Problem definition and motivations Generic Bounding Volume Hierarchy (BVH) BVH construction, fitting, overlapping Metrics and Tandem traversal
More informationAverage case analysis of dynamic geometric optimization
Average case analysis of dynamic geometric optimization David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 May 19, 1995 Abstract We maintain the maximum
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationRange Searching II: Windowing Queries
Computational Geometry Lecture : Windowing Queries INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Chih-Hung Liu 23.11.2015 1 Object types in range queries y0 y x x0 Setting
More informationProblem 1: Complexity of Update Rules for Logistic Regression
Case Study 1: Estimating Click Probabilities Tackling an Unknown Number of Features with Sketching Machine Learning for Big Data CSE547/STAT548, University of Washington Emily Fox January 16 th, 2014 1
More information! Good algorithms also extend to higher dimensions. ! Curse of dimensionality. ! Range searching. ! Nearest neighbor.
Geometric search: Overview Geometric Algorithms Types of data. Points, lines, planes, polygons, circles,... This lecture. Sets of N objects. Geometric problems extend to higher dimensions.! Good algorithms
More informationThe Unified Segment Tree and its Application to the Rectangle Intersection Problem
CCCG 2013, Waterloo, Ontario, August 10, 2013 The Unified Segment Tree and its Application to the Rectangle Intersection Problem David P. Wagner Abstract In this paper we introduce a variation on the multidimensional
More informationField: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d
1 Geometry Field: We have been doing geometry eg linear programming But in computational geometry, key difference in focus: low dimension d Lots of algorithms that are great for d small, but exponential
More informationNearest Neighbor Methods
Nearest Neighbor Methods Nicholas Ruozzi University of Texas at Dallas Based on the slides of Vibhav Gogate and David Sontag Nearest Neighbor Methods Learning Store all training examples Classifying a
More information{ K 0 (P ); ; K k 1 (P )): k keys of P ( COORD(P) ) { DISC(P): discriminator of P { HISON(P), LOSON(P) Kd-Tree Multidimensional binary search tree Tak
Nearest Neighbor Search using Kd-Tree Kim Doe-Wan and Media Processing Lab Language for Automation Research Center of Maryland University March 28, 2000 { K 0 (P ); ; K k 1 (P )): k keys of P ( COORD(P)
More informationLarge-scale visual recognition Efficient matching
Large-scale visual recognition Efficient matching Florent Perronnin, XRCE Hervé Jégou, INRIA CVPR tutorial June 16, 2012 Outline!! Preliminary!! Locality Sensitive Hashing: the two modes!! Hashing!! Embedding!!
More informationDynamic Collision Detection
Distance Computation Between Non-Convex Polyhedra June 17, 2002 Applications Dynamic Collision Detection Applications Dynamic Collision Detection Evaluating Safety Tolerances Applications Dynamic Collision
More informationI/O-Algorithms Lars Arge Aarhus University
I/O-Algorithms Aarhus University April 10, 2008 I/O-Model Block I/O D Parameters N = # elements in problem instance B = # elements that fits in disk block M = # elements that fits in main memory M T =
More informationKD-Tree Algorithm for Propensity Score Matching PhD Qualifying Exam Defense
KD-Tree Algorithm for Propensity Score Matching PhD Qualifying Exam Defense John R Hott University of Virginia May 11, 2012 1 / 62 Motivation Epidemiology: Clinical Trials Phase II and III pre-market trials
More information7 Approximate Nearest Neighbors
7 Approximate Nearest Neighbors When we have a large data set with n items where n is large (think n = 1,000,000) then we discussed two types of questions we wanted to ask: (Q1): Which items are similar?
More informationPrinciples of Algorithm Design
Principles of Algorithm Design When you are trying to design an algorithm or a data structure, it s often hard to see how to accomplish the task. The following techniques can often be useful: 1. Experiment
More informationTrees. Eric McCreath
Trees Eric McCreath 2 Overview In this lecture we will explore: general trees, binary trees, binary search trees, and AVL and B-Trees. 3 Trees Trees are recursive data structures. They are useful for:
More informationCollision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill
Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic
More informationPlanar Point Location
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,
More informationChapter 12: Indexing and Hashing. Basic Concepts
Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition
More informationPseudo code of algorithms are to be read by.
Cs502 Quiz No1 Complete Solved File Pseudo code of algorithms are to be read by. People RAM Computer Compiler Approach of solving geometric problems by sweeping a line across the plane is called sweep.
More informationMotivation for B-Trees
1 Motivation for Assume that we use an AVL tree to store about 20 million records We end up with a very deep binary tree with lots of different disk accesses; log2 20,000,000 is about 24, so this takes
More informationMassive Data Algorithmics
Database queries Range queries 1D range queries 2D range queries salary G. Ometer born: Aug 16, 1954 salary: $3,500 A database query may ask for all employees with age between a 1 and a 2, and salary between
More informationOutline. Other Use of Triangle Inequality Algorithms for Nearest Neighbor Search: Lecture 2. Orchard s Algorithm. Chapter VI
Other Use of Triangle Ineuality Algorithms for Nearest Neighbor Search: Lecture 2 Yury Lifshits http://yury.name Steklov Institute of Mathematics at St.Petersburg California Institute of Technology Outline
More informationSearch. The Nearest Neighbor Problem
3 Nearest Neighbor Search Lab Objective: The nearest neighbor problem is an optimization problem that arises in applications such as computer vision, pattern recognition, internet marketing, and data compression.
More informationdoc. RNDr. Tomáš Skopal, Ph.D. Department of Software Engineering, Faculty of Information Technology, Czech Technical University in Prague
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond course: Searching the Web and Multimedia Databases (BI-VWM) Tomáš Skopal, 2011 SS2010/11 doc. RNDr. Tomáš Skopal, Ph.D. Department of
More informationA note on quickly finding the nearest neighbour
A note on quickly finding the nearest neighbour David Barber Department of Computer Science University College London May 19, 2014 1 Finding your nearest neighbour quickly Consider that we have a set of
More informationBranch and Bound. Algorithms for Nearest Neighbor Search: Lecture 1. Yury Lifshits
Branch and Bound Algorithms for Nearest Neighbor Search: Lecture 1 Yury Lifshits http://yury.name Steklov Institute of Mathematics at St.Petersburg California Institute of Technology 1 / 36 Outline 1 Welcome
More information