3

I have a graph G = (V,E), with V the set of nodes, and E the set of edges. I have two types of nodes: Source nodes, and Consumer nodes (the number of Source nodes are way lower than the Consumer nodes). The nodes have geographic positions.

I want to partition the graph into a collection of sub-graphs which are:

a- connected sub-graphs,

b- of a proper size (the size of the partitions must be balanced; however not necessarily equal. e.g. between 2000-3000 nodes),

c- the partitions should preferably be directly connected to a Source. So if there is no Source in a partition, the path between the partition to a Source node should not include any nodes in the other partitions. (The most important constraint)

d- The nodes in a partition should be close to each other (geographically)

The minimum cut set is preferable. The Source nodes can be isolated from the other partitions (can be in partitions of one; only themselves).

Is there any existing partitioning technique that I can use? Any kind of help is fully appreciated.

  • This question appears to be off-topic because it is about mats/theoretical CS. –  Jan 19 '14 at 15:40
  • There are not enough informations about your graph topology. How are Source and Consumer nodes connected? – kuroi neko Jan 19 '14 at 16:52
  • It is a water distribution network. So there are some source nodes in the network (for example 3), and some consumer nodes (for example 14000). The consumers are connected to sources by links (pipes), which passes thorough other nodes. So normally the path between a source and a consumer involves some other consumer nodes. – Saeed Hajebi Jan 20 '14 at 17:55

1 Answers1

1

There are some works based on the modularity measure used in community detection. For instance, in Chen et al. 2012, they extend the modularity to spatial, weighted, directed networks. The spatial distance is used to modulate the link weights.

This would fit your points a) and d). However, the (regular) modularity is not designed to find communities of similar size, so it won't fulfil your point b). Maybe you'd better use a classic minimum-cut approach, by modifying a measure such as the conductance in a way similar to that of Chen et al.

For your point c), I must say I never met this type of constraint before, and I find it very interesting. I guess you could try to perform some bi-criterion optimization, trying to minimize both conductance (or modularity) and a criterion such as the average distance to the closest source. But that would not guarantee the respect of point c). You can also force the number of detected communities so that it is less than the number of sources.

Vincent Labatut
  • 1,788
  • 1
  • 25
  • 38
  • As I understand, c) is not so much a request, more it gives boundaries for number of partitions. For a Source there are at most number of neighbours partitions containing or touching it. E.g. if there are 3 Sources and each has 10 neighbours, than there are at most 30 partitions at all. – Ante Jan 22 '14 at 07:54
  • Thanks very much for your answer, Vincent Labatut. – Saeed Hajebi Jan 22 '14 at 15:24