基于层级流介数的指控网络关键节点识别方法与流程

文档序号:12133807阅读:641来源:国知局
基于层级流介数的指控网络关键节点识别方法与流程

本发明涉及一种指控网络关键节点识别方法,具体说是一种基于层级流介数的指控网络关键节点识别方法。



背景技术:

信息化条件下的指控网络通过物理通信网络连接形成各种非线性逻辑关系,网络结构具有非线性、层次性及适应性等复杂网络特征。在信息化时代,指挥控制系统是形成作战能力的核心,已成为战争主导权争夺的焦点,也是敌我双方攻击的首要目标。大量研究表明指控网络具有复杂网络的无标度特性,当指控网络受到蓄意攻击时,网络显得异常脆弱,尤其是网络关键节点受到攻击后,极易造成整个网络的瘫痪。因此,如何识别关键节点并加以保护,使得指控网络具有更强的抗攻击能力显得尤其重要。但是目前已的有关键节点算法存在一定的局限性,无法满足指控网络关键节点识别的需求。

传统关键节点识别算法主要有度、中心度、特征向量、介数和近似流介数,但都有其局限性,例如:基于度分布的关键节点识别方法侧重于边的数目,算法简单、准确性差;基于接近度的关键节点识别方法,依据节点在拓扑结构中的位置来度量接近度,对网络拓扑结构的依赖性强,难以适应指控网络拓扑动态变化的需求;特征向量关键节点识别方法计算过程需要求解邻接矩阵的特征向量,算法复杂度较大,网络节点规模较大时识别速度较慢;基于介数的关键节点识别方法,识别精度高,但算法复杂度高;近似流介数作为关键节点识别的方法,算法的复杂度得到大幅降低,识别精度相对准确,但对指控网络的适用性较差,不适用于指挥控制网络。

鉴于上述关键节点识别算法的复杂度、精度和算法适用性的问题,已有关键节点识别方法不能直接应用于指控网络。所以,有必要提出一种新的适用于指控网络的关键节点识别方法,以解决指控网络关键节点识别问题。



技术实现要素:

针对现有技术存在的上述问题,本发明提供了一种基于层级流介数的指控网络关键节点识别方法,该方法可以降低算法复杂度,提高关键节点识别精度,更加适用于指控网络关键节点识别的需要。

为实现上述目的,本发明的技术方案是:一种基于层级流介数的指控网络关键节点识别方法,具体步骤如下:

S1:建立指控网络模型;

S2:计算指控网络中各个节点的层级流介数;

S3:根据节点层级流介数值区分节点关键程度。

进一步的,建立指控网络模型具体是:将指挥实体抽象成节点,实体之间的关系抽象成边,建立指控网络模型,得出网络拓扑图,并用G=(V,E)来描述,有n个节点,m条边,V={v1,v2,v3,…,vn}表示节点集合,E={e1,e2,e3,…,em}代表边的集合。G的邻接矩阵为A=[aij],A中元素aij定义为:

进一步的,计算指控网络中各个节点的层级流介数的步骤具体是:

a:初始化指控网络模型,整个网络中每次仅有单个节点发送信息,其他节点接收信息,初始化的每个节点信息量为单位1(H0(vi)=1),

H0=[1,1,…,1,1]N

其中N为节点个数;

b:信息游走过程中,若节点vj的度为kj,那么与节点vj直接相连的任意一个节点vi接收到信息量均为1/kj,同时vj节点的信息量置零,经过1次迭代后,节点vi拥有的信息量为:

Hn(vi)=Hn-1(vj)/kj n=0,1…,D

其中,迭代过程中i≠j,Hn-1(vj)为节点vj前一次迭代后拥有的信息量,n为第n次迭代,且迭代次数不大于网络层级D;

c:假定A为所有与vi节点直接相连的节点集合,则在n次信息流动后,遍历集合A得到节点vi拥有信息量为Hn(vi):

(n=1,2,…,D)且vj∈A

d:统计指控网络每个节点在D次信息传播后收集的信息总量,即得到每个节点的层级流介数,可得:

HD=[HD(1),HD(2),…,HD(N)]。

进一步的,对步骤d对中各元素进行归一化处理:

经过归一化每个节点最终信息总量可以得到节点关键度矩阵H,

进一步的,矩阵H为所有节点的关键程度的集合,按照数值大小为矩阵H排序,数值越大则节点越关键,指控网络中的最关键的节点即为矩阵H中最大值所对应的节点。

更进一步的,上述方法还包括:S4:确定识别精度的步骤,具体为:对指控网络模型进行蓄意攻击,分别逐个删除根据介数、近似流介数、层级流介数和特征向量算法识别出的关键节点,并利用最大连通子图比值和网络效率这两个指标来衡量删除关键节点对指控网络的影响,进而对比不同算法的识别精度。

更进一步的,不同算法识别出的关键节点受到蓄意攻击后,网络效率的计算公式如下:

其中,dij表示节点i与j之间的最短路径长度,N为指控网络节点总数;所述网络效率反映的是指控网络遭到蓄意攻击之后任意节点间的距离疏远程度,网络效率值越大,网络性能越好。

本发明由于采用以上技术方法,能够取得如下的技术效果:该方法可以降低算法复杂度,提高关键节点识别精度,更加适用于指控网络关键节点识别的需要。

附图说明

为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是指控网络模型,将指挥实体抽象成节点,实体之间的关系抽象成边,且不同的边代表不同的联系,包括指挥关系和协同关系。其中,指挥关系有逐级指挥和越级指挥两种,协同关系有内部协同和外部协同两种。构建的指控网络模型节点数量为N=341,指挥层次为4。

图2是信息游走网络拓扑图;

图3是信息游走情况与节点信息量对应图;图中节点v1发送单位1信息后,自身信息量置零,节点v1邻居节点v2和v3平分单位1的信息量,是游走一次后各个节点信息量;然后节点v2和v3再分别作为信息源,发送自身信息给邻居,依此类推,经过D=4次信息传递后,最终网络中各个节点所有收集到的信息总量为当v1节点发送完成,再依次使v2,v3,……,vN作为初始发送节点,统计最终网络中所有节点收集到的信息总量;

附图4是层级流介数计算流程图。

附图5是基于层级流介数的关键节点识别算法流程图。

附图6是不同算法的复杂度比较示意图。

附图7为最大连通子图比值随关键节点移除变化的仿真图。

附图8为网络效率随关键节点移除变化的仿真图。

具体实施方式

为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

指控网络中各类节点的异质性使得流经节点的信息量各异,识别流经信息量大的节点并加以保护,即保护关键节点,是增强指控网络鲁棒性的重要方法。基于介数的关键节点识别方法作为行之有效的识别方法,通过计算节点最短路径的比例来衡量该节点的关键度。近似流介数方法在算法复杂度上有所改善,主要思想为任意一个节点产生的信息经过网络直径(dia)次传播能够覆盖到整个网络,利用节点最终接收到的信息量占网络信息总量的比重来衡量节点的重要程度。而指控网络由严格的层级性,指挥所内部各节点的互联互通使得作战信息在同一指挥所内部可以立即共享,即信息到达指挥所内的某个节点后,指挥所内部的其他节点可以立即共享到该信息。同时,由信息游走可以看出,信息量随着随机游走次数的增多而大幅下降,游走到一定次数后,最后几次游走的信息量对最终结果几乎无影响,这样在保证算法的精度的基础上,可以通过减少游走次数来降低算法复杂度。结合指控网络的层级性,任意一个节点产生的信息经过层级数次(D)次传播能够覆盖到整个网络,遍历网络中所有节点,每次只有一个节点发送消息,其它节点接收消息,节点最终接受到的信息量就是节点的层级流介数,并以节点的层级流介数来衡量节点的重要程度。首先给出如下假设与定义。

假设1:假设一个节点vj产生一条信息,经过D次传播后该信息遍布整个指控网络,其中D为指控网络的层级数。

定义1:层级数,按照作战部队编成,将现役部队分成的军(师)、旅(团)、营、连等指挥层级的数量称为层级数。通常为4级,也会根据作战任务的需要调整指挥层级的数量。

实施例1

一种基于层级流介数的指控网络关键节点识别方法,具体步骤如下:

S1:建立指控网络模型;将指挥实体抽象成节点,实体之间的关系抽象成边,建立指控网络模型,得出网络拓扑图,如图1所示,并用G=(V,E)来描述,有n个节点,m条边,V={v1,v2,v3,…,vn}表示节点集合,E={e1,e2,e3,…,em}代表边的集合。G的邻接矩阵为A=[aij],A中元素aij定义为:

S2:计算指控网络中各个节点的层级流介数,层级流介数作为衡量网络节点重要性的指标;具体步骤是:

a:初始化指控网络模型,整个网络中每次仅有单个节点发送信息,其他节点接收信息,初始化的每个节点信息量为单位1(H0(vi)=1),如下式所示;

H0=[1,1,…,1,1]N

其中N为节点个数;

b:信息游走过程中,若节点vj的度为kj,那么与节点vj直接相连的任意一个节点vi接收到信息量均为1/kj,同时vj节点的信息量置零,信息游走示意图如图2、3所示,经过1次迭代后,节点vi拥有的信息量为:

Hn(vi)=Hn-1(vj)/kj n=0,1…,D

其中,迭代过程中i≠j,Hn-1(vj)为节点vj前一次迭代后拥有的信息量,n为第n次迭代,且迭代次数不大于网络层级D;

