标签传播算法 Near linear time algorithm to detect community structures in large-scale networks

标签传播算法 Near linear time algorithm to detect community structures in large-scale networks

文章发表时间:2007年

1. 算法思想

  1. 假设节点x有邻居x1,x2,…,xk,并且每个邻居都携带一个标签,表示他们所属的社区。然后x根据邻居的标签确定它的社区。

  2. 假设网络中的每个节点都选择加入其邻居数量最多的社区,并均匀随机地断开联系。

  3. 用唯一的标签初始化每个节点,并让标签在网络中传播。随着标签的传播,密集连接的节点组很快在一个唯一的标签上达成共识。

  4. 当许多这样的密集的节点在整个网络中创建组,它们继续向外扩展,直到有可能这样做。在传播过程的最后,具有相同标签的节点被分组为一个团体。

2. 算法流程

  1. 初始化网络中所有节点的标签,给定节点 x ,Cx(0) = x
  2. 初始化:t = 1
  3. 对网络中的节点随机排序,序列为 X
  4. 对于每个 x ∈ X 选择特定的顺序, Cx(t)= f ( Cx_i1(t), … ,Cx_im(t),Cx_i(m+1(t−1), … ,Cx_ik(t−1)),其中函数 f 返回在邻居中出现频率最高的标签,并且关系被随即打破
  5. 如果每个节点的标签都是其邻居的最大数量,则算法停止,否则 t=t+1,重复上述过程。

你可能感兴趣的:(social,network,算法)