Nearest Neighbor Search Using Vector Partitioning and Distance Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for finding nearest neighbors in multi-dimensional data, such as vectors, are inefficient in terms of computation and memory usage, particularly when dealing with large datasets, and lack adaptability for parallel processing.

Innovation Solution

A method involving selecting a reference point vector, calculating distances, sorting vectors into groups by distance, rearranging groups for optimal proximity, and iteratively identifying the best match by examining groups within a specific distance interval, which is adaptable for parallel processing and various distance metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional nearest neighbor search algorithms (e.g., k-d tree, Best-bin-first search) are used, then search accuracy is maintained, but search time increases significantly with large datasets

Engineering Contradiction:
Improvenearest neighbor search accuracyVSAvoidsearch time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the dataset into multiple partitions or blocks, allowing the search algorithm to divide and conquer the problem. Instead of searching through all vectors sequentially, the algorithm processes segments in parallel or in a optimized sequence, significantly reducing the time required to find nearest neighbors while maintaining search accuracy through systematic exploration of all segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing distance metrics, creating distance histograms, and organizing data into optimized data structures before the actual search occurs. This preprocessing enables faster query execution by avoiding redundant calculations during the search phase, thus reducing search time without compromising accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If exhaustive search methods are used to ensure accurate nearest neighbor identification, then search completeness is improved, but computational complexity increases

Engineering Contradiction:
Improvesearch completenessVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by using heuristic methods and distance thresholds to identify promising candidates without exhaustively evaluating every possible vector. The algorithm performs sufficient searches to guarantee correctness for the required number of nearest neighbors while avoiding unnecessary computations, thus reducing computational complexity while maintaining search completeness through intelligent pruning of the search space.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes parameters dynamically during the search process, adjusting search thresholds, distance metrics, and exploration priorities based on intermediate results. This adaptive parameter adjustment allows the algorithm to maintain reliability by ensuring all necessary candidates are considered while reducing computational complexity through optimized search strategies that adapt to the data distribution.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If large datasets are processed using conventional algorithms, then data coverage is improved, but memory requirements increase

Engineering Contradiction:
Improvedata coverageVSAvoidmemory requirements
Core Design Contradiction:
Quantity of substanceVSWeight of stationary object

Solution Approach 1:

The patent segments large datasets into manageable partitions that can be processed with limited memory. Each partition is handled independently or in a streaming fashion, allowing the algorithm to cover large quantities of data without requiring the entire dataset to be loaded into memory simultaneously, thus reducing memory requirements while maintaining comprehensive data coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces additional organizational dimensions such as distance-based grouping, hierarchical indexing, or out-of-core processing layers that allow efficient handling of large datasets. By organizing data in multiple dimensions (e.g., by distance ranges, by partitions, by frequency), the algorithm can process comprehensive datasets with reduced memory footprint through efficient data layout and access patterns.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Ease of manufacture

If sequential processing is used for nearest neighbor search, then implementation simplicity is maintained, but processing speed decreases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments the search task into independent units that can be processed in parallel, such as processing different data partitions simultaneously or evaluating multiple candidate vectors concurrently. This segmentation maintains implementation simplicity by using straightforward parallelization strategies while dramatically improving processing speed through concurrent execution of multiple search operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic processing where the search algorithm adapts its execution pattern based on data characteristics and performance requirements. This may involve dynamically switching between sequential and parallel modes, adjusting batch sizes, or reallocating computational resources during execution, thereby improving processing speed while keeping the implementation approachable through adaptive rather than statically complex designs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9177227B2Method and device for finding nearest neighbor
Publication Date: 2015.11.03 IVISYS SWEDEN AB
  • US9177227B2 patent drawing
  • US9177227B2 patent drawing
  • US9177227B2 patent drawing

AI summary

The present invention relates to a method and a device for finding nearest neighbor. In particular, it relates to a sorting, searching and matching multiple dimensional data, such as vectors, in order to find the nearest neighbor. The method is particularly useful as part of a SIFT algorithm.