LPA是一种基于标签传播的局部社区划分算法,该算法认为每个结点的标签应该和其大多数邻居的标签相同。对于网络中的每一个节点,在初始阶段,LPA算法对于每一个节点都会初始化一个唯一的一个标签。每一次迭代都会根据与自己相连的节点所属的标签改变自己的标签,更改的原则是选择与其相连的节点中所属标签最多的社区标签为自己的社区标签,这就是标签传播的含义了。随着社区标签不断传播。最终,连接紧密的节点将有共同的标签。
算法步骤
(1)为每个顶点赋一个唯一的标签;
(2)将网络中的顶点随机排列得到一个顶点序列,记为X;
(3)将序列X中每个顶点u的标签更新为其邻居中出现次数最频繁的一个标签,如果这样的标签不止一个,则随机选择其中之一作为的标签;
(4)重复步骤(2)、(3),直到网络中每个顶点的标签都与其邻居中最频繁出现的标签相一致。