您的位置:首页 > 其它

社区发现(一):社区简介

2020-08-29 13:04 80 查看

文章目录

引用:https://blog.csdn.net/itplus/article/details/9286905

社区发现(Community Detection)算法用来发现网络中的社区结构,也可以视为一种广义的聚类算法

1. 研究背景

复杂网络是复杂系统的抽象,现实中许多复杂系统都可以用复杂网络的相关特性进行描述和分析。

网络中的节点表示系统中的个体,表示个体之间的关系。如:

  • 社会关系网络
  • 食物链
  • 万维网
  • 城市交通网络
  • 电力网

对复杂网络的研究一直是许多领域的研究热点,其中社区结构是复杂网络中的一个普遍特征,整个网络是由许多个社区组成的。

社区发现(Community Detection)是一个复杂而有意义的过程,它对研究复杂网络的特性具有重要作用。近几年,发现及分析复杂网络中的社区结构得到了许多学者的关注,同时也出现了很多社区发现算法。

2. 什么是社区

A precise definition of what a “community” really is does not exist yet. One of the most widely accepted and used definitions is that given by Newman and Gievan (2004):
A community is a subgraph containing nodes which are more densely linked to each other than to the rest of the graph or equivalently, a graph has a community structure if the number of links into any subgraph is higher than the number of links between those subgraphs.

同一社区内的节点与节点之间的连接很紧密,而社区与社区之间的连接比较稀疏。

从上述定义可以看出:社区是一个比较含糊的概念,只给出了一个定性的刻画。另外需要注意的是,社区是一个子图,包含顶点和边。

3. 数学描述

设图G = G(V, E),所谓社区发现是指在图G中确定nc (≥1) 个社区
C={C1,C2,...,Cnc} C = \{C_1, C_2, ..., C_{nc}\} C={C1​,C2​,...,Cnc​}
使得各社区的顶点集合构成V的一个覆盖。

若任意两个社区的顶点集合的交集均为空,则称C为非重叠社区(disjoint communities);否则称为重叠社区(overlapping communities)。


非重叠社区

重叠社区
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: