一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于有界渗流-贪心算法的病毒传播控制方法与流程

2022-03-26 14:33:17 来源:中国专利 TAG:


1.本发明属网络信息分析技术领域,具体涉及一种基于有界渗流-贪心算法的病毒传播控制方法。


背景技术:

2.网络能够模拟复杂系统内部的交互情况,其中,节点表示系统中的个体,连边表示个体间的交互联系。网络的应用有益于研究系统全局属性。网络能够测试各种人为措施用于现实系统的效果,为控制、预测、优化、重建现实系统提供最优解决方法。
3.网络分解问题指针对给定网络识别一组关键节点,这组关键节点的移除能够最大程度地分解网络。网络分解能够有效地反映、分析现实情况,例如,相比于平均场假设下的扩散系统,网络扩散系统更能表征病毒的传播模式;通过识别关键节点、分解病毒传播网络,一定程度上能够解决以下问题:1)控制病毒传播时,哪类人群需要被优先隔离?2)受资源约束,疫苗数量有限,哪类人群应该优先注射疫苗?3)应该重点关注哪些场所?另一方面,关键节点主导了病毒传播系统的动态发展,识别关键节点可以帮助找到病毒传播的扩散源头,节约计算资源。
4.网络分解问题已被证明是一个np困难(non-deterministic polynomial-timehardness)问题。网络分解方法具体分为以下四类:1)基于局部信息的方法:这类方法无需已知网络拓扑结构,从网络中随机移除节点实现网络分解,通常不够高效。继而衍生出熟人算法,通过随机选取一组节点,移除这组节点的其中一个邻居节点实现网络分解,其效率往往低于基于节点中心性的方法。2)基于节点中心性的方法:利用节点指标如度中心性、特征向量中心性、pagerank、介数中心性、katz中心性等,计算节点重要性,选取重要性高的节点作为关键节点。度中心性方法认为,度数越高的节点重要性越高。特征向量中心性方法认为,与重要节点相连的节点也是重要节点,因此节点的中心性通过将其邻居的中心性相加得到。3)启发式方法:在移除重要性最高的节点后,其原有邻居节点的度数将会减小。在基于节点中心性的方法基础上,启发式方法在每次移除节点后,重新计算剩余网络中的节点重要性,并再次移除重要性最高的节点。4)间接方法:间接方法能更加有效地分解网络。基于去环的方法包括信念传播导向法、最小值求和及反向贪心方法,通过解决去环问题中的反馈顶点集问题,可以实现网络分解。基于图分割的方法通过近似策略实现谱二分,并根据谱二分的最小顶点覆盖绘制顶点分隔符,但这一方法直接考虑整个网络,不够高效。finder方法基于图神经网络和强化学习来解决网络分解问题,因其基于图神经网络,理论上是一种考虑局部网络的方法。
5.应用上述方法实现网络分解,需要移除较多节点。在实际应用场景中,特别是在资源匮乏的地区,用于控制病毒传播的资源有限,无法给过多人群接种疫苗、实施隔离防护,不能关闭过多场所,因此难以实现病毒传播控制。
6.上述方法的应用效率不是很高,特别是在大型网络之中。对于大规模的网络数据,部分方法计算时间过长或超出内存限制,难以解决网络分解问题,例如基于图分割的 gnd
方法。在实际中,面对病毒传播的大规模暴发,需要兼顾各方实时信息,快速响应开展防控;而以上方法难以应用于实际中的大型网络,难以实现病毒传播的快速响应。


技术实现要素:

