Representations for estimating distance
First Claim
Patent Images
1. A process for constructing a representation of a network, comprising:
- providing an input graph, wherein the input graph comprises nodes and edges;
deriving at least one separator comprising one or more shortest paths comprising a plurality of nodes, wherein said nodes in said shortest paths comprise portal nodes;
deriving a recursive decomposition tree of said input graph, wherein said recursive decomposition tree comprises a plurality of vertices, each vertex having a depth value and each vertex corresponding to one or more nodes;
compiling a first table of data for nodes of said graph wherein said first table has a plurality of first entries each indexed by a node;
deriving, for each node in said first table, a second table from said recursive decomposition tree wherein said second table has a plurality of second entries each indexed according to said depth value of said vertices;
deriving, for each said depth value in said second table, a third table having a plurality of third entries indexed according to said shortest paths of said separator; and
deriving, for each said indexed third entries, corresponding distance values.
1 Assignment
0 Petitions
Accused Products
Abstract
In one aspect, a method and system are provided for preprocessing a weighted planar undirected graph and representing the results of the preprocessing so as to facilitate subsequent approximate distance queries. A representation can be constructed so that an approximate distance from one node to another can be computed quickly. Also, the representation in one embodiment stores information for computing distances in a relatively compact format, thus reducing memory requirements. In another aspect, a method and system are provided which use the representation for rapid computation of distances.
113 Citations
33 Claims
-
1. A process for constructing a representation of a network, comprising:
-
providing an input graph, wherein the input graph comprises nodes and edges;
deriving at least one separator comprising one or more shortest paths comprising a plurality of nodes, wherein said nodes in said shortest paths comprise portal nodes;
deriving a recursive decomposition tree of said input graph, wherein said recursive decomposition tree comprises a plurality of vertices, each vertex having a depth value and each vertex corresponding to one or more nodes;
compiling a first table of data for nodes of said graph wherein said first table has a plurality of first entries each indexed by a node;
deriving, for each node in said first table, a second table from said recursive decomposition tree wherein said second table has a plurality of second entries each indexed according to said depth value of said vertices;
deriving, for each said depth value in said second table, a third table having a plurality of third entries indexed according to said shortest paths of said separator; and
deriving, for each said indexed third entries, corresponding distance values. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A representation of a network, comprising:
-
an input graph comprising nodes and edges;
one or more separators comprising one or more shortest paths, each comprising a plurality of nodes, wherein said nodes in said shortest paths comprise portal nodes;
a recursive decomposition tree of said input graph, wherein said tree comprises a plurality of vertices, each vertex having a depth value and each vertex corresponding to one or more nodes;
a first table of data for nodes of said graph wherein said first table has a plurality of first entries each indexed by node;
for each said first entry in said first table, a second table having a plurality of second entries each indexed according to said depth value of said vertices;
for each said second entry in said second table, a third table having a plurality of third entries each indexed according to said shortest paths of said at least one separator;
for each said third entry in said third table, corresponding distance values;
wherein for any node w on a shortest path, there is a node z such that the distance from a corresponding vertex v to node z plus the distance from node z to node w is at most (1+(1−
c/2)ε
0) times the distance from said vertex v to node w, wherein c is a factor ranging in value from zero to one and ε
0 is a factor ranging in value between zero and one. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A process for estimating distance, comprising:
-
providing an input graph comprising nodes and edges;
deriving at least one separator comprising at least one shortest path;
providing a representation of said graph comprising;
a recursive-decomposition tree of said graph, said recursive-decomposition tree having vertices each of which has a depth value and wherein each node of said graph has at least one corresponding vertex;
a first table comprising first entries indexed by each node in said graph, wherein each said first entry comprises a second table;
said second table comprising second entries indexed by the depth values of vertices corresponding to each node, wherein each said second entry comprises a third table;
said third table comprising third entries indexed by said at least one shortest path, wherein each said third entry comprises distance data;
obtaining a first endpoint, comprising one of said nodes of said graph, and a second endpoint, comprising a second of said nodes of said graph;
determining the least common ancestor vertex for the first endpoint and the second endpoint, said least common ancestor vertex having one of said depth values;
looking up, in said second table, a second entry indexed according to said least common ancestor'"'"'s depth value;
for each shortest path index in said third table, deriving distance values indexed according to said at least one shortest path;
for each shortest path index in said third table, determining a candidate estimated minimum distance between said first endpoint and said second endpoint using said distance values; and
determining a minimum estimated distance from said first endpoint to said second endpoint from among the set of all said candidate estimated minimum distances determined using said distance values. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A system for estimating distances, comprising:
-
a computing platform comprising a processor and a memory, wherein a processed representation of an undirected network is stored in said memory;
said processed representation comprising nodes and edges;
said processed representation further comprising a recursive-decomposition tree of said network, said tree comprising vertices each having a depth value;
said processed representation further comprising tables comprising distance value data;
said computer adapted to identify a first node and a second node, each said node having corresponding vertices in said tree, and said first node and said second node having a least common ancestor vertex;
said computer configured to determine a minimum estimated distance between said first node and said second node, by deriving from said tables corresponding distance value data indexed according to the depth value of said least common ancestor vertex. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A method for estimating distances using a processed network representation, comprising:
-
step for providing an input graph comprising nodes and edges;
step for storing a processed representation of said graph;
step for determining a first location and a second location, each said location having data associated therewith;
step for determining from said processed representation and said locations'"'"' associated data a minimum estimated distance between said first location and said second location.
-
Specification