System, method, and service for finding an optimal collection of paths among a plurality of paths between two nodes in a complex network
First Claim
1. A method of finding a subgraph that contains at least one optimal path among a plurality of paths between a first node and a second node, comprising:
- defining a subgraph between the first node and the second node, wherein the subgraph comprises a plurality of nodes and a plurality of edges connecting the plurality of nodes;
modeling a graph containing the subgraph as an electrical circuit that forms an electrical graph model for simulating an electric current passed along the plurality of paths;
connecting a universal sink node to each of the plurality of nodes in the graph by means of a sink edge, for diverting a fraction of the current passed along the plurality of paths, while favoring a short path over a long path;
selecting the at least one optimal path that meets at least one criterion of a goodness function, wherein the goodness function selects the at least one optimal path from among the plurality of paths that passes a current with a highest amplitude, after the fraction of the current is diverted to the universal sink node; and
adding the plurality of nodes and edges in the at least one optimal path to the subgraph.
1 Assignment
0 Petitions
Accused Products
Abstract
An optimal path selection system extracts a connection subgraph in real time from an undirected, edge-weighted graph such as a social network that best captures the connections between two nodes of the graph. The system models the undirected, edge-weighted graph as an electrical circuit and solves for a relationship between two nodes in the undirected edge-weighted graph based on electrical analogues in the electric graph model. The system optionally accelerates the computations to produce approximate, high-quality connection subgraphs in real time on very large (disk resident) graphs. The connection subgraph is constrained to the integer budget that comprises a first node, a second node and a collection of paths from the first node to the second node that maximizes a “goodness” function g(H). The goodness function g(H) is tailored to capture salient aspects of a relationship between the first node and the second node.
-
Citations
24 Claims
-
1. A method of finding a subgraph that contains at least one optimal path among a plurality of paths between a first node and a second node, comprising:
-
defining a subgraph between the first node and the second node, wherein the subgraph comprises a plurality of nodes and a plurality of edges connecting the plurality of nodes;
modeling a graph containing the subgraph as an electrical circuit that forms an electrical graph model for simulating an electric current passed along the plurality of paths;
connecting a universal sink node to each of the plurality of nodes in the graph by means of a sink edge, for diverting a fraction of the current passed along the plurality of paths, while favoring a short path over a long path;
selecting the at least one optimal path that meets at least one criterion of a goodness function, wherein the goodness function selects the at least one optimal path from among the plurality of paths that passes a current with a highest amplitude, after the fraction of the current is diverted to the universal sink node; and
adding the plurality of nodes and edges in the at least one optimal path to the subgraph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 20)
-
-
11. A method for identifying at least one optimum path in a graph, comprising:
-
specifying a plurality of data from which the graph is formed;
specifying a first selected hode and a second selected node between which the at least one optimum path is expected to exist;
invoking an optimal path selection utility program, wherein the data, the first selected node, and the second selected node are made available to the optimal path selection utility program; and
identifying one or more optimal paths between the first selected node and the second selected node.
-
-
12. A system for finding a subgraph that contains at least one optimal path among a plurality of paths between a first node and a second node, comprising:
-
a subgraph between the first node and the second node, wherein the subgraph comprises a plurality of nodes and a plurality of edges connecting the plurality of nodes;
a display generator for modeling a graph containing the subgraph as an electrical circuit that forms an electrical graph model for simulating an electric current passed along the plurality of paths;
a universal sink node connected to each of the plurality of nodes in the graph by means of a sink edge, for diverting a fraction of the current passed along the plurality of paths, while favoring a short path over a long path; and
the display generator further selects the at least one optimal path that meets at least one criterion of a goodness function, wherein the goodness function selects the at least one optimal path from among the plurality of paths that passes a current with a highest amplitude, after the fraction of the current is diverted to the universal sink node, so that the plurality of nodes and edges are added in the at least one optimal path to the subgraph. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
21. A method of a subgraph that contains at least a plurality of paths between a first node and a second node, comprising:
selecting the subgraph according to a goodness function from a plurality of subgraphs that satisfy a limitation on a number of nodes and edges that are allowable in the subgraph. - View Dependent Claims (22, 23, 24)
Specification