← Back to Patent Explorer
US6148295A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for computing near neighbors of a query point in a database

Assignee: International Business Machines Corp
•
Filing: 1997-12-30
•
Granted: 2000-11-14
•
Expires: 2017-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for determining k nearest-neighbors to a query point in a database in which an ordering is defined for a data set P of a database, the ordering being based on l one-dimensional codes C 1 , . . . , C 1 . A single relation R is created in which R has the attributes of index-id, point-id and value. An entry (j,i,C.sub.εj (p i )) is included in relation R for each data point p i ΕP, where index-id equals j, point-id equals i, and value equals C.sub.εj (p i ). A B-tree index is created based on a combination of the index-id attribute and the value attribute. A query point is received and a relation Q is created for the query point having the attributes of index-id and value. One tuple is generated in the relation Q for each j, j=1, . . . , l, where index-id equals j and value equals C.sub.εj (q). A distance d is selected. The index-id attribute for the relation R of each data point p i is compared to the index-id attribute for the relation Q of the query point. A candidate data point p i is selected when the comparison of the relation R of a data point p i to the index-id attribute for the relation Q of the query point is less than the distance d. Lower bounds are calculated for each cube of the plurality of cubes that represent a minimum distance between any point in a cube and the query point. Lastly, k candidate data points p i are selected as k nearest-neighbors to the query point.

Inventors

  • 👤 Nimrod Megiddo
  • 👤 Uri Shaft

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 22:58
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/284; G06F16/285; G06F16/22; G06F16/2228; G06F16/2246; G06F16/24; G06F16/245; G06F16/2455; G06F16/24553; G06F16/50; G06F16/58; G06F16/583; G06F16/5838; G06F18/00; G06F18/20; G06F18/24; G06F18/241; G06F18/2413; G06F18/24147; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99934; Y10S707/99935

Claims Analysis

Total Claims: 3
Claim 1
Independent Claim 231 words
A method for determining k nearest-neighbors to a query point in a database, the method comprising the steps of: defining an ordering for a data set P of a database, the ordering being based on l one-dimensional codes C 1 , . . . , C l ; creating a single relation R having attributes index-id, point-id and value; including an entry (j,i,C.sub.εj (p i ) in relation R for each data point p i ΕP, where index-id equals j, point-id equals i, and value equals C.sub.εj (p i ); creating a B-tree index based on a combination of the index-id attribute and the value attribute; receiving a query point; creating a relation Q for the query point having attributes index-id and value; generating one tuple in the relation Q for each j, j=1, . . . , l, where index-id equals j and value equals C.sub.εj (q); selecting a distance d; comparing the index-id attribute for the relation R of each data point p i to the index-id attribute for the relation Q of the query point; selecting a candidate data point p i when the comparison of the relation R of a data point p i to the index-id attribute for the relation Q of the query point is less than the distance d; and selecting k candidate data points p i as k nearest-neighbors to the query point.
Claim 2
Independent Claim 231 words
A method for determining k nearest-neighbors to a query point in a database, the method comprising the steps of: defining an ordering for a data set P of a database, the ordering being based on l one-dimensional codes C 1 , . . . , C l ; creating a single relation R having attributes index-id, point-id and value; including an entry (j,i,C.sub.εj (p i ) in relation R for each data point p i ΕP, where index-id equals j, point-id equals i, and value equals C.sub.εj (p i ); creating a B-tree index based on a combination of the index-id attribute and the value attribute; receiving a query point; creating a relation Q for the query point having attributes index-id and value; generating one tuple in the relation Q for each j, j=1, . . . , l, where index-id equals j and value equals C.sub.εj (q); selecting a distance d; comparing the index-id attribute for the relation R of each data point p i to the index-id attribute for the relation Q of the query point; selecting a candidate data point p i when the comparison of the relation R of a data point p i to the index-id attribute for the relation Q of the query point is less than the distance d; and selecting k candidate data points p i as k nearest-neighbors to the query point.
Claim 3
Dependent Claim 87 words
The method according to claim 1, wherein the step of defining an ordering for a data set P of a database forms a plurality of cubes, the method further comprising the steps of: calculating lower bounds for each cube of the plurality of cubes, the lower bound representing a minimum distance between any point in a cube and the query point; and terminating the step of comparing when no lower bound is less than a distance between the query point and any of the candidate data points.

References Cited (Backward Citations)

US4907276A Cited
US5440742A Cited
US5579471A Cited
US5630121A Cited
US5598559A Cited
US5799301A Cited
US5857169A Cited
US5884320A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-14 2004-05-15 2004-11-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-14 2008-05-15 2008-11-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-14 2012-05-15 2012-11-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag