Point-to-point shortest path algorithm
First Claim
1. A method for graph preprocessing comprising:
- receiving a graph, the graph comprising a plurality of vertices and arcs;
generating shortcut arcs; and
computing arc reach bounds.
2 Assignments
0 Petitions
Accused Products
Abstract
A graph is selected for preprocessing. Partial shortest path trees are constructed for the vertices of the graph and shortcuts are added to the graph to reduce the reach of certain vertices. The partial trees can be used to divide the arcs into two groups, a high reach group and a low reach group wherein a reach threshold is used to divide the groups. This threshold may be a function of the number of iterations of the preprocessing algorithm performed thus far. Upper bounds on reach of the low reach arcs are computed, and these arcs are deleted from the graph. The preprocessing algorithm is applied iteratively to the remaining arcs in the graph, with the reach threshold changing based on the current iteration. At the end of the preprocessing phase all arc reaches are below the current threshold and are deleted. The graph obtained from the input graph by adding the shortcuts, together with the reach values, may then be used during a query phase to compute shortest paths between two vertices.
48 Citations
20 Claims
-
1. A method for graph preprocessing comprising:
-
receiving a graph, the graph comprising a plurality of vertices and arcs;
generating shortcut arcs; and
computing arc reach bounds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 13)
-
-
10. A system for determining the shortest path between two vertices in a graph comprising:
-
an input device adapted to receive a source vertex and a destination vertex from a graph, wherein the graph comprises a plurality of arcs and vertices;
a storage device adapted to store preprocessing data, wherein the preprocessing data comprises vertex reach bounds and the graph with the addition of shortcut arcs; and
a processor adapted to compute the shortest path in the graph between the source vertex and the destination vertex using the preprocessing data. - View Dependent Claims (11, 12, 14)
-
-
15. A computer-readable medium with computer-executable instructions stored thereon for performing the method of:
-
receiving a graph, the graph comprising a plurality of vertices and arcs;
generating shortcut arcs; and
computing arc reach bounds. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification