1

I am aware of Girvan - Newman algorithm - here is the algorithm :

  1. The betweenness of all existing edges in the network is calculated first.
  2. The edge with the highest betweenness is removed.
  3. The betweenness of all edges affected by the removal is recalculated.
  4. Steps 2 and 3 are repeated until no edges remain.

But I want to use this algorithm to find k components in a directed graph, where k is a given integer.
How can I do this? is it possible?
Thanks.

shapiro yaacov
  • 2,308
  • 2
  • 26
  • 39
blank94
  • 374
  • 3
  • 20

1 Answers1

1

If the graph is directed, you just need to process the directed version of the edgebetweenness, i.e. count the directed shortest paths going through an edge.

Regarding your parameter k, you must remove the most central links until you obtain k separated components. In other words, you don't need to apply step 4 until no edge remain: you can stop before, when you've reached the required k. The nodes contained in the resulting components correspond to your communities from the initial graph.

Vincent Labatut
  • 1,788
  • 1
  • 25
  • 38