Efficiently finding shortest paths using landmarks for computing lower-bound distance estimates
First Claim
1. A computer-readable storage medium comprising computer-executable instructions facilitating the finding of a shortest path from a starting location to a destination location among a set of locations, the computer-executable instructions, when executed by a computer processor, performing the steps of:
- estimating distances to the destination location from locations in the set of locations by using distances between the locations and one or more landmarks from a set of landmarks;
selecting a first unscanned location whose sum of distance from the starting location and estimated distance to the destination location is minimal;
computing the distance from the starting location to other unscanned locations adjacent to the first unscanned location; and
marking the first unscanned location as scanned.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are described for computing shortest paths among a set of locations. A small set of landmarks is chosen and the distance between each location and each landmark is computed and stored. Given source and destination locations, the landmark distances are used to compute lower-bound estimates of distances from locations to the destination. The estimates are then used with a heuristic search to find the shortest path from source to destination.
93 Citations
23 Claims
-
1. A computer-readable storage medium comprising computer-executable instructions facilitating the finding of a shortest path from a starting location to a destination location among a set of locations, the computer-executable instructions, when executed by a computer processor, performing the steps of:
-
estimating distances to the destination location from locations in the set of locations by using distances between the locations and one or more landmarks from a set of landmarks; selecting a first unscanned location whose sum of distance from the starting location and estimated distance to the destination location is minimal; computing the distance from the starting location to other unscanned locations adjacent to the first unscanned location; and marking the first unscanned location as scanned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable storage medium comprising computer-executable instructions facilitating the estimating the distance from a first location to the destination location, the computer-executable instructions, when executed by a processor, performing the steps of:
-
computing a first distance from the first location to a landmark; computing a second distance from the destination location to the landmark; calculating a first difference between the first distance and the second distance for estimating the distance from the first location to the destination location; computing a third distance from the landmark to the destination location; computing a fourth distance from the landmark to the first location; calculating a second difference between the third distance and the fourth distance for estimating the distance from the first location to the destination location; and using the maximum of the first difference and the second difference for estimating the distance from the first location to the destination location.
-
-
13. A computer-implemented method of finding a shortest path from a starting location to a destination location among a set of locations, the method comprising:
-
estimating distances to the destination location from locations in the set of locations by using distances between the locations and one or more landmarks from a set of landmarks; selecting a first unscanned location whose sum of distance from the starting location and estimated distance to the destination location is minimal; computing the distance from the starting location to other unscanned locations adjacent to the first unscanned location; and marking the first unscanned location as scanned. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-implemented method of estimating the distance from a first location to the destination location, the method comprising:
-
computing a first distance from the first location to a landmark; computing a second distance from the destination location to the landmark; calculating a first difference between the first distance and the second distance for estimating the distance from the first location to the destination location; computing a third distance from the landmark to the destination location; computing a fourth distance from the landmark to the first location; calculating a second difference between the third distance and the fourth distance for estimating the distance from the first location to the destination location; and comprising using the maximum of the first difference and the second difference for estimating the distance from the first location to the destination location.
-
Specification