本申请涉及互联网区域,特别是涉及一种基于nsga-ii算法的互联网络关键区域识别方法及装置。
背景技术:
1、随着移动互联网技术的快速发展,网络安全问题越来越受到更多人的关注,网络关键区域是指网络中的一片连通区域,攻击该区域会对网络性能造成重大影响,为了加强网络安全,需要设计一种网络关键区域识别方法。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够实现网络关键区域识别的基于nsga-ii算法的互联网络关键区域识别方法及装置。
2、一种基于nsga-ii算法的互联网络关键区域识别方法,所述方法包括:
3、对待识别的互联网络进行建模,得到网络图;网络图包括节点集、边集和子图;节点集包括关键区域节点集和连通节点集;
4、根据关键区域节点集和连通节点集设置第一目标函数;利用关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数;根据第一目标函数和第二目标函数构建网络关键区域识别目标函数;
5、根据nsga-ii算法对网络关键区域识别目标函数进行求解,对网络关键区域进行编码,将节点作为基因,关键区域作为染色体,根据预先设置的约束条件随机生成多个初始种群,对初始种群进行非支配排序、选择运算、交叉运算和变异运算,在达到预先设置的进化代数时输出精英个体种群;对精英个体种群进行快速非支配排序、拥挤距离计算、选择运算、交叉运算和变异运算,在达到预先设置的迭代次数后,输出非支配的关键联通区域解集,非支配的关键联通区域解集中的每个解对应一个关键联通区域。
6、在其中一个实施例中,根据关键区域节点集和连通节点集设置第一目标函数,包括:
7、根据关键区域节点集和连通节点集设置第一目标函数为
8、
9、其中,n为节点集总节点数,k为移除的关键区域节点集的节点数,p为移除关键区域后剩余图的连通分量个数,对每个连通分量i,mi表示连通节点集的节点数,为连通节点对数,为在原图中删除关键区域节点后所剩的n-k个节点之间最大的联通对数。
10、在其中一个实施例中,利用关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数,包括:
11、利用关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数为
12、
13、其中,n为节点集总节点数,k为移除的关键区域节点集的节点数,dij为关键区域中的节点i到网络中各节点j的距离。
14、在其中一个实施例中,预先设置的约束条件包括初始解中的节点不重复、初始解一定是连通子图以及初始解不能重复。
15、在其中一个实施例中,对精英个体种群进行快速非支配排序、拥挤距离计算、选择运算、交叉运算和变异运算,在达到预先设置的迭代次数输出最终解,包括:
16、对精英个体种群进行快速非支配排序,根据父代种群产生子代种群,合并父代种群和子代种群,再根据精英个体种群中个体之间的支配关系将当前精英个体种群分层,得到多个不同层级的种群,将种群按照分层排序,计算每个个体的拥挤度距离,按照每个目标上的方向其中将种群中第一个和最后一个个体的拥挤度距离赋为无穷大。
17、在其中一个实施例中,选择运算的过程包括:利用选择算子对种群采取锦标赛随机挑选两个个体,首先比较个体所在层数,优先选取层数小的个体,若层数相同,则比较拥挤度距离,优先选择拥挤度距离大的个体,若所在层数和拥挤度距离都相同,则随机选择一个个体作为选择结果。
18、在其中一个实施例中,交叉运算的过程包括:生成一个0到n-1之间随机整数rand1,其中,n表示关键区域节点集的节点数;对于两个待交叉的解a与解b,将a的元素序号在rand1之后的数,包括rand1,与b在rand1之后的数交换,得到两个新解a`与b`,若交叉后的两个解a`与b`中有重复节点,去掉重复的节点;若交叉后的a`与b`是不连通的,根据节点补全机制将新解a`与b`中节点数补充至能够连通,得到交叉结果。
19、在其中一个实施例中,节点补全机制的过程包括:筛选出当前解对应的网络关键区域的所有邻居节点,从所有邻居节点中随机选取一个节点加入关键区域中,再次检测区域节点数是否等于关键区域节点集的节点数,若等于,则退出节点补全过程,若不等于,则再将当前网络关键区域的邻居节点全部检测出并随机选取一个节点加入关键区域中,直到关键区域中的节点个数等于关键区域节点集的节点数为止。
20、在其中一个实施例中,变异运算的过程包括:随机选取一个0到1之间的随机数rand2,若rand2小于设定好的变异概率,则对当前解进行变异,否则不变异;变异时,随机生成一个0到n-1的随机整数rand3,其中,n表示关键区域节点集的节点数;将解中序号为rand3的元素随机变为其他元素的某个邻居节点,得到变异后的新解,若变异后的新解中有重复节点,去掉重复的节点;若变异后的新解是不连通的,根据节点补全机制将变异后的新解中节点数补充至能够连通,得到变异结果。
21、一种基于nsga-ii算法的互联网络关键区域识别装置,所述装置包括:
22、网络建模模块,用于对待识别的互联网络进行建模,得到网络图;网络图包括节点集、边集和子图;节点集包括关键区域节点集和连通节点集;
23、设置目标函数模块,用于根据关键区域节点集和连通节点集设置第一目标函数;利用关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数;根据第一目标函数和第二目标函数构建网络关键区域识别目标函数;
24、关键区域识别模块,用于根据nsga-ii算法对网络关键区域识别目标函数进行求解,对网络关键区域进行编码,将节点作为基因,关键区域作为染色体,根据预先设置的约束条件随机生成多个初始种群,对初始种群进行非支配排序、选择运算、交叉运算和变异运算,在达到预先设置的进化代数时输出精英个体种群;对精英个体种群进行快速非支配排序、拥挤距离计算、选择运算、交叉运算和变异运算,在达到预先设置的迭代次数后,输出非支配的关键联通区域解集,非支配的关键联通区域解集中的每个解对应一个关键联通区域。
25、上述基于nsga-ii算法的互联网络关键区域识别方法及装置,首先对网络关键性度量指标进行相关关系分析设置优化目标,根据关键区域节点集和连通节点集设置第一目标函数;利用关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数;根据第一目标函数和第二目标函数构建网络关键区域识别目标函数,然后利用nsga-ii算法对网络关键区域识别目标函数进行求解,通过将种群分为多个层次,每个层次中的个体都是非支配的,然后通过交叉和变异操作来产生新的个体,以不断优化每个层次中的个体来得到非支配的关键联通区域解集,本申请能够在复杂环境下高效识别出网络中的关键区域,有利于提高网络的安全性,对互联网的病毒预防具有现实意义。
1.一种基于nsga-ii算法的互联网络关键区域识别方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述关键区域节点集和连通节点集设置第一目标函数,包括:
3.根据权利要求1所述的方法,其特征在于,利用所述关键区域节点集和关键区域中节点到网络图中各节点的距离设置第二目标函数,包括:
4.根据权利要求1所述的方法,其特征在于,所述预先设置的约束条件包括初始解中的节点不重复、初始解一定是连通子图以及初始解不能重复。
5.根据权利要求1所述的方法,其特征在于,对精英个体种群进行快速非支配排序、拥挤距离计算、选择运算、交叉运算和变异运算,在达到预先设置的迭代次数输出最终解,包括:
6.根据权利要求5所述的方法,其特征在于,所述选择运算的过程包括:
7.根据权利要求5所述的方法,其特征在于,所述交叉运算的过程包括:
8.根据权利要求7所述的方法,其特征在于,所述节点补全机制的过程包括:筛选出当前解对应的网络关键区域的所有邻居节点,从所有邻居节点中随机选取一个节点加入关键区域中,再次检测区域节点数是否等于关键区域节点集的节点数,若等于,则退出节点补全过程,若不等于,则再将当前网络关键区域的邻居节点全部检测出并随机选取一个节点加入关键区域中,直到关键区域中的节点个数等于关键区域节点集的节点数为止。
9.根据权利要求5所述的方法,其特征在于,所述变异运算的过程包括:随机选取一个0到1之间的随机数rand2,若rand2小于设定好的变异概率,则对当前解进行变异,否则不变异;变异时,随机生成一个0到n-1的随机整数rand3,其中,n表示关键区域节点集的节点数;将解中序号为rand3的元素随机变为其他元素的某个邻居节点,得到变异后的新解,若变异后的新解中有重复节点,去掉重复的节点;若变异后的新解是不连通的,根据节点补全机制将变异后的新解中节点数补充至能够连通,得到变异结果。
10.一种基于nsga-ii算法的互联网络关键区域识别装置,其特征在于,所述装置包括: