王 哲,李建华,康 东,冉淏丹
(1.空军工程大学信息与导航学院,西安 710071;2.国防科技大学信息通信学院,西安 710100)
信息技术发展推动人类社会加速互连,以复杂网络为代表的网络科学成为复杂系统分析的重要途径。受各种因素影响,网络面临的威胁持续增长。例如,2010年伊朗境内约3万个网络终端遭“震网”病毒袭击[1],累计10万余台主机被感染、6个国家地区受到不同程度影响;2019年委内瑞拉国内电网半个月内经历3次高强度攻击,导致超过90%的州大停电、造成交通大规模堵塞,学校、工厂全面停摆[2];2020年初新型冠状病毒(COVID-19)爆发[3],疫情迅速蔓延致使全世界数百万人感染,全球经济和人类社会生活受到深刻影响。这些频发的大型事故对经济社会造成巨大损失的同时,也暴露出某些关键基础设施应对极端事件的脆弱性,促使网络鲁棒性增强研究的重大理论意义和应用价值突显。网络鲁棒性是指网络抵御攻击的能力,主要包括鲁棒性分析和鲁棒性设计两个方面:1)鲁棒性分析从网络结构动力学角度分析网络的鲁棒性质,揭示系统的脆弱程度、崩溃条件及演化规律,属于“认识世界”范畴,主要解决“什么样的网络鲁棒性好”,现阶段研究比较成熟;2)鲁棒性设计主要通过采取有效措施来避免大型复杂系统的崩溃坍塌,属于“改造世界”范畴,主要解决“怎样得到更加鲁棒的复杂网络”,这是鲁棒性研究的最终目标,也是继鲁棒性分析之后网络科学的又一热点领域。
目前关于复杂网络鲁棒性增强策略的报道多见于外文文献,国内研究较少且综述较为缺乏。为科学拟制网络系统风险应对策略、提高网络系统鲁棒能力,本文尝试从网络出现故障前的防御、失效过程中的恢复以及失效后的优化设计3个方面,对部分复杂网络鲁棒性增强研究进行综述。
防范扰动的发生、减轻扰动发生后对系统正常功能的影响等防御性策略,是一种从事前应对角度提出的网络鲁棒性增强途径。合理的防御性策略可以减少网络失效的概率,降低故障和攻击带来的损失。例如,对网络中的关键节点进行预先保护或加固,可以确保网络遭受蓄意打击时不致“一击即毁”。根据实现目的和实施途径,防御性策略可分为加固保护型、缓冲阻断型和调整控制型三类。
加固保护型策略是指预测故障的发生,对易损部位采取防范和加固等预处理操作。加固保护策略主要包括故障检测、重点保护和整体加固。
1.1.1 故障检测
故障检测是指定期查找设备或系统是否出现故障并对这些故障进行处置的过程[4]。系统故障一般分随机故障和蓄意失效,故障程度有小、中、大等不同等级,呈现方式有显性故障与隐性故障等类型。有些故障隐藏较深,短期内可能难以察觉、也不会立即产生损害,但如果不加以排除,则可能随时间累积或在关键时刻对系统产生致命危害,因此需要定期排查、预先检测并及时处置。针对网络系统级联崩溃相位图存在“二阶相变”的现象,Podobnik[5]开展了预测随机网络模型级联崩溃现象的指标研究,Zhou等[6]提出了一种临界相变位置监控指标(MVSD,Moving standard deviation)来预测即将到来的网络崩溃,构建了基于系统崩溃预警的网络级联故障恢复模型,分别比较了均匀随机选择(URS,Uniformly random selection)、最大度选择(LDS,Largest degree selection)、最小度选择(SDS,Smallest degree selection)、轮盘法选择(RS,Roulette selection)和逆轮盘法选择(ARS,Anti-roulette selection)等5种节点追加策略对网络鲁棒性的影响。研究发现,对于同构网络来说,以URS方式添加新节点的鲁棒性较优。对于异构网络来说,基于节点度的随机选择方式鲁棒效果更好。
1.1.2 重点保护
通过寻找少量的节点或连边等来快速瓦解或拆分网络。反过来讲,预测到网络可能出现的崩溃事故后,如果我们优先对这些关键要素采取重点保护措施,就有可能减缓或者抑制网络的破碎。重点保护的难点是如何筛选网络中相对重要的节点与连边。目前,网络系统中关键节点辨识或节点重要度排序研究已取得较多成果[7-12]。文献[13]综合考虑了相依网络节点的异质性,通过节点vi依存于其他节点以及被其他节点依存强度来评估节点重要性。Sen等[14]通过引入一种基于布尔代数的新型相互依赖关系表示,提出了一种评估节点在网络鲁棒性方面重要性的方法。Gong[15]设计了4种双层网络保护策略,用于保护相依网络中有影响力的节点:
1)Two-layer-degree(T-degree):节点影响力与其度值正相关,根据网络中节点度值判断和选择有影响节点。
2)Two-layer-betweenness(T-betweenness):节点影响力与该节点介数正相关,根据节点介数值判断和选择有影响的节点。
3)Two-layer-community(T-comm):节点影响力与其模块中心性正相关,根据模块中心度大小判断和选择有影响的节点。节点i的模块中心度Cc(i)可表示为:
(1)
4)Two-layer-local(T-local):节点影响力与局部中心性正相关,根据局部中心度大小判断和选择有影响的节点。节点i的局部中心度Cl(i)可通过节点i的直接邻居和次近邻来计算,
(2)
其中,m(u)是从节点i到节点u的最短路径小于指定阈值的节点数,Φi(Φj)为节点i(j)的邻居节点。与单层保护方法相比,耦合网络在该双层网络防护策略下的鲁棒性明显提高。针对连边在维系网络连通性和信息传播中的基本功能,文献[16]设计了一种网络重要连边识别方法(LE,Link Entropy Method)。
王世锦等[17]提出了优先配置关键节点保护连边(PCNC,Preferential configuration node-protecting cycle)的方法,该方法基于度值适应技术,找出自身及邻居节点度值都大的关键节点,增加连边,配置节点保护环,从而增强航路网络拓扑结构的鲁棒性。此外,还有基于度中心性和介数中心性[18]、LeaderRank算法中心性[19]、局部中心性[20]的关键节点识别方法。目前,大部分关键节点识别方法是从网络的破坏性角度展开讨论,一般视为对网络破坏程度越大的节点越重要。然而,网络恢复是实现弹性网络、有效抑制网络破碎的另一重要途径,面向网络恢复的节点重要性分析现阶段还比较少见。因此,从影响网络弹性恢复水平的角度进行节点重要性分析,是未来研究的重要内容。
1.1.3 整体加固
除了采取“重点保护”策略实现“点上突破”以外,还可以对整个网络中的要素与属性进行“面上加固处理”,通过“点面结合”实现对整个网络化系统功能的防护。为了减少电力系统的过载故障,在网络负载-容量模型中,部分研究人员考虑增加节点容量或调整网络集群负荷。文献[21]在不改变耦合系统成本的情况下,通过动态调整过载节点的容量,提出了一种保护过载节点不受故障影响的策略。王竣德等[22]研究了节点负载容忍度和高容忍度节点比例两个参数作用下的相依网络级联失效过程。结果表明特定相依网络鲁棒性下负载容忍度存在上下两个阈值,且网络平均度是影响阈值大小的主要因素,提高部分节点的负载容忍度能提高相依网络的鲁棒性。陈世明[23]通过设置多个网络鲁棒性调控因子,研究了负载参数对不同耦合方式的相依网络鲁棒性的影响,发现网络鲁棒性随着负载参数的不断增加而普遍提高。因此,综合考虑负载和边容量对于合理配置网络资源、提高网络鲁棒性具有指导作用。
总体来说,加固保护措施是通过引入额外的防御资源和手段,对网络可能遭遇的风险进行预判,对网络薄弱要素与环节的强化处理,整个策略未改变网络结构,也不影响网络的原有功能,对于网络动态演化性、多个网络的网间耦合性、防御过程中的二次失效等因素考虑较少,其整体增强效果仍有待检验。
将目标网络与故障源进行隔离处理,避免两者的直接接触与冲突的缓冲阻隔型策略,对于现实网络系统的鲁棒性增强也有一定效果。例如,新型冠状病毒防控中,中国采取的“封城”“居家隔离”等举措,对于有效阻断疫情传播具有重要作用。考虑网络中的信息流、交通流等负载与容量因素,当一个节点过载后将多余负载进行疏解,可能造成被分配负载节点的失效,引发整个网络系统的崩溃。Motter[32]受“孤岛效应”的启发,通过在初始攻击或失败后选择性地移除节点和连边,来防止在隔离的异构网络中出现大范围全局过载故障。研究表明,这种网络切割举措大大减少了级联失效的影响。与此类似,Pahwa等[33]将部分集群Cluster从主电网中分离,并利用太阳能或风能等独立替代能源为其供电,显著提升了整个电网的鲁棒性能。
同时,部分研究还通过设置自治节点进行故障影响的缓冲,以避免网络在遭受攻击时发生突然瓦解和碎裂。例如,耦合节点的自治化处理相当于剥离了网络间的交互关系,也能起到防御故障的作用。Shao等人[34]从网络中筛选出大度数或高介数节点作为不受耦合影响的自治节点,仿真结果表明该策略提高了相互依赖网络的鲁棒性。Schneider等人[35]在Shao的基础上,考虑自治节点的成本约束,在保证系统鲁棒性的前提下,采用基于度中心性和介数中心性的策略来减少必要自治节点数量。他们发现,该策略设置10%的自治节点就可以提高网络抵御级联故障的能力。此外,文献[36]通过研究地铁网络中保护资源的配置问题,从攻击程度和防护效益相博弈的角度,提出了一种增强网络鲁棒性的BTC方法(Breadth-Tree Coefficient Method),该方法首先对网络中的重要节点进行保护,然后在受保护的网络中引入不同类型的攻击。研究结果表明,BTC防御方法可以有效地增强地铁网络的鲁棒性。由于自治节点在其耦合节点遭受破坏时不会失去其功能,这种解耦操作能够迅速避免故障传播。然而,无论是利用“孤岛效应”还是设置自治节点,此类策略的基本出发点都是通过找到故障的起源点、切断故障在网络中的传播路径来保护网络系统,优势是策略起效快、效果显著,不足之处是破坏了网络拓扑结构,牺牲了网络整体性能。
调控型防御策略主要通过调整网络中要素的属性、拓扑结构参数等途径,尽量减少破坏性事件的不利影响来确保系统的正常运行,主要包括两类:一是网络控制和拓扑设计,二是网络要素备份防护。
1.3.1 网络控制和拓扑设计
部分文献致力于通过网络可控性来避免坍塌事件。Buldyrev等[37]开创了相依网络研究的先河,在首次对“一对一全相依”的相互依存网络在随机攻击下的鲁棒性分析的基础上,得出网络度分布越广网络的鲁棒性越小的结论,侧面反映了通过调节网络度分布等网络结构参数增强策略的可行性。相依网络鲁棒性不仅与网络层内部结构有关,还与层间耦合结构有关。针对双层相依网络的耦合关系,文献[38]基于多元生成函数,从两个BA无标度网络间耦合关系出发,分析了网间度正相关、负相关及不相关耦合情况下相依网络的鲁棒性能,指出网间度耦合相关性在整个网络鲁棒性中扮演的重要作用。文献[39]对网络中的Hub节点进行了互连控制,并且确保彼此连接的适度收敛,揭示了网络系统对故障具有较好的鲁棒性。此外,文献[40]提出并研究了3种控制通量的新型防御策略,并且在人工创建的BA无标度网络和自治系统级的Internet上进行了大量仿真,结果表明其能够抑制级联传播甚至避免级联故障发生。侯绿林等[41]探讨了近年来复杂网络可控性研究现状,详细介绍了基于最大匹配方法的复杂网络结构可控性分析框架,网络拓扑结构统计特征与网络可控性的关联。然而,这些研究均为拓扑参数与网络鲁棒性关系的初步探讨,对于具体如何通过参数设置增强网络鲁棒性等细节尚无深入分析。
1.3.2 网络要素备份防护
现实生活中,当某个城市的居民区突然停电时,可以临时使用提前准备好的备份发电设备来维持该地区的电网运转。基于这一考虑,Gao[42]、Valdez[43]等发现通过备份高度依赖节点来增强耦合相依网络系统的鲁棒性。Shen等[44]针对双层相依网络随机故障,提出了一种基于内部相似性的点备份策略。备份在某种程度上增加了网络中要素的冗余性,Liu等[45]引入节点自愈机制,即增加网络固有的冗余度来增强网络的鲁棒性。然而,要素备份策略虽然可以有效提升网络的鲁棒性,但是也存在一些不足,如冗余备份会增加网络的设计和维护成本(有时候节点的备份还面临着技术挑战),需要付出一定的时间和经济代价,造成资源的浪费,因此在实际应用中往往需要考虑这一策略的代价和效果的权衡。
总体来看,防御性策略是一种网络故障事前增强措施,相比事后的修复和采取应对措施,恰当的防御策略拥有相对较低的成本和成效,可以降低事件风险概率、避免故障升级或尽可能将损失降到最低,有效保证网络的完整性、运行的可靠性以及系统功能的支撑性。然而,加固保护的最终目的是为了降低网络被破坏的可能性,本质来说并没有提高网络自身的鲁棒性。采取故障检测措施以监视系统性能以及破坏性事件需要耗费大量的时间和人力资源。关键节点的保护是一种被动方法,对于现实网络系统而言及时有效地辨识网络中的关键节点具有一定难度,有研究表明关键节点识别问题是一类NP-hard[46]。部署自治节点虽然可以使网络保持一定的健壮性,但其代价昂贵且需要进行重大技术改造;缓冲阻断型策略,虽然能够阻止故障在网络中的传播,但是却以牺牲整个网络功能为代价来换取网络鲁棒性能的部分增强;调整网络拓扑与要素备份策略相对开销较大,并且在正常状态下较大的负载属性也是一种资源浪费(当网络没有受到攻击时,额外的负载和容量等属性无法增强系统的功能)。此外,防御性措施主要面向已知威胁类型、明确毁伤强度等确定性事件,存在资源消耗大、预期收益低、灵活性欠缺等不足(见表1),有限的网络防御策略难以全面应对多样化的网络威胁。
表1 不同类型的防御性策略特点Tab.1 The characteristics of different types of defensive strategy
随着复杂网络鲁棒性增强策略研究的深入,人们逐渐认识到:1)略具有一定局限性,扰动事件有时难以避免,无论采取多少防御措施都仍有可能失效,如地震、海啸等自然灾害难以精准预计和阻挡;2)受经济、时间和资源等制约,打破现有网络结构然后重新设计也不现实;3)现实世界网络节点等要素一般具有一定恢复能力,适当的修复策略能够保证网络平稳过渡到安全状态。因此,在无法避免破坏性事件的情况下,对受损网络进行修复和补救,减缓甚至抵御级联在促进网络鲁棒性方面具有现实意义。
然而,网络恢复问题与网络攻击问题不同。网络攻击研究如何最有效地对网络进行破坏,而网络恢复主要关注如何修复受损网络至正常状态。从攻防博弈角度来看,网络恢复指通过修复缺失的节点或边等要素来实现网络功能,是与网络失效相逆的过程。网络恢复可分为两个部分:一是节点功能恢复,指节点由失效状态变为正常状态;二是网络功能恢复,指节点及其相连边一并修复至正常或初始状态。由于网络强调的是整体功能,因此一般来说纯粹的节点功能恢复意义不大,而聚焦于网络功能恢复才是网络恢复性研究的主要目标。恢复策略的可行性受拓扑结构、失效样式及触发时机等诸多因素的影响。例如,单一网络中有连续渗流现象,相互依赖网络中出现的一阶渗流突变,即在临界位置部分节点失效会导致级联失效和崩溃。这些多样化的网络动力学行为相应也需要不同的恢复策略。本节中,我们从网络属性、失效样式、资源配置等方面,讨论一些常见的恢复策略及其优缺点。表2列举了部分典型网络恢复策略。
表2 几种典型复杂网络恢复策略Tab.2 Several typical recovery strategies for complex networks
网络属性是影响网络动力学行为的重要因素,在复杂网络恢复策略的设计指导原则中扮演着重要角色。例如,针对BA无标度网络,应重点从应对蓄意攻击下的脆弱性和随机失效下的鲁棒性等属性角度,制订针对性恢复策略。
2.1.1 单层网络恢复
单层网络是复杂网络研究早期关注对象,研究人员相继提出了ER随机网络、WS小世界网络和BA无标度网络等模型。不同的结构特征导致网络具有不同的动力学机制与演化行为,对网络恢复也提出了不同要求。Chi等人[47]于2006年提出了复杂网络遭到破坏后的修复研究问题,并针对故意攻击条件提出了一种增强网络鲁棒性的修复策略。Hu等[48]分别提出了复杂网络平均修复、重点修复和优先修复策略,并分析了这些策略在不同攻击样式下的恢复效率。文献[49]针对无标度网络结构特点,提出了一种基于连边两端节点重要度相关的连边偏好修复策略。仿真分析了该修复策略在BA无标度网络随机失效、故意攻击和不完全信息攻击情况下的适用情况,为网络系统鲁棒性增强提供了借鉴。文献[50]考虑了网络恢复中节点的异质属性,提出了一种网络恢复策略。文献[51]考虑了网络的时滞和重复失效特性,在分析节点状态变化过程的基础上提出了一种概率恢复策略(图1)。李钊等[52]考虑节点恢复这一实际特性,提出了带有应急恢复机制的网络级联失效模型,对网络效率和节点故障率进行分析,发现网络效率与节点度的异化分布程度与节点故障率有关。考虑现实中恢复后仍然可能再次失效并且其失效概率会有所降低的实际情况,唐亮等[53]设计了节点随故障次数增多而故障概率逐渐降低的故障函数,提出了概率恢复(随机恢复和初始度相关恢复)和阶段恢复策略机制,研究级联失效过程中不同机制下参数变化对网络鲁棒性的影响。
图1 级联失效过程中节点状态变化Fig.1 States change of nodes in the cascading failure process
除考虑网络静态结构和节点可修复性外,部分文献还考虑网络演化特性。文献[54]针对随网络演化的持续性攻击并且节点不可修复的情况,提出了一种加入限制参数的连边补偿修复方法。通过仿真实验验证了这种修复策略能够在不改变网络无标度结构特性的基础上,保证网络在演化过程中始终有85%以上的节点保持鲁棒连通性。Fu等[55]构建了一种动态恢复模型,该模型考虑到被修复的节点更容易受到超载而处于不稳定状态,从而导致周围节点失效的实际,认为被恢复节点恢复自身的同时还能减少对相邻故障节点的影响,从而更有效地恢复网络功能。
将严重受损的网络化系统恢复至正常运行状态是一项非常困难的任务,总体来看单层网络恢复:1)恢复方法比较单一,多数研究中网络恢复与失效传播是互不干涉的静态过程,与现实情况不完全相符;2)影响因素考虑不够,网络恢复受维修资源、修复时间等多因素限制;3)可恢复性分析不够,大多停留在恢复过程描述,对整体恢复效果有待深入挖掘。因此,有必要针对反映真实世界的多层网络模型,设计适应瞬息万变现状的动态恢复措施,使系统能够及时响应故障、有效处置威胁进而增强网络鲁棒性能。
2.1.2 多层网络恢复
无论是经济领域的物流供应链、智能电网,还是国防军事领域的指挥信息系统等国家大型关键基础设施,通常是由多个动态交互的系统所组成的网络化巨系统。这种由多个网络组合构成的多层网络,也称网络的网络(NoN,Network of Network),一般可分为双层网络与k(k>2)层网络。最近几年,研究人员把单一网络中渗流等相关理论推广移植到多层网络,结合多层网络层内异构性、层间耦合等因素[56-58]开展了大量网络恢复性研究。双层相依网络(或称双层耦合网络)是多层网络的典型代表,“某一网络的故障传播不仅限于网络内部,也会通过依存关系引起另一网络的故障或失效”是这类网络的典型属性特征。针对影响相依网络性能的耦合关系这一关键属性,将恢复看作失效的逆向过程,如果一个网络中的节点被恢复,则触发另一个网络中与之相应的耦合节点恢复正常。
针对相依网络级联失效结束后所处的完全失效和部分失效两种状态,文献[59]构建了完全失效恢复模型(RMCFS,Recovery model in complete failure situations)和部分失效恢复模型(RMPFS,Recovery model in partial failure situations),如图2所示。
图2 完全失效恢复模型和部分失效恢复模型[59]Fig.2 Recoverymodelintotal and partial failures[59]
图3 相依网络MBN恢复模型[60]Fig.3 MBN recovery model of interdepend network[60]
图4 共同边界节点MBN示意[60]Fig.4 Illustration of mutual boundary nodes[60]
总体来说,MBN模型重点关注的是双层相依网络中影响网络鲁棒性的耦合失效这一关键属性,其创新之处主要体现在:1)被恢复的对象为两个网络的共同边界节点,避免因非邻居节点的恢复形成二次失效的情况,减少了恢复资源的浪费;2)相依网络的级联失效阶段和恢复节点阶段不再是相互分离的孤立过程,而是有序交替的动态过程,能够保持恢复过程中整个网络系统的鲁棒性能,更好应对网络现实失效环境的复杂性。然而,MBN模型未考虑网络中的信息、电力等负载和容量因素,也未区别级联过程中节点失效原因的多样性,如部分失效节点为直接受打击而失效,部分节点为耦合关系缺失而失效,不同的失效节点对恢复资源的可用性也不相同。此外,故障传播的时滞性、恢复行为的触发时刻和可用恢复时间等也都是影响恢复效益的重要影响因素。
Zhong等[61]考虑相依网络负载容量、修复时间及资源等约束,构建了不同耦合强度下的主动恢复模型(ARAM,Active Restoration Actions Model)。ARAM模型由3部分组成:1)确定触发恢复行为的时间Tr;2)分配恢复资源。例如,从所有失效节点中随机选择若干节点予以恢复;3)赋予被恢复节点新的负载与容量。ARAM模型考虑了网络中的流量负载、恢复的触发时刻等因素,更加贴近现实世界环境,但其恢复范围为所有失效节点,仍然难以避免恢复过程中可能发生的二次失效。表3对RMCFS恢复模型、RMCPS恢复模型、MBN恢复模型和ARAM恢复模型的构成要素与优缺点进行了比较分析。
表3 4种相依网络恢复模型比较Tab.3 Comparison of four recovery models of interdependent network
除了耦合关系、负载容量[62-64]等属性外,度中心性[65-69]、介数[70-71]、子图[72-73]等也是多层网络恢复策略需关注的方面。为此,文献[74]提出了一种避免或至少减轻一个相互依赖网络应对级联故障完全破坏的剩余子图重连策略。该策略将网络故障引起的独立子图,以一定概率将其重新连接到最大连通子图GC,从而提升网络的鲁棒性。文献[75]通过选择失效组件的子集进行修复来满足有限资源下的交通系统流量需求。
对于大规模复杂网络来说,有时很难获得其准确属性,有时可能会发生不同类型与不同样式的失效事件。例如,相依网络的级联故障,恢复后的二次失效等。失效与恢复是“矛盾”的统一体,不同的攻击策略具有不同的失效特点,很难用某种统一的修复策略应对。近几年来,学者们考虑不同失效样式提出了针对性恢复策略。
2.2.1 局部失效
局部攻击失效通常由特定区域内发生的破坏性事件引起,可能导致对相邻组件的破坏。文献[76]提出了一种单节点恢复时间(SNRT,single-node recovery time)框架,对网络恢复到同步过程中节点瞬态时间尺度进行估计,进而探讨了局部失效情况下复杂网络上的恢复时间。文献[77]以地理空间网络为研究对象,提出了两种(PR方法和PRNW方法)应对单层晶格网络上局部攻击的网络修复方法(见图5)。
图5描绘了二维晶格网络上应对局部失效的PR恢复方法和PRNW恢复方法。图5a中红、黄、蓝色连边为失效连边并构成局部失效(从网络中移除);图5b显示了局部失效后构成的部分网络连通图及若干孤立节点;两种恢复策略如下所示:
1)PR恢复策略(Periphery Recovery):优先恢复剩余子图边界节点上密集程度高的节点及其相连边。例如,图5c中节点n1(红色)为边界最密集节点,优先恢复该节点及其与子图的相连边m1和m2;n2为密集程度次高的节点,接下来再恢复该节点及其与子图的相连边m3和m4;迭代该过程直至网络初始状态(图5 c3)。
2)PRNW恢复策略(Preferential Recovery based on Nodal Weight):优先恢复剩余子图与其边界节点上密集程度高的节点之间的相连边及该节点。图5 d1中节点n3(红色)为边界最密集节点,优先恢复该节点及其与子图的相连边m5(d1);接下来密集度最高的节点为n5,恢复其相连边m6和m7(d3);迭代该过程直至网络初始状态(d4)。PRNW策略的优势是通过恢复密集度高的节点及其连边来压缩恢复时间,表现出很高的恢复效率和较低的计算复杂度。不足之处在于所使用的网络拓扑模型为单层晶格网络,未考虑网络之间的相互依赖性,对于实际应用还有一定差距。未来可适当考虑网络相依属性,将该策略拓展并移植到相依网络鲁棒性优化设计中。
图5 二维晶格网络上局部失效下PR策略和PRNW策略的恢复过程[77]Fig.5 The illustration of various strategic repair processes after localized attack (LA) on square lattice[77]
2.2.2 级联失效
级联失效是复杂系统常见的失效样式,可分为过载级联和耦合级联[78-79]。当复杂网络中的一个节点失效后,将其负载转移至其邻近节点,可能会发生被分配节点因过载而失效,进而导致整个网络的崩溃。探索分析级联故障在整个网络中传播的根本原因,进行针对性恢复是一种显而易见的鲁棒性增强思路。Hong等[80]在相依网络负载-容量模型级联失效过程分析的基础上,提出了一种级联过程中恢复策略的模型(IPR,In-process restoration strategy),即当级联失效过程开始,迅速激活恢复行为并优先激活耦合节点。假设非耦合节点的恢复概率为pri,耦合节点的恢复概率为prc=μ*pri,其中,μ为调节因子,其值越大意味着恢复概率越大,即更易被恢复。IPR模型假设一个节点如果被恢复,则与该节点相连的边和其上的负载也被恢复至初始状态。同时,未被恢复的节点仍执行原有负载重分配。当不再有过载情况发生时,即认为失效传播过程结束。整个过程迭代循环直至级联失效过程停止。耦合级联是指耦合网络上由于耦合关系的存在导致多个网络之间的故障彼此传播的现象。2017年,Hong等[81]将IPR模型拓展应用于空间相依网络级联失效分析,其中以概率γ对连接到极大连通子图GC的一对失效节点进行恢复。研究发现,相依网络恢复策略所能达到的恢复效果与恢复触发时间、恢复概率和恢复优先度、节点负载水平、扰动类型紧密相关(空间相依网络级联失效规模和持续时间随着恢复概率γ的增长而降低)。
2.2.3 二次失效
由于复杂网络恢复过程中存在固有的不确定性和不稳定状态,修复后的节点仍有可能再次故障,即二次失效。例如,当某个节点恢复以后又被分配了过量的负荷就还会失效。部分拓展模型通过预估二次失效的潜在风险来减少或避免二次失效,进而增强网络鲁棒性。因此,文献[55]构建了受能量传递影响的动态修复模型,提出了一种最小化节点二次失效风险的壳修复策略(SRS,Shell Repair Strategy)。当动态修复模型中某个节点失效后,其负载将分配给其邻居节点。定义负载重分配规则:
(3)
其中,ΔLij表示失效节点i分配给其正常邻居节点j的负载,Γi为失效节点i的邻居节点集。设节点j的冗余容量ΔCj。SRS策略通过排除二次失效的风险来提高网络的安全性,其算法流程如图6所示。
图6 SRS恢复算法流程[55]Fig.6 Diagram of the SRS algorithm’s flow[55]
步骤1:通过提取失效节点集及彼此关连,构造失效网络G′,记网络规模F;
步骤2:对网络G′中的节点按照节点度k进行降序排列。首先,遍历G′所有节点并计算其被分配负载ΔLij,当ΔLj<ΔCj时跳转至Step 3;反之,即全部节点均有ΔLj>ΔCj,则表明网络中存在耦合结构并作移除处理。当所有耦合结构被移除后,跳转至Step 4;
步骤3:当ΔLj<ΔCj时,节点j被恢复且不会出现二次失效,然后从网络G′删除节点j并构成新的网络G″。遍历G″,如仍有未恢复节点则返回Step1;
步骤4:增加G′中最高度值节点的容量,该节点对耦合结构造成严重破坏,并使相邻节点的再分配负荷ΔLij最小。该节点可称为“交换节点”。遍历G″,如仍有未恢复节点则返回Step1。
与静态修复相比,SRS动态修复更加复杂和多变。然而,通过适当的修复参数设置,使得失效节点不仅可以恢复到失效前水平,还可以减少相邻节点级联故障的风险,从面更有效地恢复网络功能。在SRS策略的基础上,Fu等[82]构造了一种基于节点耦合效应的动态恢复模型,用来分析和研究网络结构与功能的影响关系以及网络恢复过程中的能量和负载传输行为(见图7)。
图7 节点耦合效应的动态恢复模型[82]Fig.7 Dynamic recovery model of coupling effect of nodes[82]
2.2.4 其他失效
除此以外,现实世界中网络多呈现混合失效,即不同失效样式的组合。为此,文献[83]综合考虑网络级联失效和面临的二次失效风险,构建了复杂网络负载—容量动态修复模型(见图8),研究了不同修复策略下,网络效率、二次失效风险和级联效应引起的额外扩容能力之间的关系。
图8中,红色表示故障节点,绿色表示正常节点,黄色表示修复的节点,紫色表示未选择的故障节点。图8a为了减少故障节点造成的影响,当故障节点被修复时,它会向周围所有的故障节点开放,因此来自周围故障节点的重分配负载会加到修复节点上。如果新的负载超过了容量,修复后的节点将再次失败。图8b为故障节点被修复时,仅对修复节点周围的部分有效故障节点实施分配,来自有效故障节点的重分配负载将被添加到修复节点。如果新的负载超过了容量,修复后的节点将再次失败。这是一个折衷的选择,因为它解决了完全封闭的缺陷,减少了在完全开放的情况下发生二次故障的风险。图8c表示所有邻居节点均不参与负载分配,修复的节点不会进行负载分配。
图8 负荷动态恢复模型[83]Fig.8 Recovery model of dynamic load[83]
现实世界中,网络化系统的恢复是一个集人、财、智与物等资源于一体的过程。如2.1至2.2节所述,既没有应对多样化失效的统一恢复策略,也没有唯一的恢复策略能涵盖所有的时间、空间与资源代价影响因素。通过修复或重新配置受影响的网络元素,对受损的网络重新建立原有功能和服务,是一个失效与修复互相博弈、耗时且代价高昂的过程,因此必须审慎选择合理的网络恢复策略。
2.3.1 部分恢复
从实际应用来看,有限时间内恢复所有失效节点仅为理想方案,成本一般很高且收益难以保证,有必要考虑对网络重要部分先行恢复。另外,考虑应急恢复很难还原整个网络功能,有些恢复策略仅关注网络局部功能的还原。因此,部分恢复一般包括两类:一是局部范围恢复,即选取部分失效网络元素进行恢复;二是局部功能恢复,即仅恢复网络部分功能而非全部功能。
针对局部范围恢复,文献[84]提出了一种广泛应用于现实世界的LR(Localized Recovery)局部恢复模型,通过从一个种子节点开展逐步渗透,对一组邻居节点进行恢复。LR恢复过程如图9所示:
图9 局部恢复过程示意[84]Fig.9 Schematic illustration of the localized recovery process[84]
图9为LR模型恢复过程,其中:图9a为网络失效状态。网络经随机失效后,黑色圆点表明存活节点,白色圆点表示失效节点。图9b为恢复过程,种子节点为中心位置的根节点,其他待恢复节点按照与根节点的距离h进行排列。LR模型从根节点开始恢复,再随机选择h=1层上的节点进行恢复,然后是h+1层上的所有节点。在没有外部控制系统主导恢复过程且恢复资源有限的情况下,修复邻近节点通常比修复远处节点更容易,恢复后也不用考虑二次失效风险,而且所浪费的修复资源更少。因此,LR局部恢复是网络恢复的一种较优方法。然而,他们的案例研究中未考虑真实网络之间的其他属性,例如不确定性或成功恢复的可能性。而且,在一个复杂的网络中,同一距离层中节点之间的关系可能很难区分。
针对第二类局部恢复,文献[85]以全球航空网络遭遇故障为背景,定义人口稠密城市为目标恢复节点(TN, Target Nodes),所有TN构成网络GF,为测度网络GF的损伤程度和恢复效果,定义网络GF的传输效率η,
(4)
其中,N表示网络G的规模,n表示网络GF的规模。
为了在网络失效以后快速提高η,作者提出了一种基于局部介数的目标恢复方法(LBRM, Local Between Recovery Method),节点i的局部介数通过式(5)计算。
(5)
其中,σst表示从节点s到节点t最短路径数量,σst(i) 表示从节点s到节点t的最短路径总数中经过节点i的数量。在此基础上,作者进一步分析了局部介数和局部紧密性在整个恢复过程中发挥的重要作用,通过引入权重系数λ(λ∈[0,1])对局部介数和局部紧密性加权处理,进而提出了混合恢复方法(HRM, Hybrid Recovery Method)。与现有的贪婪恢复方法(GRM, greedy recovery method)相比,LBRM和HRM算法具有较好的恢复效果和较低的计算复杂度。然而,该策略未考虑复杂多层网络中的相依性,耦合连边的存在将深刻影响目标恢复节点的选择方案并最终影响整个恢复效果。
2.3.2 择优恢复
如前节所述,无论是恢复全部元素还是部分元素,均涉及修复资源的分配和利用,即择优恢复问题。通过若干节点量化方法来决定恢复资源的配置[86-88]是一种常用办法,例如,当铁路网瘫痪时,相较随机选择站点修复策略而言,优先修复处于线路交汇点上的车站能够更快促进铁路线网能力还原。根据这一理念,吴佳键等[89]在共同边界恢复模型的基础上,考虑资源成本的有限性和择优恢复的必然性,利用共同边界节点在极大连通网络内外的连接边数计算边界节点的重要性,提出一种基于相连边的择优恢复(PRCL,preferential recovery based on connectivity link)算法。该算法可表述如下,
步骤1:迭代步数n时,在恢复阶段找出相依网络上所有的共同边界节点;
步骤2:遍历网络A上的边界节点,按照如下规则计算求出每个节点的边界重要指数;
式中参数β(β∈[0,1])代表两类相连边在计算边界节点重要性时的比重。为了便于计算,用参数f=β/(1-β)来量化这两类相连边的比重关系。如果参数f等于1,即取值等于0.5时,说明极大连通网络内的相连边与极大连通网络外的相连边就衡量边界节点的重要性而言同样重要。
步骤3:网络A遍历结束后, 按照恢复比例λ,根据边界重要指数进行降序恢复。一旦网络A的边界节点恢复正常,网络B对应的耦合节点也立刻恢复。
步骤4:判断相依网络是否达到稳定状态。若达到,则统计网络鲁棒性指标;反之返回Step1迭代处理。
PRCL算法具有一定的可行性与现实指导意义。第一,在许多实际基础设施网络系统发生故障时,受时空等物理条件的限制,优先抢修正常区域周边的设施单元,由近到远逐步恢复(例如,在一个交通系统遭遇损坏时,很容易选择剩余网络附近的节点先行恢复);第二,如果候选恢复目标不是共同边界节点,那么就很有可能因其对应的耦合节点脱离极大连通网络而反复失效,导致这样的恢复行为不仅浪费资源而且没有实际意义;第三,现实社会中受资源有限等客观因素限制,必须考虑择优恢复。仿真结果表明,PRCL能够较好鉴别恢复过程中具有重要作用的少数边界节点,更加有效和及时地遏制故障的级联扩散。
2.3.3 自发恢复
对于现实中的动态复杂系统来说可能并不依赖于任何优先准则,有些网络由于内部波动,受损网络的很大一部分能够自发地再次活跃起来,例如股票交易系统或者经济崩溃后的恢复案例等。基于对实际系统的深刻观察,按照每隔一段时间,网络中满足条件的失效节点进行自我恢复。Majdandzic等人[90]设计了一种描述网络系统自发恢复的框架。假设网络中节点故障原因为内部故障和外部失效,在每个时间Δt,任意节点都能够以内部故障概率p*独立失效,以外部失效概率r失效,并经过一段时间后恢复正常。若以网络存活节点比例z代表网络状态,则图10a显示了自发恢复过程中的“相位反转”现象。图10b为r和p*共同作用下的网络状态演化轨迹,Phase Ⅰ表示高活动状态,Phase Ⅱ代表低活动状态。当相位反转发生时,网络状态将越过与Phase Ⅰ或与Phase Ⅱ之间的临界线。例如,图10a中的黄色点3与图10b中临界线上的黄色点3相对应,表明自发恢复引起的状态反转。当z值越过临界线进入Phase Ⅰ或Phase Ⅱ后,系统在该状态停留若干时间后,将迅速返至回滞区域且不会引起级联失效。
图10 网络自发恢复效果[90]Fig.10 Schematic illustration on the result of the Spontaneous recovery[90]
自发恢复多见于有机生命类系统(人脑、金融网络等),虽然是一个非常有价值的增强措施,但是在复杂的网络评估应用中仍处于初级阶段。除此以外,现实世界中许多工程技术系统(电网系统和计算机系统),几乎没有能力自动恢复其功能。个别系统即使具有自主恢复能力,其恢复过程仍需要较长时间和巨额能量消耗,难以满足要求。因此,除了通过内部的自发调整来实施恢复外,大部分仍利用环境资源或基于预先约定规则进行恢复。
2.3.4 联合恢复
为尽可能快地恢复网络系统的初始功能,随机恢复、择优恢复、局部恢复及自发恢复等多种类型的恢复策略可进行组合构成联合恢复策略。弹性的一个关键特征是在应对破坏性事件时的恢复能力,快速有效的故障恢复是提升网络弹性的重要手段(见图11)。为了使得网络能够更好应对不可避免的网络故障,打造更加弹性的复杂网络,Min等[91]从系统弹性评估的角度,以美国电力-油气系统为背景,设计了融合随机恢复策略(RS1,Random restoration strategy)、相依恢复策略(RS2,Independent restoration strategy)、先电力后油气恢复策略(RS3,Power first and gas second restoration strategy)、油气目标恢复策略(RS4,Gas aimed restoration strategy)和电力与油气折衷恢复策略(RS5,Power and gas compromised restoration strategy)等5种子策略的联合恢复策略。各子策略组合构成恢复队列,不同恢复队列代表不同的联合恢复策略。作者将最佳联合恢复策略等价于最优恢复队列设计问题。不同恢复队列对网络弹性的影响IA,通过式(6)计算。
图11 网络系统弹性输出曲线Fig.11 Resilience output of network system performance curve
(6)
其中,PT(t)为网络系统原有性能,PR(t)为系统恢复期间性能。作者采用遗传优化算法对IA进行最小化处理,进而获得了联合恢复策略的最佳恢复队列。2017年,Zhang等[92]在充分考虑恢复行为的调度对于网络弹性的重要影响的基础上,设计了一种优化路桥交通网络的灾后恢复行为的弹性框架,同时提出了一种实现目标弹性水平的最优恢复队列调度方法。Afrin等[93-94]对弹性复杂网络及其恢复策略研究进行了综述,同时提出了一个基于弹性的恢复评估框架以及节点权重优先恢复策略(PRNW,Preferential recovery based on nodal weight)、边缘恢复策略(PR,Periphery recovery)、局部恢复策略(LR,Localized recovery)3种网络系统恢复策略。作者使用混合整数规划方法,在确保相互依赖的基础设施网络系统弹性最大化的同时,使恢复过程总成本最小。此外,基于多目标优化模型,对比分析局部攻击下网络系统3种恢复策略的高效性。文献[95]将配电网建模为复杂网络,分析了弹性背景下的配网故障恢复问题。文献[96]提出了两种改进的网络弹性度量指标,在弹性分析的基础上比较了几种网络恢复策略的效率。研究表明,1)不同的恢复策略在恢复网络性能的不同方面表现出不同的效率,没有一种策略可以同时提高网络性能的各个方面。2)恢复时间对网络恢复的成本和效率影响较大,受损网络的最优恢复策略随破坏程度的不同而变化。此外,学者们相继提出了多个联合恢复策略[97-98],基本思路都是通过对恢复次序的优化实现系统弹性的高水平输出。总体来看,对于考虑资源配置的联合恢复策略已有一些初步的理解和认识,但距离真实网络系统的恢复应用仍有较大差距。尤其是深入挖掘联合恢复与系统弹性之间的内在联系,给出性能优越、资源消耗合理的联合恢复策略仍需更加深入的研究。
综合2.1节、2.2节和2.3节及其他现有恢复策略可知,目前围绕网络恢复虽然展开了大量研究,但仍然缺乏通用的理论研究框架,对网络恢复的动力学行为仍缺乏深刻理解。在下一步深化网络恢复研究中,应着重关注以下4个方面问题:
1)综合因素。网络的随机性、小世界特征和无标度特性等拓扑特征,多层网络的耦合性、演化性等因素,均对网络恢复过程与恢复效益具有显著影响。网络恢复应该综合网络属性、失效样式及资源配置多个因素,进一步完善相关恢复策略。除此以外,主观上不同的恢复目的也造成恢复策略的差异,例如2.3.1节中局部恢复策略的目的仅仅是对网络中部分节点的可用性进行恢复,而不考虑整个网络的功能状态。
2)弹性恢复。网络恢复的目标是将网络的功能重新返回到故障前性能水平。弹性也是一种应对多样化故障的有效途径,两者的目标一致。从2.3.4节可知,高水平的网络弹性与系统降级时间、恢复时间和动态性能损失量等紧密相关,通过可行和有效的故障恢复策略,网络可以具备更高水平的弹性。因此,考虑弹性的网络恢复策略不但整合了恢复时间、性能损失量、资源需求等多个因素(如压缩恢复时间和降低弹性过程中的性能损失量),而且涉及对这些因素的权衡分析以及博弈考量,可看作对问题1)的有力支撑。
3)不确定性。网络恢复过程面临着巨大的不确定性,这是由于恢复所要应对的失效问题本身就具有不确定性,网络的规模范围、结构演化过程以及人为忽视的若干关键要素也具有不确定性,一系列不确定性可发生在恢复过程中的任意时间和任何阶段。例如,恢复过程中的二次失效风险、可能遭遇的级联失效故障、临时性的恢复资源短缺等等不确定性都有可能出现。因此,良好可行的恢复策略必须提前考虑与充分应对诸多不确定因素。
4)现实约束。现有恢复策略大多是在高度抽象和简化的网络模型上进行的理论分析,然而现实生活的恢复措施或行为均受人力、经费、物质、政策制度多样化条件制约,如可恢复时间、可用资源、容量、成本和预算等。其次,恢复计划的成功实施离不开重要政策的支持,如运行制度、安全机制、疏散方针、管理条例等,并且因其模糊的表述形式和刚性内容而经常被忽视。因此,构建简洁通用、成本合理、灵活高效的网络恢复策略是后续研究的重要趋势。
现实中的系统例如因特网、电力网络等要在遭受随机故障或恶意攻击时足够鲁棒才可以维持正常的运转。为此,近些年来网络鲁棒性的优化设计引起了学术界的广泛关注。然而,网络优化问题与网络分析问题相反,不是从收集实际网络数据出发,去统计度序列得到度分布;而是在给定约束下,去寻找具有某种功能的最优网络结构[99]。网络鲁棒性优化也称网络鲁棒性设计,其研究内容大致分为两个方面:一是在给定的一些限制条件下,研究如何构造一个鲁棒性尽可能高的网络,如面向拓扑结构的优化;二是从网络承载的角度对其鲁棒性进行提升,如考虑网络功能的优化;三是在满足一定鲁棒性指标下,研究如何在最小投资成本下取得最大经济效益,如面向网络弹性的优化。
根据系统学理论,结构决定功能。从拓扑结构角度对网络进行鲁棒性优化是一种基本考量。面向拓扑结构的优化是指运用指定规则或智能算法对一定规模的网络结构进行优化,分析产生具有高鲁棒性的静态属性和结构特征,据此指导实际大型网络设计和结构调整,最终得到符合鲁棒要求的网络结构。
3.1.1 耦合优化
单层网络中,Gerald等最早开展了基于渗流理论的随机失效网络鲁棒性优化问题[100]。在此基础上,Liu等[101]把BA无标度网络的最优拓扑结构获取描述为:
(7)
研究了随机和蓄意失效过程中基于结构参数的最优拓扑问题。式(7)中,最小度值m在结构优化中起重要的作用,研究表明当m=1时网络达到其最优鲁棒性。网络鲁棒性与网络异质性紧密相关,度分布熵是网络结构异质性的度量。为此,Wang等[102-103]提出了复杂网络鲁棒性的熵优化问题,构建了网络熵优化模型。把网络面对随机故障的鲁棒性优化转化为度分布熵的优化,研究了BA无标度网络面对随机故障的鲁棒性。他们发现网络的最小度m给定的条件下,网络的鲁棒性与规模N、网络平均度〈k〉成正比,与网络标度指数λ成反比,即网络越不均匀面对随机故障的鲁棒性越强,进一步验证了文献[100]的结论。Zhou等[104]发现通过减少单个网络内的同配性来重新设计网络拓扑结构可以提高整个系统的结构鲁棒性。
双层网络中,优化研究主要聚焦在网络间的耦合关系优化[105-106],主要包括3个方面:
1)耦合边添加优化。文献[107]~[111]等分别研究了增强网络鲁棒性的多个加边策略。其中,Cao等[107]设计了一种低极性加边策略LPS,通过加边来提高网络度分布均匀性,进而改善网络鲁棒性。在此基础上,Ji等[111]根据相依节点层间度差异,将子网络内度数差较小的节点进行连接,提出了基于低度度差的加边策略和基于随机度度差的加边策略,探讨了通过增加相连边来增强相互依存网络的鲁棒性的可行性。此外,Cui等人[112]充分考虑了加边过程中的成本,提出了一种同时增加相连边与依赖边的优化方法。作者探讨了在有限成本约束下,如何通过两种加边数量的合理组合以实现最佳的相依网络鲁棒性。实验结果表明,加边(相连边与耦合边)方法具有成本低、易于操作等优点,是单一攻击与混合攻击等多样化攻击模式下提高相互依赖网络鲁棒性的一种较好优化方案。
2)耦合边删减优化。文献[113]将耦合网络中网络的比例A依赖于网络B作为网络的耦合强度指标,提出了一种耦合关系优化模型。该模型通过移除一组耦合链路(解耦)来降低系统之间的耦合程度,在特定临界阈值以下实现连续性渗流过渡,从而提高了耦合网络的鲁棒性。但是,解耦优化是以牺牲系统原有功能为代价,因为耦合边删减从某种程度上改变了网络系统的功能。
3)耦合模式优化。Valdez等[114]提出了两个网络依存的3种耦合模式:同配耦合(AL)、异配耦合(DL)和随机耦合(RA)。其中,AL是指网络A中的高度值节点与网络B中的高度值节点进行链接;DL指的是网络A中的高度值节点与网络B中的低度值节点相链接;而RA是指分别随机选择网络A和网络B中各一个节点进行链接。研究发现网间同配依赖较随机依赖具有更强的鲁棒性。Chatto[115]、Zhou[116]、Tan[117]及Parshani[118]等分别从网络内的同配性、网间度中心性等角度,验证了文献[114]的结论。文献[119]~[120]在同配依赖的基础上,针对最优鲁棒性的一对一相互依存网络结构,提出了一种偏好连接策略。此外,Yagan等[121]提出了一种“常规分配”算法,即为每个节点分配相同数量的内部链接。结果表明与随机分配和单向链路相比,向系统中所有节点分配相同数量的双向链路的规则分配策略,能够使整个网络具有更好的性能。Cheng等人[122]通过研究发现与相同类型网络形成的耦合网络相比,不同类型的网络产生的耦合网络的性能更加脆弱。换句话说,通过两个耦合网络的异质性可提高其鲁棒性能。文献[123]不仅考虑了层之间的依赖关系,而且还考虑了单层内节点失效的多个因素,调整了层内节点对其他节点的依赖关系。
耦合优化具有一定的创新性,但其应用范围有限。首先,对失效样式的考虑较少,优化者在选择耦合边添加或删减策略之前,必须了解会遇到什么样的威胁,攻击模式会影响攻击效果,也需要不同策略。其次,耦合加减边策略是以改变系统原有功能为代价的,在实际应用中有待检验。最后,具体应用受限,偏好连接策略改变了网络耦合模式,只适用于网络设计,难以应用于对抗的动态过程。
3.1.2 算法优化
单目标经典算法优化。经典优化算法包括有线性规划,动态规划等。Sun等人[124]对单个网络鲁棒性影响因素进行了分析,提出了一种基于优化理论的网络鲁棒性分析框架(ZOZM,zero-order zero-model),设计了基于变邻域搜索的复杂网络鲁棒性改进优化方法。该算法具有规模大、维度高、不连续等特征,难以有效解决实际应用问题。针对蓄意节点攻击,文献[125]提出了一种简单有效的交换节点连接的贪心算法来优化现实网络的鲁棒性。实验表明,该算法能够在较小的代价的前提下有效地提高现实世界网络的鲁棒值。结合进化算法的全局搜索能力,Zhou[126]、Wu[127]等分别提出了一种Memetic算法来优化复杂网络抵抗恶意攻击的鲁棒性。同时,与爬山法、模拟退火算法等其他优化算法进行了对比分析,验证了Memetic算法的有效性。文献[128]提出了一种基于网络互赖性的贪婪算法来检测可能导致致命级联失败的关键节点。传统优化算法中的目标函数个数大多是单一的,得到的网络往往是局部较优的结果,对于网络非全局鲁棒性增强具有较好作用。然而,网络系统大多时候追求的是整体功能的鲁棒性。同时,对网络的攻击可以分为多种类型,并且真实世界中的网络随时都有可能遭受多模式恶意攻击。此时,对于现实中的很多问题,单目标优化远远不够,因为很多实际问题需要同时考虑多个因素,将各个目标都包含在分析范围内,使最终结果达到综合的平衡状态。
针对以往大多数研究只关注优化网络在单一影响因素下的鲁棒性,或者在优化网络鲁棒性的同时没有考虑网络结构调整代价等其他条件的现实问题,部分学者提出了多目标智能算法优化策略。
多目标优化是诸多优化问题中的一个重要领域。近年来智能优化算法层出不穷,具有优秀的并行性和全局搜索能力。智能优化算法,又称现代启发式算法,是一种具有全局优化性能、通用性强且适合于并行处理的算法,理论上可以在一定的时间内找到最优解或近似最优解。常用的智能优化算法有禁忌搜索算法、粒子群算法及蚁群算法等。众所周知,自然界生物体通过一代代的演化来适应周围变化的环境从而使其自身不至于被苛刻的环境所淘汰,进化算法就是基于这样的思想逐步发展起来的,它是用数值仿真的方式对自然界生物进化过程进行模拟。与此类似,网络鲁棒性的增强也是谋求系统在严酷威胁下的生存性能。为此,李政[129]提出了两种算法,一种是基于多目标进化来同时优化网络的节点鲁棒性和边鲁棒性,以基于非支配排序的多目标进化算法为框架,根据节点鲁棒性和边鲁棒性设计目标函数,针对网络结构特点设计合适的遗传操作。该算法可以优化得到在多模式恶意攻击下鲁棒性均衡的网络,得到的优化结果更适用于真实世界中网络被攻击的情况。另一种是基于最小代价的网络鲁棒性优化算法,该算法目标是在优化网络鲁棒性的同时约束网络结构调整的代价这一指标,将基于分解的多目标进化算法作为框架,并根据最小代价和网络鲁棒性的相关性设计了目标函数和效果更优的遗传操作。优化结果表明,该算法可以一个较低的网络结构调整代价来较好地提升网络鲁棒性。Matisziw[130]基于特定时间周期内网络连通性的最大化和系统成本最小化要求,提出了一种多目标网络基础设施恢复模型(NIRM)。唐向龙等[131]提出了高效优化网络鲁棒性的遗传进化算法MA-RSFCE。Zhu等[132]从智能优化的角度建立了两种抵御网络级联失效的多目标优化模型。同时采用多目标免疫思路设计了一种非支配邻居免疫算法(NNIA,Non-dominated Neighbor Immune Algorithm)对优化模型进行了解析。优化结果给出了促进或抑制网络中级联故障传播的连边策略,通过剔除网络中这些易于级联失效传播的连边,或者对这些边进行重点保护可有效抑制级联失效在网络中的传播。吴贤国等[133]针对地铁管线网络,通过对比改进粒子群优化算法与遗传算法的优化结果,建立基于改进PSO算法的地铁复杂网络鲁棒性优化方法。作者基于优化结果和实际情况,删选优化增边信息来提出优化方案,并与武汉市2017年的规划线路进行对比。结果表明,武汉市地铁线网的鲁棒性可通过增边来进一步优化,改进PSO算法在地铁线网的鲁棒性优化中是可行的。然而,该优化方案未考虑增边过程中的成本付出,难以满足现实要求。此外,该方案仅增加节点之间的连边,未涉及节点的增加(即适用于在现有线网基础上进行优化),不适合地铁线网大范围扩建的优化决策。把多目标优化与智能算法相结合,对复杂网络鲁棒性进行优化是一种效果很好的创新,在求解网络多鲁棒性目标优化问题的时候表现出了可扩展性、可容错性、自适应性等独有的优点,对实际问题有很好的理论指导意义。然而,智能优化算法复杂度较高,在优化大规模网络时很难在有限时间内得到非常好的结果,对网络鲁棒性优化的时效性和性价比提出了诸多挑战。如何更高效地将智能进化算法整合到复杂网络鲁棒性优化问题,是未来极有价值的研究方向。
3.1.3 重构优化
拓扑重构的概念最早出现于配电网研究中,是指当网络结构破裂或性能下降时,采取一定的措施来维护网络拓扑并使网络恢复连通,它能够在网络运行正常的情况下实现对网络能耗的降低以及网络负荷的均衡,在网络发生故障的情况下快速恢复非故障区的供电。如果没有拓扑重构策略,当网络发生故障而造成部分节点和链路失效时,将会大大地增加节点间数据包传输的延迟时间,导致负荷增加甚至数据丢失,进而影响网络的通信质量,给用户带来严重损失。所以,为有效地提高网络的鲁棒性能,迫切需要采取相应的拓扑重构策略改善网络的性能。一般的重构策略通过在网络中增加相应的备份链路和节点等修复措施,缩短网络节点之间的最短路径,提高网络的连通性。为此,FESTA算法[134]、Spider-Web Heuristic算法[135]、CORP算法[136]等相继被提出并应用于网络拓扑修复,实质均是使用最少的中继节点达到重建健壮拓扑,达到保持网络连通的目的,只是放置中继节点的位置和方法不同。然而,对于修复后的网络,很有可能又会因为其中所部署的某个中继节点的失效而再次失效,因此,对修复后的网络进行容错性和鲁棒性的改进受到了关注。拓扑重构与系统具体的应用背景、支撑目标紧密相关。为此,邓青等[137]针对作战系统网络,考虑了作战系统指挥控制组织结构的等级层次,从指控网络的自相似分形特征出发,提出了基于分形理论的作战系统重连优化方法。采用分形维数的盒计算方法,结合网络的重正化过程构建初始网络。依节点的度分布正负相关性结合的重连方式,分离集群节点、延长路径,从而完成已有网络的鲁棒性优化。通过对分形优化前后两团作战系统复杂网络鲁棒性的各个指标进行比较分析,证明优化后的作战系统复杂网络整体上具有较高的鲁棒性能。该重构优化方法不同于传统的连通度、平均最短路径长度等共性指标优化,为增强军事通信网络的鲁棒性,史文博等[138]以网络聚合度为目标函数,在保证节点度不变的约束下提出了基于传统HBF-α改进算法和模拟退火算法的网络链路重构策略。研究表明,针对规模不同的军事通信网络鲁棒性,采用不同的重构优化算法具有较好的优化效果。
网络最重要的功能之一是有效传输其所负载的对象。随着社会信息的爆炸式增长,网络化系统中流动的信息、交通车通、电力等负载不断加重,网络拥塞现象经常发生。从网络功能的角度对网络进行优化,主要包括两个方面:一是优化网络承载能力,主要研究的是如何破解因网络中节点或边的容量限制而引起的复杂网络级联失效现象。二是优化网络传输能力,主要是研究如何提高异构网络环境下的负载传输能力。以在网络出现阻塞或需重新路由时,网络保持最优的传输性能。经常采用的路由策略包括最短路径(SR,Shortest Path Routing)、随机路由(RR, Random Routing)和高效路由(ER, Efficient Routing)等策略[139]。
3.2.1 优化网络承载
网络中节点、连边等要素的负载容量是另一重要影响因素,对网络中节点或边的容量进行分配也是复杂网络鲁棒性优化的重要内容。由于网络功能的鲁棒性与网络中的负载信息容量成正比,信息容量越大网络鲁棒性越强。为此,Ma等着眼增强双层复杂网络的信息承载能力,在网络总的节点处理能力一定的条件下,从合理分配网络资源的角度入手,提出了基于度的有效节点处理能力(DE,Degree-based Efficient Resources Allocation Strategy)分配策略和基于介数的有效节点处理能力(BE,Betweenness-basedEfficient Resources Allocation Strategy)分配策略[140]。数值仿真分析结果表明,DE和BE分配策略由于同时考虑了逻辑层和物理层的结构特征,所以能有效提升网络信息容量。此外,由于节点的介数比度更能精确反映网络节点的负载情况,所以BE策略较DE策略能更有效地提高网络信息容量。尽管如此,由于BE策略的代价函数基于节点介数,所以适合于网络拓扑结构容易获得、介数容易计算的情况。DE策略是基于网络局部特征节点度来分配节点的处理能力,虽然不如BE策略更有效提高信息容量,但是对比BE策略的计算量要小很多,相对较容易实现,两种资源分配策略适用于不同的应用场景,抑制网络拥塞的发生,从信息容量角度增强网络的鲁棒性能。此外,考虑负载的分配模式,程运洪[141]针对相依网络中的失效节点(边)负载分配问题,提出一种基于领域内节点最大剩余容量的负载重分配策略(LDMRCAN,Load Distribution strategy based on the Maximum Residual Capacity of Adjacent Nodes)。该策略引入负载重分配效率参数θ以及初始负载强度参数τ,并以SF-SF与ER-ER网络遭受蓄意攻击为例,仿真发现,随着初始负载强度参数τ值的增加,网络鲁棒性表现出先增强后减弱的规律。网络鲁棒性随着分配效率参数θ值的增加呈现出一直减弱的趋势。因此,合理调节领域内节点最大剩余容量强度参数θ和负载重分配效率参数τ可以有效提高网络的鲁棒性。
3.2.2 优化网络传输
从功能角度考虑,负载的高效传递也是网络鲁棒性的重要表征。现实世界中,从表面来看其结构保持完整,但其所负载的流量却超过限额而导致网络瘫痪,整个网络的性能急剧下降的现象普遍存在。如重大节假日期间,某些交通路网结构可能完整,但其上承载的交通流可能过于拥堵而使整个路网系统陷入瘫痪。从负载传输的角度,如何通过负载的传输路径优化来降低网络拥塞成为一个急需解决的问题。复杂网络基于路由策略的鲁棒性优化主要是考虑负载在网络中传输时通过采取不同的路由策略以提高网络的负载传输能力,主要应用于网络的阻塞控制。由于通过不同的路由对于负载传播时间延迟等具有很大的影响,因此负载路由策略优化是在寻找一种使得网络负载传输延迟φ最小的最优路由:minφ(vi→vj)。
路由策略可分为全局路由和局部路由两类[144],全局路由包括最短路由SR[145]、高效路由ER以及优化介数等。局部路由包括随机游走[146]、一阶邻域搜索、二阶邻域搜索、局部信息与动态信息结合游走等[147]。其中,全局路由研究主要是通过最小化某种代价函数(如路径中的跳数和、路径节点的度数和以及网络最大介数等)来选择信息包传输的最佳路径,而最短路径路由策略(SR)可以找到两点间跳数最少的路径,应用最为广泛。文献[148]基于ER路由策略,提出了一个混合路由(HR,Hybrid Routing)策略。与高效路由ER策略相比,该策略提高了网络节点传输能力的利用效率,使得网络整体功能鲁棒性得到改进,但是计算复杂度相应增加了。文献[149]对复杂网络上的信息流传输优化进行了深入研究,分别提出了基于网络节点强度的和基于网络边权值的带宽分配策略,通过在加权网络上的实验仿真表明了所提策略的有效性。以上研究大多将重点放在如何设计一种高效的路由策略来提高网络的传输性能,但是没有任何一种路由策略关注是否已经最大限度地提升了网络的传输性能,也就是最优状态。为此,文献[150]提出一种适用于现有路由策略的普适优化算法。首先通过理论分析指出制约网络传输能力的关键因素是最大介数中心度,将“最大介数中心度是否已经最低”作为评判路由策略是否最优的标准,采用“惩罚选择法”避开网络中介数中心度值比较大的节点,使网络介数中心度值分布更均匀,均衡网络中各个节点的传输负载。仿真结果显示,该优化算法针对现有路由策略均能降低最大介数中心度值,大幅度提高网络的传输能力。对比全局路由和局部路由策略可知,全局路由是一种利用网络全局信息的静态路由方法,每个节点需要掌握整个网络的结构信息,在面对大型网络时,很难获取全局网络信息,并且需要进行大量的计算。相反,局部路由则是每个节点只需知道其邻居节点的信息,以此作为路径选择的启发式信息,具有更强的灵活性和适应性。
总得来看,优化网络承载策略具有简洁、高效的特点,但需要投入大量的人、物力及时间,较高的代价在一些实际网络系统中缺乏可操作性。与改变网络结构和优化网络承载所需较大的开销相比,优化网络传输是在现有软硬件条件的基础上进行的升级改造,实现途径更为容易且成本更小,是提高网络功能鲁棒性的最佳方式之一。此外,网络功能鲁棒性是结构、承载容量和传输能力等多因素共同作用的结构,需要构造多目标优化算法来对相应复杂网络进行鲁棒性优化。根据掌握资料,这方面研究目前较少,未来也需要予以重视和加强。
弹性是网络预防和适应环境变化、承受扰动以及快速复原的能力,其对故障的吸收和转化保持其基本功能的性质与网络鲁棒性增强的目标一致。为提升网络弹性,Zhang等[151]针对网络系统的确定性和随机性,提出了一种基于弹性的网络优化方法。该方法目标是在满足系统弹性约束的同时,使网络的成本最低。首先了解每个系统组件在中断后的恢复规律,为此,作者设计了一个描述组件破坏后恢复过程的非线性函数:
(8)
(9)
式(9)为确定情况下优化模型。其中,φ(td|eq)表示td时刻系统中断状态,ψ(u*(t)|eq)为t时刻系统状态。
(10)
式(10)为随机情况下优化模型。作者采用贝叶斯方法即通过概率分布描述了参数a、b和λ的不确定性。最后,结合概率解发现算法与随机排序对所提优化模型进行了求解,并通过算例验证了方法的有效性。
同此类似,Yasser等[152]针对相互依赖的基础设施网络系统在不同中断事件后的恢复问题,提出了一个综合了恢复时限和资源的可用性、节点或连边等组件要素的恢复优先级等多个因素,基于弹性驱动的多目标优化模型(MORDROM,Mmulti-objective resilience-driven restoration optimization model),目标之一是最大限度地提高集体网络的恢复能力,之二是最小化与恢复过程相关的成本。
(11)
(12)
式(11)为最大化弹性目标。式(12)为最小化成本目标,包括网络流成本、恢复成本及扰动成本等。文献[153]研究了不确定性条件下运输网络紧急恢复策略的优化。首先,提出了两个弹性指标来衡量网络恢复速度和网络性能的累积损失。其次,将连通度作为交通网络性能的指标,建立了确定性和随机情况下基于弹性的双层规划模型。上层决定哪些路段需要恢复和修复时间序列,以最大限度地提高系统的弹性。较低层将用户对上层决策的响应表示为具有时间序列的用户均衡(UE)。在此基础上,设计了一种融合遗传算法和Frank Wolfe算法的并行机器调度算法。最后,通过实例验证了该方法的有效性。然而,该方法未考虑网络恢复过程中的结构属性、系统要素面临的二次失效等不确定性因素。因此,相互依赖的基础设施网络的恢复力和恢复规划研究应考虑社会和空间脆弱性,为决策者提供更可靠和全面的指导。
优化性策略是改进网络鲁棒性的重要途径,无论是面向拓扑结构的优化还是考虑弹性的优化,均权衡网络结构性能收益与付出成本、综合考虑结构与功能关系、抵御和恢复等多因素,较为全面地给出了增强网络鲁棒性的指导措施。不足之处和后续改进:首先,实际网络系统规模庞大、交互复杂,智能算法复杂度较高,直接进行优化往往代价很高,特别是在优化大规模网络时短时间内很难得到预期结果。如何更高效地将智能算法应用到复杂网络鲁棒性优化问题,是一个极富挑战性的领域。其次,网络弹性理论的不健全、弹性度量指标的多样化等,也是影响弹性优化结果可信性的重要因素。最后,优化是对整个系统的重新设计,然而现实中受经济或时空条件限制,大范围内重建网络结构或改善耦合关系几乎不可能。作为一种全面有效应对失效事件的动态措施,从这个角度讲,推进考虑弹性的网络优化在实际系统操作层面的拓展应用,对于网络鲁棒性增强策略研究具有重要实用价值。
综上所述,防御型、恢复型和优化型策略均对网络鲁棒性具有增强作用。然而,这三种策略的关注点和实现途径均不同,防御性策略重在“防”,是一种事前的、被动的和静态的增强行为;恢复性策略偏重“攻”,是一种事后兼顾事中的、主动的和动态的增强行为;优化性策略虽然从目的上要么侧重于攻、要么侧重于防,是一种事后兼事前的增强行为。着眼下一代网络技术和信息通信领域发展,以及网络面临威胁的持续升级,任何单纯的“攻”与“防”行为均很难全面有效地应对网络威胁,网络系统的鲁棒性增强应由孤立的攻或防增强向“攻防结合”增强转变,由主动与被动分别增强向“主动与被动结合”增强转变,由片面的静态或动态增强向“动静结合”增强转变,设计提出智能、自适应及弹性的网络化系统鲁棒增强策略。我们认为可从以下几个方面加强研究:
1)网络自适应增强策略研究。现实世界中,威胁事件的动态性、多样性与不确定性等典型复杂特征,对网络鲁棒性增强提出了新的挑战。自适应性与现实世界中的大多数网络相似,自适应增强是对被动与主动增强的有机融合,强调网络元素、拓扑结构、支撑功能等随时间的演化与自组织变化,通过链路预测、深度学习等智能技术预测系统潜在的威胁事件,积累应对故障的经验教训,甚至调整影响网络性能的动力学行为,实现对多样化威胁的实时智能感知、复杂动态交互与应对方案匹配。通过自组织策略来增强网络的鲁棒性,是未来的一个全新探索领域。
2)网络弹性综合增强策略研究。现有鲁棒性增强策略多为单一型策略,有的重在事前防御,有的注重事后恢复,有的强调事中优化等。与此同时,近年来受到学者们持续关注的弹性研究,普遍认为聚合防御性、恢复性与优化性等于一体的网络弹性是大型复杂系统的一种综合属性,构建弹性网络系统可以在更深层次、更广范围和更高水平上应对网络故障或失效威胁,已成为增强网络鲁棒性的全新途径和有效举措。随着研究持续推进,网络弹性综合增强策略的研究框架、动力学行为机理等问题仍处于空白,用于刻画真实复杂系统的多层弹性网络设计与鲁棒性综合增强将是未来重要研究方向。
3)网络可控性增强策略研究。随着网络科学的深入发展,复杂网络可控性这一挑战性问题已引起广泛关注[154-157]。当复杂网络发生动态故障时,其可控性测度的稳定性是保证网络防御和重构恢复的基础和前提。例如,文献[158]研究发现BA无标度网络鲁棒性越强,其可控性也越强。文献[159]基于Majdandzic自发恢复模型,拓展研究了分析了不同参数下动态恢复模型中结构可控性的动态变化过程。仿真结果表明该模型可控性测度存在明显相变现象。也就是说,改进节点恢复机制后,相同条件下网络可控性测度的相变点向右偏移,显著提高了网络可控制的鲁棒性。此外,复杂网络的控制是分析和研究复杂网络的重要途径,探索应用牵制控制、分布式控制等复杂网络控制方法,从提高网络可控性角度对网络鲁棒能力进行优化,探讨动态失效网络模型的可控性变化趋势及其与网络鲁棒性的关系等均有待进一步深化研究。