主权项 |
一种基于节点核心影响力的复杂网络聚类方法,其特征在于,该方法包括如下步骤:步骤1:首先设置两个集合cmty_non和cmty_confir,集合cmty_non中放置的是当前未确认归属社区的节点,集合cmty_confir中放置的是当前已确认归属社区的节点,然后统计整个网络中所有节点的总度数total_degree,按照节点度的大小降序排列所有节点,并将排列好的节点加入到集合cmtT_non中;步骤2:选取当前排序后度最大的节点i_max,将其标记为第一个社区的核心节点,设置第一个社区的编号为0,将节点i_max从集合cmty_non中删除,并加入到集合cmty_confir中;步骤3:设置社区总数cmty_total,当前社区编号为cmty_total的社区就是当前所要构建的社区,cmty_total的初始值为0;步骤4:确定与当前所要构建的社区的核心节点相邻的节点;步骤5:读取一个未确认归属社区的相邻节点i,判断该节点i是否已经加入到集合cmty_confir中,若否,执行步骤6,如是,执行步骤7;步骤6:对节点i进行如下操作:(1)设置节点i的所属的社区编号为cmty_total,(2)从集合cmty_non中删除节点i,(3)将节点i加入至集合cmty_confir中;步骤7:判断节点i是否被标记为核心节点,若是,则不作处理,执行步骤8;若否,则修改节点i的社区编号为cmty_total,然后执行步骤8;步骤8:判断所有与当前所构建社区的核心节点相邻的节点是否都确认了归属社区,若是,执行步骤9,若否,转步骤5执行;步骤9:更新社区总数cmty_total:cmty_total=cmty_total+1;步骤10:判断集合cmty_non中是否还存在未确认归属社区的节点,若存在,则取当前集合cmty_non中度最大的节点i_next;若不存在,则当前网络中所有的节点都已经确认了归属社区,结束本方法;步骤11:将节点i_next标记为社区编号为cmty_total的社区的核心节点,将节点i_next从集合cmty_non中删除,并加入到集合cmty_confir中;将编号为cmty_total的社区作为当前所要构建的社区,转步骤4执行。 |