[发明专利]一种基于Spark平台的多目标进化社区检测方法有效

专利信息
申请号: 201710371317.X 申请日: 2017-05-19
公开(公告)号: CN107276843B 公开(公告)日: 2020-02-07
发明(设计)人: 公茂果;陈兰强;秦晓雷;王善峰 申请(专利权)人: 西安电子科技大学
主分类号: H04L12/26 分类号: H04L12/26;G06Q50/00
代理公司: 61200 西安通大专利代理有限责任公司 代理人: 徐文权
地址: 710065 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 spark 平台 多目标 进化 社区 检测 方法
【权利要求书】:

1.一种基于Spark平台的多目标进化社区检测方法,其特征在于,包括以下步骤:

步骤1:读入待社区划分的网络邻接表,并初始化种群,利用节点数据集count函数,求出网络节点总数记为|V|;网络邻接表是网络数据的一种存储方式,邻接表中节点成对存在,表示这对节点有边连接;具体方法如下:

步骤1-0:利用Hadoop分布式平台的文件管理,将待检测的网络邻接表保存到分布式文件存储系统;

步骤1-1:利用Spark平台的图模型库GraphX通过读取网络的邻接表创建graph网络对象;

步骤1-2:利用标签传播算法,初始化网络的节点属性,并利用随机函数生成种群,种群大小记为popSize;

步骤1-3:利用节点数据集count函数求出网络节点总数;

需要说明的是:graph对象包含VertexRDD[VertexId,VD]节点数据集、EdgeRDD[ED]网络边数据集;其中VertexId即节点的id、VD为节点的属性,且成对存在,ED是网络边的属性;初始化后,节点的社区划分存储在节点属性VD中;对于种群而言,节点属性VD被扩展为数组,数组长度为种群中个体的数量,该数组记为popArray;

步骤2:每个节点收集由该节点参与构成的三角结构信息,以及该节点的度;具体方法如下:

步骤2-0:利用图模型GraphX的消息分发聚合机制收集节点的相邻节点id,组成相邻节点id表,记为ListIds;

步骤2-1:求步骤2-0中得到的ListIds长度,即得到该节点的度d,并存入节点属性VD中;

步骤2-1:在利用消息分发聚合机制,检查消息分发的源节点与目标节的ListIds是否有相同的id,及是否有相同的邻接点,有则表示能够构成三角结构,向目标节点发送该相邻节点的id,在目标节点的节点属性VD中存入该三角结构,节点能够组成的三角结构记为ListTriangles;

步骤2-2:经以上步骤,节点属性VD变为三元组:(popArray,d,ListTriangles);popArray表示种群在该节点的社区划分,d为节点的度,ListTriangles为该节点可组成的三角结构;

步骤3:计算种群每个个体的目标函数值,复制初始种群中的个体到当前个体的最好社区划分记录,记为Pbest,并记迭代次数i=0;目标函数公式如下:

其中i是节点编号,V是网络中所有节点的集合,Sj是V的一个子集来代表一个社区,t(i,S)表示节点i与社区S内的点构成的三角结构数量,d表示节点i的度,|V|为集合V中节点的个数;特别的,公式(1)中节点i是社区Sj中与其他社区相连接的点;

公式(1)用来表示社区间的联系紧密度,其值越大代表社区间的联系越稀疏;公式(2)表示社区内节点的联系紧密度,其值越大代表社区内节点联系越紧密;

所述步骤3的具体方法如下:

步骤3-0:利用图模型GraphX的消息分发聚合机制收集相邻节点的popArray,按位找出该节点i在其所属社区S中可构成的三角数t(i,S);

步骤3-1:判断节点i是否与其他社区的节点相连,若果是则onBound=1,否则onBound=0;

步骤3-2:在该节点为每一个个体,分别计算记为td,如果在步骤3-1被onBound=1,计算记为tv,否则tv=0;

步骤3-3:利用reduce函数对节点数据集的td、tv以及onBound进行求和,onBound的和记为M;

步骤3-4:对于每个个体,

步骤3-5:复制初始种群中的个体到个体当前个体的最好社区划分记录,记为Pbest,记迭代次数i=0;

步骤4:通过交叉变异产生新个体,并计算新个体的目标函数值,具体方法如下:

步骤4-0:将步骤3中求出的目标函数值,利用广播的方式,广播到每一个分布式集群的子机上;

步骤4-1:在种群中正负5个范围内,随机选出每个个体的Gbest;

步骤4-2:对于每个节点,取0到1内的随机值,与交叉概率比较,如果小于则执行步骤4-3,如果大于则跳转到步骤4-4;

步骤4-3:根据公式(3),为每个个体计算Pbest及Gbest的边界交叉聚合d的值gbip,分别记为PbestG,GbestG;

步骤4-3-1:取0到1内的随机值,与PbestG/(PbestG+GbestG)比较,如果大于则将PbestG的社区id赋给该个体,否则将Gbest的社区id赋给该个体;

步骤4-4:取0到1内的随机值,与变异概率比较,如果小于则个体保持不变,否则该节点在popArray中选取一个需要变异的个体;

步骤4-4-1:如果该节点有需要变异的个体,则利用消息分发聚合机制,收集相邻节点的在该个体处的社区划分;

步骤4-4-2:从收集到的社区划分中随机选出一个赋给该节点的变异个体;

步骤4-5:利用步骤3中求目标函数值的方法,求出新生的个体函数值;

步骤5:通过基于边界交叉方式的分解策略来选择新一代种群,更新当前个体的最好社区划分记录;

步骤6:如果迭代次数i<iMax,则i=i+1,并跳转到步骤4,否则跳转到步骤7;

步骤7:输出多目标进化的社区发现结果。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710371317.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top