7.为了克服现有技术的不足,本发明提供一种基于有界渗流-贪心算法的病毒传播控制方法。首先,提取目标网络信息,了解目标网络节点及连边属性;然后,基于渗流理论,在目标网络上不断占据特定节点,实现移除关键节点的逆向过程;每次占据使目标函数最小的节点,限制最大连通分量的大小和剩余网络节点度数,控制病毒传播;设置关键指标界值,当所有候选节点的关键指标超出界值时,更新界值以占据更多候选节点;最后,利用序参量、网络韧性表示控制病毒传播的效果。本发明可以实现大型网络的快速高效分解,从而及时控制病毒传播,降低其造成的损失。
8.一种基于有界渗流-贪心算法的病毒传播控制方法,其特征在于步骤如下:
9.步骤1:输入参与病毒传播人群相关数据,包括个体信息、个体数量、个体之间的联系及传播病毒的概率,以病毒传播人群数据中的个体为节点,个体之间的联系为边,个体之间传播病毒的概率为边的权重,构建得到与病毒传播人群数据对应的病毒传播网络g(n,m),网络的点集合为n,边集合为m,节点v和w之间的边权重为β
vw

10.步骤2:将病毒传播网络中所有节点初始化为未占据状态,构成未占据节点集合 nr(t);构建候选节点集合nc(t),初始为未占据节点集合nr(t)的任意子集,其节点数满足y≤n,n为初始网络的点集合n中包含的节点数量;构建已占据节点集合no(t),初始为空集;所有边初始化为未占据状态,构成未占据边集合mr(t);构建已占据边集合mo(t),初始为空集;t表示从开始控制病毒传播后的每个时刻,初始时t=0,占据节点序列sr(t)为空序列;设置关键指标界值初始为1,暂存值初始为1;
11.步骤3:在t时刻,选取候选节点集合nc(t)中使目标函数ψ(u)最小的节点,将该节点的状态转化为占据状态,若同时存在多个使目标函数ψ(u)最小的节点,随机选择其中一个节点转化为占据状态;然后,将该节点从未占据节点集合nr(t)、候选节点集合nc(t)中删去,添加至已占据节点集合no(t)中,并添加至占据节点序列sr(t)的末尾;若两个相邻节点均为占据状态,则将这两个节点之间的边转化为占据状态,将该边从未占据边集合mr(t)中删去,添加至已占据边集合mo(t)中;
12.步骤4:当t时刻候选节点集合nc(t)中所有节点的关键指标i超过关键指标界值时,转至步骤5;否则,t=t 1,返回步骤3;
13.步骤5:若从上次更新关键指标界值至当前时刻t,网络中选取了至少一个节点转为占据状态,则令关键指标界值更新为α
×
mini,再暂存值更新为新的否则,关键指标界值更新为再暂存值更新为新的
14.更新结束后,判断t是否大于节点个数n,如果是,以此时得到的占据节点序列 sr(t)为最终的占据节点序列,转至步骤6,否则,t=t 1,返回步骤3;所述的α为更新参数,α>1;
15.步骤6:将所有节点再次转化为未占据状态,按占据节点序列sr(t)内部顺序将节
点依次转化为占据状态;每进行一次节点状态转化,计算一次序参量ga(q);当序参量第一次由0增大至非零常数时,记此时的未占据节点比例q为未占据节点比例阈值qc,未占据节点比例阈值qc代表控制病毒传播所需移除的最小节点比例,其值越小,控制病毒传播所需移除的节点比例越小;当占据节点序列sr(t)中所有节点转化为占据状态时,计算网络韧性f,网络韧性f代表病毒传播控制效果,其值越小,病毒传播控制效果越好。
16.具体地,步骤2中所述的未占据节点集合nr(t)和已占据节点集合no(t),在任意时刻交集为空,并集为点集合n;未占据边集合mr(t)和已占据边集合mo(t),在任意时刻交集为空,并集为边集合m。
17.具体地,步骤3中所述的目标函数ψ(u)设置为:
[0018][0019]
其中,对于候选节点集合nc(t)中的节点u,ψ(u)表示目标函数值,i(u)表示节点u 的关键指标值;是关于节点u的函数,对于任意满足的节点u,设置为一个相等的有限数值。
[0020]
具体地,步骤4中所述的关键指标i设置为节点的外部度数,计算公式为:
[0021][0022]
其中,表示节点u的外部度数,c(u)为节点u转为占据状态后所在的连通分量, v表示连通分量c(u)中的节点;kv为节点v在初始网络g(n,m)中的度数,kv'为节点v在已占据网络g(no(t),mo(t))中的度数,所述的已占据网络g(no(t),mo(t))是指t时刻已占据节点集合no(t)中的节点和已占据边集合mo(t)中的边根据初始网络g(n,m)的结构相互连接而形成的网络;所述的连通分量为病毒传播网络的子网络;所述的节点度数为与节点相连的边的数量。
[0023]
具体地,步骤4中所述的关键指标i设置为节点的外部传播概率,计算公式为:
[0024][0025]
其中,表示节点u的外部传播概率,c(u)为节点u转为占据状态后所在的连通分量,v表示连通分量c(u)中的节点;γ(v)表示节点v的未被占据的邻居节点集合;w 表示集合γ(v)中的节点;β
vw
表示节点v和w之间的边权重。
[0026]
具体地,步骤6中得到所述的占据节点序列sr(t)的内部顺序是指病毒传播从被控制至不被控制转变的最优占据节点顺序。
[0027]
具体地,步骤6中所述的序参量ga(q)的计算公式为:
[0028][0029]
其中,q为网络中未占据节点的比例,c”max
为最大连通分量,|c”max
|为最大连通分量包含的节点数量,所述的最大连通分量为网络中未占据节点比例为q时包含节点数量最
多的子网络。
[0030]
具体地,步骤6中所述的网络韧性f的计算公式为:
[0031][0032]
本发明的有益效果是:由于采用不断占据节点的渗流过程及特定目标函数设计策略,本发明能够用于解决大型网络的快速分解问题,具有更高的网络分解效率,从而及时有效地控制病毒传播,降低其造成的损失;本发明实现网络分解,移除节点较少、病毒传播规模较小,因而控制病毒传播消耗的资源较少,在资源缺乏的情况下利用本发明控制病毒传播,理论上能够对网络起到较好的防护作用,达到节约防护成本的目的;本发明的时间复杂度和空间复杂度较低,计算效率较高,能够快速响应突发病毒传播事件;对于大规模的网络数据表现较好,适用于大型网络中的网络分解问题。
附图说明
[0033]
图1是本发明基于有界渗流-贪心算法的病毒传播控制方法流程图;
[0034]
图2是本发明的节点外部度数示意图;
[0035]
图3是在四个不同网络中采用不同方法得到序参量关于未占据节点比例的变化的结果示意图;图中,(a)-在power网络中采用不同方法得到序参量关于未占据节点比例的变化的结果示意图,(b)-在loc-gowalla网络中采用不同方法得到序参量关于未占据节点比例的变化的结果示意图,(c)-在twitter-l网络中采用不同方法得到序参量关于未占据节点比例的变化的结果示意图,(d)-在as-skitter网络中采用不同方法得到序参量关于未占据节点比例的变化的结果示意图;
[0036]
图4是在不同网络中采用不同方法的计算时间示意图。
具体实施方式
[0037]
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
[0038]
如图1所示,本发明提供了一种基于有界渗流-贪心算法的病毒传播控制方法,其具体实现过程如下:
[0039]
步骤1:输入参与病毒传播人群相关数据,包括个体信息、个体数量、个体之间的联系及传播病毒的概率,以病毒传播人群数据中的个体为节点,个体之间的联系为边,个体之间传播病毒的概率为边的权重,构建得到与病毒传播人群数据对应的病毒传播网络g(n,m),网络的点集合为n,边集合为m,节点v和w之间的边权重为β
vw

