- 论坛徽章:
- 0
|
算法名称:基于节点属性相似度的标签传播算法(LPA-SNA)
算法输入:包含节点属性信息的图的邻接表 ALGraph。
算法输出:存储节点标签的数组Label[Max_Vertex_Number]。
1)Label[Max_Vertex_Number]←{0}
2)Count ← 0 ; //记录两次迭代中节点标签变化的数量
3)For i ← 0 to Max_Vertex_Number
4) Label[i] ← i ; //初始化每个节点的标签
5)RandArray[Max_Vertex_Number] ← {0,1,...,-1}; //定义一个随机排序数组
6)t ← 1; //迭代计数器
7) While ( count > 0)
8) {
9) count ← 0;
10). RandInPlace(RandArray) ;
11) For j ← 0 to Max_Vertex_Number
12) {
13) OrigenalLabel ← Label[RandArray[j]] ;
14) //为节点选取邻节点出现次数最多的标签
15)Label[RandArray[i]] ← MaxFrequencyLabel(G,RandArray[j].Label ) ;
16) If OrigenalLabel≠Label[RandArray[j]]
17) count ++ ;
18) }
19) t ← t+ 1;
20) }
21) For k ← 0 to Max_Vertex_Number
22) return ( Label[k] );
请问怎么用伪代码或者框图详细描述算法流程,以及用实例走一遍算法全过程?刚学很多都不懂。
|
|