我有一个图G =(V,E),其中V是节点集,E是边集。我有两种类型的节点:源节点和消费者节点(源节点的数量低于消费者节点)。节点具有地理位置。
我想将图形划分为一系列子图:
a-连接的子图,
b-大小合适(分区的大小必须平衡;但不一定相等。例如在2000-3000个节点之间),
c-分区最好直接连接到Source。因此,如果分区中没有Source,则分区与Source节点之间的路径不应包含其他分区中的任何节点。 (最重要的约束)
d-分区中的节点应该彼此靠近(地理位置)
最小割集是优选的。源节点可以与其他分区隔离(可以在一个分区中;仅在其自身中)。
我可以使用任何现有的分区技术吗?任何形式的帮助都是完全赞赏的。
答案 0 :(得分:1)
有些作品基于社区检测中使用的模块化度量。例如,在Chen et al. 2012中,它们将模块性扩展到空间,加权,定向网络。空间距离用于调制链路权重。
这适合你的观点a)和d)。但是,(常规)模块化不是为了找到类似大小的社区而设计的,所以它不会满足你的观点b)。也许你最好使用经典的最小割方法,通过类似于陈 et al 的方式修改conductance等度量。
对于你的观点c),我必须说我以前从未遇到过这种类型的约束,我发现它非常有趣。我想你可以尝试进行一些双标准优化,试图最小化电导(或模块化)和一个标准,如到最近源的平均距离。但这并不能保证尊重c)点。您还可以强制检测到的社区数量,使其小于源数量。