[0040]
步骤2:将病毒传播网络中所有节点初始化为未占据状态,构成未占据节点集合 nr(t);构建候选节点集合nc(t),初始为未占据节点集合nr(t)的任意子集,其节点数满足y≤n,n为初始网络的点集合n中包含的节点数量;构建已占据节点集合no(t),初始为空集;所有边初始化为未占据状态,构成未占据边集合mr(t);构建已占据边集合mo(t),初始为空集。未占据节点集合nr(t)和已占据节点集合no(t),在任意时刻交集为空,并集为点集合n;未占据连边集合mr(t)和已占据连边集合mo(t),在任意时刻交集为空,并集为边集合m。
[0041]
t表示从开始控制病毒传播后的每个时刻,初始时t=0,占据节点序列sr(t)为空序列;设置关键指标界值初始为1,暂存值初始为1。
[0042]
步骤3:在t时刻,选取候选节点集合nc(t)中使目标函数ψ(u)最小的节点,将该节点的状态转化为占据状态,若同时存在多个使目标函数ψ(u)最小的节点,随机选择其中一个节点转化为占据状态;然后,将该节点从未占据节点集合nr(t)、候选节点集合nc(t)中删去,添加至已占据节点集合no(t)中,并添加至占据节点序列sr(t)的末尾;若两个相邻节点均为占据状态,则将这两个节点之间的边转化为占据状态,将该边从未占据边集合mr(t)中删去,添加至已占据边集合mo(t)中。
[0043]
其中,目标函数ψ(u)设置为:
[0044][0045]
其中,对于候选节点集合nc(t)中的节点u,ψ(u)表示目标函数值,i(u)表示节点u 的关键指标值;是关于节点u的函数,对于任意满足的节点u,设置为一个相等的有限数值。
[0046]
步骤4:当t时刻候选节点集合nc(t)中所有节点的关键指标i超过关键指标界值时,转至步骤5;否则,t=t 1,返回步骤3。
[0047]
其中,关键指标i可采用两种设置方式:
[0048]
(1)关键指标i设置为节点的外部度数,计算公式为:
[0049][0050]
其中,表示节点u的外部度数,c(u)为节点u转为占据状态后所在的连通分量, v表示连通分量c(u)中的节点;kv为节点v在初始网络g(n,m)中的度数,kv'为节点v在已占据网络g(no(t),mo(t))中的度数,所述的已占据网络g(no(t),mo(t))是指t时刻已占据节点集合no(t)中的节点和已占据边集合mo(t)中的边根据初始网络g(n,m)的结构相互连接而形成的网络;所述的连通分量为病毒传播网络的子网络;所述的节点度数为与节点相连的边的数量。如图2所示,黑色实心节点表示已占据节点,灰色实心节点和空心节点表示未占据节点,实线表示已占据边,虚线表示未占据边,浅灰色块状覆盖部分表示连通分量。例如,节点u、节点j、节点w为未占据节点,节点v、节点i为未占据节点;若将未占据节点u转为占据状态,节点u所在的连通分量c(u)包含节点u和节点v,根据公式计算节点u的外部度数为同理,若将未占据节点j转为占据状态,节点j所在的连通分量为c(j),节点j的外部度数为
[0051]
(2)关键指标i设置为节点的外部传播概率,计算公式为:
[0052][0053]
其中,表示节点u的外部传播概率,c(u)为节点u转为占据状态后所在的连通
分量,v表示连通分量c(u)中的节点;γ(v)表示节点v的未被占据的邻居节点集合;w 表示集合γ(v)中的节点;β
vw
表示节点v和w之间的边权重。
[0054]
步骤5:若从上次更新关键指标界值至当前时刻t,网络中选取了至少一个节点转为占据状态,则令关键指标界值更新为α
×
mini,再暂存值更新为新的否则,关键指标界值更新为再暂存值更新为新的
[0055]
更新结束后,判断t是否大于节点个数n,如果是,以此时得到的占据节点序列 sr(t)为最终的占据节点序列,转至步骤6,否则,t=t 1,返回步骤3;所述的α为更新参数,α>1;
[0056]
步骤6:将所有节点再次转化为未占据状态,按占据节点序列sr(t)内部顺序将节点依次转化为占据状态,所述的占据节点序列sr(t)的内部顺序是指病毒传播从被控制至不被控制转变的最优占据节点顺序。
[0057]
每进行一次节点状态转化,计算一次序参量ga(q),序参量ga(q)代表当前网络中病毒传播从被控制向不被控制转变的程度,序参量越小,代表当前网络中病毒传播被控制的程度越大,序参量ga(q)的计算公式为:
[0058][0059]
其中,q为网络中未占据节点的比例,c”max
为最大连通分量,|c”max
|为最大连通分量包含的节点数量,所述的最大连通分量为网络中未占据节点比例为q时包含节点数量最多的子网络,代表病毒传播的感染人群规模。
[0060]
在网络中不断将节点转为占据状态的过程,可看作是从完整网络中不断移除节点的逆渗流过程,二者的节点选择顺序是倒置的,应用效果是逆向的,其中,节点或边的未占据状态与已移除状态为同一状态。节点与节点之间通过边发生接触、传播病毒,若移除部分节点及其边,将当前网络分解为多个分块,能够阻隔已占据状态的节点与其他节点之间的接触,限制病毒的广泛传播。因此,未占据节点比例q,或称已移除节点比例,代表病毒传播中免疫或隔离的人群规模,反映防控措施的力度大小。
[0061]
此步骤开始转化节点状态时,未占据节点比例q为1,序参量为0,随着占据节点数量的增加,未占据节点比例q逐渐减小,序参量逐渐增大,当序参量第一次由0增大至非零常数时,此时最大连通分量出现,病毒传播开始广泛传播;记此时的未占据节点比例q为未占据节点比例阈值qc,未占据节点比例阈值qc代表控制病毒传播所需移除的最小节点比例,qc越小,控制病毒传播所需移除的节点数量规模越小,所需免疫或隔离的人群规模越小。
[0062]
当占据节点序列sr(t)中所有节点转化为占据状态时,计算网络韧性f,网络韧性 f代表病毒传播控制效果,其值越小,病毒传播控制效果越好。
[0063]
网络韧性f的计算公式为:
[0064][0065]
为验证本发明方法的有效性,在病毒传播网络上进行实验,其网络参数如表1所示。
[0066]
表1
[0067]
数据集节点数边数yeast237511693power49416594p2p-gnutella08630120777ca-astroph18771198050email-enron36692183831loc-gowalla196591950327twitter-l532325694606web-google8757134322051paroad10880921541898flickr162499115473043as-skitter169641511095298livejournal399796234681189
[0068]
分别选择五种常用网络分解方法hd(higher degree,度中心性)方法、ahd (adaptive higher degree,自适应度中心性)方法、amsrgs(min-sum andreverse-greedy strategy,最小值求和及反向贪心策略)方法、gnd(generalized networkdismantling,广义网络分解)方法、finder(finding key players in networks throughdeep reinforcement learning,深度强化学习寻找关键节点)方法与本发明方法bpg-i (bounded-percolation greedy-i,关键指标为外部度数的有界渗流-贪心方法)、bpg-ii (bounded-percolation greedy-ii,关键指标为外部传播概率的有界渗流-贪心方法)进行对比实验,表2给出了不同网络上采用不同方法得到的网络韧性f值,表3给出了不同网络上采用不同方法得到的未占据节点比例阈值qc。
[0069]
表2
[0070][0071][0072]
表3
[0073][0074]
由表2可知,与hd、ahd、finder方法相比,bpg-i方法的网络韧性f降低30%以上;与amsrgs、gnd方法相比,bpg-i方法的网络韧性f降低20%以上;与bpg-ii 方法相比,bpg-i方法的网络韧性f升高约5%;可以看出,相比于其他方法,本发明的bpg-i、bpg-ii方法的病毒传播控制效果更好,bpg-ii方法控制效果略好于bpg-i。
[0075]
由表3可知,与hd、ahd、gnd、finder方法相比,bpg-i方法的未占据节点比例阈值qc降低40%以上;与amsrgs方法、bpg-ii方法相比,bpg-i方法的未占据节点比例阈值qc总体数值相似,在paroad和as-skitter网络上,bpg-i方法的未占据节点比例阈值qc相比于与amsrgs方法降低10%以上。相比于其他方法,本发明的bpg-i、bpg-ii 方法控制病毒传播所需移除的节点比例较小,所需免疫或隔离的人群规模较小;
[0076]
表2和表3中
“‑”
表示计算消耗时间过长或超出内存限制。针对规模较大的flickr、 livejournal等网络,gnd方法由于计算时间及空间的限制难以实现网络分解。在 livejournal网络中,amsrgs、finder方法存在同样问题。而本发明的bpg-i、bpg-ii 方法能够在flickr、livejournal等大规模网络中实现网络分解,且相比于hd、ahd方法,网络韧性f降低10%以上,未占据节点比例阈值qc降低20%以上。可以看出,本发明在大规模网络上表现较好。
[0077]
图3给出了采用不同方法在power、loc-gowalla、twitter-l、as-skitter网络上得到的序参量关于移除节点比例的变化的结果示意图,图中,横坐标q为网络中未占据节点的比例,纵坐标ga(q)为序参量;hd为度中心性方法,ahd为自适应度中心性方法、 finder为深度强化学习寻找关键节点方法,bpg-i为本发明采用节点外部度数作为关键指标的方法,bpg-ii为本发明采用外部传播概率作为关键指标的方法。
[0078]
在移除节点比例q一定的条件下,本发明得到的序参量ga(q)往往更小,病毒传播被控制的程度往往更大。例如,在power网络中,当移除节点比例q为0.03时,bpg-i 方法得到序参量ga(q)为0.0820,finder方法得到序参量ga(q)为0.7758;可以看出,对应于现实情况,在免疫或隔离相同比例病人的条件下,使用本发明病毒传播导致的感染人群规模更小,病毒传播被控制的程度更大;
[0079]
在得到序参量ga(q)一定的情况下,本发明方法的移除节点比例q更小;例如,在 loc-gowalla网络中,当ga(q)为0.01时,bpg-i方法的移除节点比例q为0.1354,finder 方法的移除节点比例q为0.1919;可以看出,对应于现实情况,在病毒传播被控制的程度相同
的条件下,使用本发明免疫或隔离的病人比例更小。
[0080]
图4给出了采用不同方法在不同网络上的计算时间对比图,图中,横坐标为不同网络,分别为yeast、power、p2p(p2p-gnutella08)、ca(ca-astroph)、email (email-enron)、loc(loc-gowalla)、twitter(twitter-l)、web(web-google)、paroad、flickr、 as(as-skitter)、live(livejournal)网络,纵坐标time为计算时间;图例中,amsrgs 为最小值求和及反向贪心方法;
[0081]
相比于amsrgs、finder方法,本发明bpg-i、bpg-ii方法计算时间明显减少,效率显著提升;例如在as-skitter网络中,bpg-i方法的计算速度相比于amsrgs方法增加了1500倍以上,相比于finder方法增加了70倍以上;可以看出,本发明计算效率较高,能够快速响应突发病毒传播事件。
[0082]
综上,本发明方法实现网络分解,移除节点较少、病毒传播规模较小,在资源缺乏的情况下利用本发明方法控制病毒传播,理论上能够对网络起到较好的防护作用。本发明方法的时间复杂度和空间复杂度较低,计算效率较高,针对大规模网络数据表现较好,适用于大型网络中的网络分解问题。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献