0

I have an undirected graph G=(V, E) where each vertex represents a segment in a large road network map. Each edge represents a road segment from one place to another place. Therefore, all edges have the same weight. I wish to partition this road network into k different sets clusters.

Motivations: The idea is to divide the edges into k-sets of partition, such that each partition can be replicated into n-number of machines. Each machine will perform the distance approximation algorithm.

Is there any graph partitioning technique, that is easy to understand and implement? The graph I am trying to partition consists of 25000 nodes.

  • 25K isn't very many nodes -- you could plausibly compute exact all pairs shortest paths in a few seconds on a single machine. Nevertheless, can I assume the standard objective of minimizing the cut? – David Eisenstat Mar 11 '21 at 13:30
  • @DavidEisenstat, actually the main objective of the partitioning is to parallelize over a few numbers machine to reduce the computation of an algorithm. And yes, minimizing the cuts that produce a balanced number of partitions is the ultimate goal. If you have any idea could you please share your knowledge? – Aavash Bhandari Mar 11 '21 at 23:22
  • You tagged this [metis]. Is there some reason that METIS is not suitable? – David Eisenstat Mar 11 '21 at 23:34
  • I found some papers on METIS, grasping their idea is really confusing. I am trying to implement the multilevel graph partitioning algorithm in the JAVA language. Therefore, I am trying to find a simple and easily implementable algorithm. @DavidEisenstat – Aavash Bhandari Mar 12 '21 at 02:09
  • Maybe https://en.wikipedia.org/wiki/Fiduccia%E2%80%93Mattheyses_algorithm is more your speed. – David Eisenstat Mar 12 '21 at 03:16

0 Answers0