Graph partitioning with natural cuts
First Claim
Patent Images
1. A method for graph partitioning, comprising:
- receiving as input, at a computing device, a graph comprising a plurality of vertices and edges;
filtering the graph using a plurality of natural cuts, the natural cuts being relatively sparse cuts bordering denser regions of the graph, each of the natural cuts computed by using a breadth-first search to find a minimum cut between a first set of vertices in a first region and a second set of vertices surrounding the first region, the minimum cut being a relatively sparse cut defining the first region as a denser region of the graph, the filtering comprising preserving in an un-contracted state edges of the graph that correspond to the natural cuts and contracting regions that do not correspond to the natural cuts to generate a filtered graph, by the computing device, wherein the filtered graph comprises a plurality of cells corresponding to the contracted regions, each cell comprising a different subset of the vertices;
partitioning the graph by assembling the filtered graph to form a partitioned graph, the assembling comprising minimizing the number of edges between the cells using a greedy technique and a local search technique, by the computing device; and
outputting the partitioned graph.
2 Assignments
0 Petitions
Accused Products
Abstract
Graph partitioning techniques are based on the notion of natural cuts. A filtering phase performs a series of minimum cut computations to identify and contract dense regions of the graph. This reduces the graph size significantly, but preserves its general structure. An assembly phase uses a combination of greedy and local search heuristics to assemble the final partition. The techniques may be used on road networks, which have an abundance of natural cuts (such as bridges, mountain passes, and ferries).
18 Citations
15 Claims
-
1. A method for graph partitioning, comprising:
-
receiving as input, at a computing device, a graph comprising a plurality of vertices and edges; filtering the graph using a plurality of natural cuts, the natural cuts being relatively sparse cuts bordering denser regions of the graph, each of the natural cuts computed by using a breadth-first search to find a minimum cut between a first set of vertices in a first region and a second set of vertices surrounding the first region, the minimum cut being a relatively sparse cut defining the first region as a denser region of the graph, the filtering comprising preserving in an un-contracted state edges of the graph that correspond to the natural cuts and contracting regions that do not correspond to the natural cuts to generate a filtered graph, by the computing device, wherein the filtered graph comprises a plurality of cells corresponding to the contracted regions, each cell comprising a different subset of the vertices; partitioning the graph by assembling the filtered graph to form a partitioned graph, the assembling comprising minimizing the number of edges between the cells using a greedy technique and a local search technique, by the computing device; and outputting the partitioned graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for graph partitioning, comprising:
-
identifying a plurality of first cuts in a graph by a computing device, wherein the graph comprises a plurality of vertices and edges, each first cut having a predetermined number of edges linking vertices in the graph; filtering the graph using a plurality of natural cuts, the natural cuts being relatively sparse cuts bordering denser regions of the graph, each of the natural cuts computed by using a breadth-first search to find a minimum cut between a first set of vertices in a first region and a second set of vertices surrounding the first region, the minimum cut being a relatively sparse cut defining the first region as a denser region of the graph, the filtering comprising preserving in an un-contracted state edges of the graph that correspond to the natural cuts and contracting regions that do not correspond to the natural cuts to generate a filtered graph, by the computing device, wherein the filtered graph comprises a plurality of cells corresponding to the contracted regions, each cell comprising a different subset of the vertices; partitioning the graph by assembling the filtered graph to form a partitioned graph, the assembling comprising minimizing the number of edges between the cells using a greedy technique and a local search technique, by the computing device; and outputting the filtered graph by the computing device. - View Dependent Claims (11, 12, 13)
-
-
14. A system comprising:
-
at least one computing device; and a partitioning component adapted to; receive a graph comprising a plurality of vertices and edges; contract the vertices of the graph using a number of edges linking the vertices of the graph to generate a contracted graph; and filter the contracted graph using a plurality of natural cuts, the natural cuts being relatively sparse cuts bordering denser regions of the graph, each of the natural cuts computed by using a breadth-first search to find a minimum cut between a first set of vertices in a first region and a second set of vertices surrounding the first region, the minimum cut being a relatively sparse cut defining the first region as a denser region of the graph, the filtering comprising preserving in an un-contracted state edges of the graph that correspond to the natural cuts and contracting regions that do not correspond to the natural cuts to generate a filtered graph, wherein the filtered graph comprises a plurality of cells corresponding to the contracted regions, each cell comprising a different subset of the vertices; partition the graph by assembling the filtered graph to form a partitioned graph, the assembling comprising minimizing the number of edges between the cells using a greedy technique and a local search technique, by the computing device; and output the filtered graph by the computing device. - View Dependent Claims (15)
-
Specification