Pruned Landmark Trees for Efficient Shortest Path Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing landmark-based algorithms for finding shortest paths in large networks are inefficient in terms of memory usage and query time, especially when dealing with graphs of hundreds of millions of vertices, as they require significant resources to maintain accuracy and speed.

Innovation Solution

The proposed solution involves pruning the size of shortest path trees by limiting each node to appear in no more than a fixed number of path trees, using a modified Breadth-First-Search algorithm to precompute pruned landmark trees, and employing a data structure that stores distances and paths between landmarks to reduce memory usage and improve query efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If landmark-based algorithms use more landmarks to increase accuracy, then measurement precision improves, but device complexity and memory usage increase linearly

Engineering Contradiction:
Improveaccuracy of shortest path estimationVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts and stores only the most critical information needed for accurate shortest path estimation - specifically, for each node, only the distance to its nearest landmark is stored rather than complete shortest path trees. This extraction of essential data reduces memory requirements from O(kn) to O(n) while preserving accuracy by maintaining the most important distance metric for each node.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary computation to identify and store the nearest landmark for each node before queries are executed. During the precomputation phase, shortest path trees are built from each landmark and each node records its nearest landmark. This preliminary action enables O(1) query time while using only O(n) space, as the heavy computation is done once beforehand.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If exact methods like Dijkstra's traversal are used, then measurement precision improves, but productivity decreases due to prohibitively slow performance

Engineering Contradiction:
Improveexact shortest path calculationVSAvoidquery speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary computation during an offline phase where shortest path trees are constructed from each landmark and each node stores its nearest landmark. This precomputation transforms the online query problem into a simple O(1) lookup operation, achieving exact shortest path calculations at query time without the O(n log n) overhead of running Dijkstra's algorithm for each query.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a compressed copy of the network structure in the form of nearest-landmark assignments for each node. Instead of storing complete shortest path trees or running full pathfinding algorithms, it stores a simplified representation that captures the essential routing information, enabling fast queries while maintaining accuracy.

Inventive Principle:
Principle #26Copying

3Measurement precision

If landmark-based algorithms precompute distances to all landmarks, then measurement precision improves, but device complexity increases with O(kn) space requirements

Engineering Contradiction:
Improvedistance estimation accuracyVSAvoiddisk space usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential distance information needed for accurate estimation - specifically, each node stores only its distance to the nearest landmark rather than distances to all k landmarks. This extraction reduces the space complexity from O(kn) to O(n) while maintaining the accuracy needed for effective shortest path computation using the triangle inequality.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3058487B1Processing search queries using a data structure
Publication Date: 2020.04.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3058487B1 patent drawingFigure 1
  • EP3058487B1 patent drawingFigure 2
  • EP3058487B1 patent drawingFigure 3

AI summary

The disclosure relates to of generating a data structure stored in a computer memory for use in performing a search query to determine a separation between nodes in a network of interconnected nodes, wherein the method comprises: selecting a set of landmark nodes from the network; and for at least two of the landmark nodes in the set; generating a path tree for each landmark node that indicates a separation between the landmark node and each of a plurality of nodes; wherein the generating is configured to limit the number of path trees each of said plurality of nodes may appear in to no more than a predetermined number of path trees. A method of processing a data structure is also disclosed.