Computing point-to-point shortest paths from external memory
First Claim
1. A method of finding a shortest path from a starting location to a destination location among a set of locations, comprising:
- selecting a set of landmarks;
computing distances between each landmark and locations within the set of locations;
computing lower bounds based on the distances; and
running an A* process based on the lower bounds to determine the shortest path.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for computing shortest paths among a set of locations. A set of landmarks is dynamically selected by starting with two original landmarks and then improving the landmark selection based on distance to other landmarks. The landmarks are then used with A* search to find the shortest path from source to destination. Additional improvements are provided to reduce the amount of storage required. Landmarks may be generated or selected from a subset of landmarks during pre-processing using one or more selection heuristics, such as using tree-based heuristics and using a local search.
120 Citations
17 Claims
-
1. A method of finding a shortest path from a starting location to a destination location among a set of locations, comprising:
-
selecting a set of landmarks;
computing distances between each landmark and locations within the set of locations;
computing lower bounds based on the distances; and
running an A* process based on the lower bounds to determine the shortest path. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A landmark selection method comprising:
-
determining the sizes of a plurality of vertices corresponding to a plurality of locations;
traversing a first tree graph starting from the vertex having the largest size and following a child with the largest size, until a leaf is reached; and
activating the leaf as a landmark. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A landmark selection method comprising:
-
a) determining a plurality of landmarks;
b) adding the landmarks to a set of candidates;
c) discarding the landmarks having a predetermined probability;
d) generating additional landmarks;
e) adding the additional landmarks that are not already in the set to the set of candidates; and
f) repeating steps (c)-(e) until a predetermined condition is met. - View Dependent Claims (14, 15, 16, 17)
-
Specification