一种动态复杂网络社区多目标划分方法技术

技术编号:13016026 阅读:57 留言:0更新日期:2016-03-16 15:29
一种动态复杂网络社区多目标划分方法,包括:第一步,从文件中读入初始状态下即t=1时刻的网络结构;将模块度作为优化的第一个指标,产生一个网络G1的初始聚类初始聚类中的每个是聚类中的第i个社区;第二步,从文件中读出t=2,…,T时刻的网络图结构,对于每个时间戳t时刻的网络结构同时优化其模块度和标准化互信息值;第三步,对于第二步所得到的种群的所有个体,比较种群中个体的模块度,返回具有最高模块度的Pareto前沿的解集合得到第t个时间戳下的最佳社区划分结果;第四步,对每一个时间戳的取值t=2,…,T,重复以上操作步骤二和步骤三,直到所有的时间戳均获得必要的划分,即t=T。

【技术实现步骤摘要】

本专利技术属于计算机领域,涉及动态网络社区划分方法,可用于进行动态复杂网络 中的社区划分。
技术介绍
关于复杂网络的社区发现是近年的前沿研究热点。对复杂网络的大量研究表示真 实的网络存在社区结构。社区内节点的连接相对比较紧密而社团间的节点之间的连接则相 对稀少。复杂网络的社区发现和动态网络的社区演化问题在其中作为重要的研究内容也有 着其艰巨的研究任务。 专利公开了一种基于免疫克隆多目标优化的网络社区划分方 法。该方法虽然解决了多目标的网络社区划分方法,但是解决的是静态网络社区划分的 问题。论文虽然解决了动态复杂网络的问题, 但是其采用的表达方式是基于遗传算法的方法,在解码时比较麻烦,其个体表示方法不够 直观。因此,采用直观的表示方法,求解动态复杂网络,并同时具有表达重叠和非重叠社区 能力的多目标社区划分方法,仍然是一个未解决的问题。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足。提出一种基于基因表达式编程的多 目标优化的动态网络社区划分方法,以提高对动态社区的划分的准确性,及表达方式的直 观性。 本专利技术是,其特征在于,包括以下具体步 骤: 第一步,从文件中读入初始状态下即t= 1时刻的网络结构;将模块度作为优化的 第一个指标,产生一个网络匕的初始聚类Cii1-丨(^,^广^^^初始聚类中的每个^是聚 类中的第i个社区; 第二步,假设动态网络共有T个不同的时间节点。从文件中读出t= 2,…,T时刻 的网络图结构,对于每个时间戳t时刻的网络结构同时优化其模块度和标准化互信息值, 具体的过程是:S21:产生一组随机线性的基因表达式编程个体,个体的头部长度不超过网络图结 构中节点的个数,尾部则是根据节点中所有的节点编号的一个随机排列;S22 :将每个种群 中的个体表示为一个树形结构,并将其转化为若干个节点的划分,产生对t时刻的网络结 构图Gt中的k个连通分量的划分= {Ci,q,…,其中CRt为t时刻的社区划分的集 合,C丨为t时刻的第k个社区; S23:计算种群中每一个个体的模块度和标准化互信息值,将这两个值作为个体的 两个适应度值; S24:采用基于非支配排序的带有精英策略的多目标优化算法对个体根据其非支 配排列给予每个个体一个排列并根据其排列对其进行排序,并产生下一代种群; S25,重复以上操作步骤S21到步骤S41,直到达到设定的代数500代; 第三步,对于第二步所得到的种群的所有个体,比较种群中个体的模块度,返回具 有最高模块度的Pareto前沿的解集合= {(:?,0,···,<匕得到第t个时间戳下的最佳社 区划分结果; 第四步,对每一个时间戳的取值t= 2, "·,Τ,重复以上操作步骤二和步骤三,直到 所有的时间戳均获得必要的划分,即t=Τ。 进一步,所述第三步中,基因表达式编程个体的函数集F= {U}是一个并运 算,终结符取的是节点的标签,节点的标签由整数表示,有η个节点的终结符即为T= {0,1,· · ·,η_1} 〇 所述的基因表达式编程中运算符的并运算U作为一个二元运算符,可以有二个孩 子节点,其孩子节点可以是并运算U,也可以是终结符;终结符没有孩子节点;即对于一个 根节点是并运算U的基因而言,其孩子可以是并运算U,可以是终结符即网络中的节点标 签,对于并运算U的节点而言,其两个孩子分支可以递归地使用本规则,对于终结符而言, 该分支终止。 两个并运算U之间的节点属于前一个并运算所包含的社区;其中对于非重叠社区 的社区划分时,网络中的每个节点都必须要出现且仅出现一次在染色体个体中,每个基因 本身不含重复的节点,基因和基因的元素集合之间不能有交集。对于重叠社区挖掘,所述的 染色体个体中的每个基因编号可以出现多次,这意味着一个节点允许包含在多个社区中; 即允许出现重叠社区的情况。 多个连续的U可以简化为一个U。 步骤S24中使用基于非支配排序的带有精英策略的多目标优化算法时,在快速非 支配排序中各个目标函数的值的计算可以并行执行以此来缩短执行时间;该方法在是现实 采用并发容器来作为缓存,可以发现在计算的过程中会有很多重复的计算操作,引入缓存 可以大量减少重复计算提高效率,以空间换时间,可提高计算的效率。【附图说明】 图1为本专利技术的流程图; 图2为本专利技术的基因表达式编程树形结构; 图3为用本专利技术的社区划分结果示例; 具体实施方案 本专利技术是,包括以下具体步骤: 第一步,从文件中读入初始状态下即t= 1时刻的网络结构。将模块度作为优化 的第一个指标,产生一个网络匕的初始聚类01={(:11,0,一,6丨 1初始聚类中的每个(::1是 聚类中的第i个社区。 第二步,假设动态网络共有T个不同的时间节点。从文件中读出t= 2,…,T时刻 的网络图结构,对于每个时间戳t时刻的网络结构同时优化其模块度和标准化互信息值, 具体的过程是:S21:产生一组随机线性的基因表达式编程个体,个体的头部长度不超过网络图结 构中节点的个数,尾部则是根据节点中所有的节点编号的一个随机排列。S22:将每个种群中的个体表示为一个树形结构,并将其转化为若干个节点的划 分,产生对t时刻的网络结构图Gt中的k个连通分量的划分C# =Κ?,0,···,€^,其中CRt为t时刻的社区划分的集合,^为t时刻的第k个社区;S23:计算种群中每一个个体的模块度和标准化互信息值,将这两个值作为个体的 两个适应度值。S24:采用基于非支配排序的带有精英策略的多目标优化算法对个体根据其非支 配排列给予每个个体一个排列并根据其排列对其进行排序,并产生下一代种群。[当前第1页1 2 本文档来自技高网...

【技术保护点】
一种动态复杂网络社区多目标划分方法,包括以下具体步骤:第一步,从文件中读入初始状态下即t=1时刻的网络结构;将模块度作为优化的第一个指标,产生一个网络G1的初始聚类初始聚类中的每个是聚类中的第i个社区;第二步,假设动态网络共有T个不同的时间节点。则从文件中读出t=2,…,T时刻的网络图结构,对于每个时间戳t时刻的网络结构同时优化其模块度和标准化互信息值,具体的过程是:S21:产生一组随机线性的基因表达式编程个体,个体的头部长度不超过网络图结构中节点的个数,尾部则是根据节点中所有的节点编号的一个随机排列;S22:将每个种群中的个体表示为一个树形结构,并将其转化为若干个节点的划分,产生对t时刻的网络结构图Gt中的k个连通分量的划分其中CRt为t时刻的社区划分的集合,为t时刻的第k个社区;S23:计算种群中每一个个体的模块度和标准化互信息值,将这两个值作为个体的两个适应度值;S24:采用基于非支配排序的带有精英策略的多目标优化算法对个体根据其非支配排列给予每个个体一个排列并根据其排列对其进行排序,并产生下一代种群;S25,重复以上操作步骤S21到步骤S24,直到达到设定的代数500代;第三步,对于第二步所得到的种群的所有个体,比较种群中个体的模块度,返回具有最高模块度的Pareto前沿的解集合得到第t个时间戳下的最佳社区划分结果;第四步,对每一个时间戳的取值t=2,…,T,重复以上操作步骤二和步骤三,直到所有的时间戳均获得必要的划分,即t=T。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李曲贾成城
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1