c:假定A为所有与vi节点直接相连的节点集合,则在n次信息流动后,遍历集合A得到节点vi拥有信息量为Hn(vi):

(n=1,2,…,D)且vj∈A

d:统计指控网络每个节点在D次信息传播后收集的信息总量,即得到每个节点的层级流介数,可得:

HD=[HD(1),HD(2),…,HD(N)]。

作为优选的,对步骤d对中各元素进行归一化处理:

经过归一化每个节点最终信息总量可以得到节点关键度矩阵H,

S3:根据节点层级流介数值区分节点关键程度。即矩阵H为所有节点的关键程度的集合,按照数值大小为矩阵H排序,数值越大则节点越关键,指控网络中的最关键的节点即为矩阵H中最大值所对应的节点。

实施例2

本实施例作为对实施例1的补充:

将本发明提出关键节点识别方法与已有特征向量、介数、流介数的计算复杂度和识别精度进行对比。

1)算法复杂度对比

基于层级流介数的指控网络关键节点识别方法的核心是节点层级流介数的计算,该关键节点识别算法的时间复杂度等价于层级流介数算法的复杂度。以下是基于介数、流介数和层级流介数算法复杂度的对比。

指控网络直径(dia)定义为网络中节点之间最短距离的最大值:网络中任意一个节点对之间都有一条最短距离,在最短距离中有最大值和最小值,最大值就是网络直径。计算公式如下:

其中,dij为节点vi和节点vj之间边数最少的路径的跳数,i,j∈[1,N]且i≠j。

介数的计算复杂度为o(N3),近似流介数的算法复杂度为o(dia×N2)。由算法流程可得层级流介数算法的复杂度约为o(D×N2),特征向量算法中特征值的计算复杂度已经达到了o(N3),故特征向量的算法复杂度比介数的算法复杂度还要大,约为o(N4)。四种算法复杂度对比如表1和图6所示。

表1算法复杂度对比

表中,D为指控网络层级,dia为指控网络直径,N为指控网络总节点数。

从图6中可以看出,层级流介数和近似流介数的算法复杂度明显低于介数和特征向量的算法复杂度,且层级流介数的算法复杂度也比近似流介数减少了一半。也就是说,从算法的复杂度上可以看出层级流介数的优势。

2)算法精度对比

针对上述构建的指控网络模型分别采用特征向量、介数、近似流介数和本文提出的层级流介数识别出关键节点,实验结果如表2(注:仅为部分数据)。

通过仿真数据对比分析得出:近似流介数与本文层级流介数识别结果基本相同,即两种识别算法的精度相差不大;而介数与本文识别结果略有出入。

表2四种算法关键节点识别结果比较

实施例3

为了进一步分析关键节点识别方法的准确性,本方法还包括步骤S4:确定识别精度的步骤,对指控网络模型进行蓄意攻击,分别逐个删除根据介数(Betweenness)、近似流介数(Approximation Flow Betweenness)、层级流介数(Level Flow Betweenness)和特征向量(Eigenvector)算法识别出的关键节点,并利用最大连通子图比值和网络效率这两个指标来衡量删除关键节点对指控网络的影响,进而对比不同算法的识别精度。

图7为不同算法识别出的关键节点受到蓄意攻击后,网络中最大连通子图节点数占指控网络总节点的比值S的变化趋势。横坐标为关键节点移除数量,纵轴为最大连通子图,图中曲线表示移除不同算法识别的关键节点后网络性能。网络最大连通子图节点比例计算公式如下:

其中,Nm为最大连通子图的节点数目,N为指控网络节点总数。

从图7中得到的结果可以看出,在宏观上,特征向量算法的准确度较差,其他三种算法的精确度差别不大;但从微观上来说,本文算法识别出的关键节点在遭受蓄意攻击时,指控网络的最大连通子图比值最先降低到10%。

图8为不同算法识别出的关键节点受到蓄意攻击后,指控网络的网络效率变化示意图,网络效率的计算公式如下:

其中,dij表示节点i与j之间的最短路径长度,N为指控网络节点总数。网络效率反映的是指控网络遭到蓄意攻击之后任意节点间的距离疏远程度,网络效率值越大,网络性能越好。

图7和图8分别从最大连通子图和网络效率这两个方面说明层级流介数算法的识别精度优于其他几种算法。该方法应用于指控网络,不仅能够降低算法复杂度,也能够准确识别关键节点。

特别需要指出,对于本领域中研究指控网络关键节点识别的研究人员来说,在流介数的基础上,只是减少信息游走次数,或者将信息游走次数设置为网络直径的一半而改进的流介数方法都属于层级流介数的计算范畴,依此来识别指控网络关键节点的方法仍然包含在本发明申请专利范围所主张的范围中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1