一种基于时间分层的复杂网络传播源点定位方法与流程

文档序号:12491654阅读:1195来源:国知局
一种基于时间分层的复杂网络传播源点定位方法与流程

本发明属于计算机应用技术领域,涉及一种基于时间分层的复杂网络传播源点定位方法。



背景技术:

现实世界中的很多复杂系统都可以抽象为复杂网络,例如社会网络、Internet网络、生物网络等。传播是网络上普遍存在的动态过程,例如疾病在人群网络中的传播、谣言在社交网络中的传播、数据包在Internet网络上的传播等。如何分析、理解及控制复杂网络上信息传播过程,已成为计算机科学、社会学、物理学等多个学科的热点研究方向。定位复杂网络中的传播源点,即找到首先发布传播的源头节点,是网络传播分析的关键问题之一。只有找到传播发生的源头,才能够准确还原传播过程,预测传播范围、控制传播影响等。监控复杂网络上的传播过程,找出传播的源点,对于许多实际问题具有重要的意义。

有效距离是由Dirk Brockmann等人在《The Hidden Geometry of Complex,Network-Driven Contagion》中提出的。现以航空网络中的人口迁移来说明有效距离。例如,在一个航空网络中,从n到m存在航线,每天将一定数量的人口从n到m,那么定义从n节点到其直接相连的m节点的有效距离dmn=(1-logPmn)≥1。

有效距离的概念反映了一种想法,即如果n到m的移动率很小意味着两点之间的距离大,反之距离越短。由于节点之间的移动率Pmn≠Pnm。有效距离通常来说是不对称的,即dmn≠dnm。基于有效距离的概念,可以定义一条有向路径Γ={n1,...,nL}的有效长度λ(Γ)为这条路径上每条边的有效距离之和。此外定义网络中随机的一个节点n到另外一个节点m的有效距离Dmn为n到m之间最短路径的有效长度,这里的路径的有效距离同样不具有对称性,即Dmn≠Dmn。即Dmn=minλ(Γ)。

流行病,谣言在全球传播是一个复杂的、动态的网络驱动过程。然而,由于网络的规模巨大,无法监测所有节点的状态;由于网络的结构复杂,很难还原信息的传播过程.已有很多工作致力于建立网络传播模型及分析传播动力学过程,但是,对于如何定位大规模复杂网络上的潜在传播源点还知之甚少。因此,寻找大规模复杂网络中传播过程的源头节点,具有迫切的现实意义和应用价值。

对于复杂网络上的传播源点定位问题,一类方法是获取网络的传播子网,即网络中所有收到消息的节点构成的子图,通过基于拓扑中心性或传播路径的分析,找到最有可能的传播源点.例如,一种方法基于有效距离的概念,将复杂的传播拓扑还原为环状扩散,而扩散圆心即为潜在的传播源点。由于源点一定包含在传播子图中,并且所有节点的感染状态已知,所以这类方法的定位准确率较高。但是,对于超大规模网络,例如在线社交网络来说,获取全部的传播子图的规模极大,很难应用于实际传播。另一类方法根据网络中部分节点的传播状态,推断潜在的传播源点.预先选择的部分观察点记录收到消息的时间和方向,采用最大似然估计方法估计消息源点。这种方法能够有效地降低传播数据的需求,因此具有很大的应用潜力。然而,由于观察点数量一般较少,观测数据并不完整,这种方法的定位准确率较低,很难应用于真实网络中复杂传播过程。

本发明提出的方法结合了两种方法的优势,基于部分观察方法,利用节点间的有效距离进行定位,能够在监测少量观察点的前提下哦,以较小的监测代价,有效地提高源点定位的准确率。



技术实现要素:

本发明提供了一种基于时间分层的源点定位方法,该方法能够基于少量观察节点的监测数据,利用时间分层方法,将观察节点分组,并利用集成学习机制,提高源点定位准确率。

本发明的一种基于时间分层的源点定位方法,采用的技术方案如下:

步骤1,部署网络观察节点

在网络G(V,E)中预先选择若干节点作为观察点,记为O={o1,o2,..ok},其中V为节点集合,E为边集合。当观察点o在首次收到消息m时,记录了收到消息的时间t和方向v,表示观察节点o从节点v在时间t收到消息m,如图1a、图1b所示。

步骤2,建立分层观察节点

首先找出网络中所有被感染的观察节点,根据其感染时间找出最先被感染的节点o1及感染时间t1,最后被感染的观察节点ok及其感染时间tk,计算感染事件窗口长度t=tk-t1

设定分层阈值θ,从t=t1开始,统计该时刻中的观察点数目,如果小于θ,则将该时刻中的观察点与下一时刻中的观察点合并构成一个新的分层,然后继续统计该新分层中观察点的数目,如果大于等于θ,则第一层确定;如果新分层中观察点的数目如果依然小于θ,则继续合并下一个时刻的观察点,直至新分层中的观察点数目大于等于θ,第一分层确定。之后按照上述方法构建接下来的分层,直到将所有被感染的观察点均分层完毕,最终产生m个分层。具体分层流程如图2所示。

步骤3,基于分层的源点定位

对m个分层分别进行源点定位。每一层的定位方法如下:

Step1:令候选源点集Λ为除观察点外所有节点,计算候选源点集Λ中的每个候选源点到当前分层中所有观察点的有效距离Deff

Step2:计算每个候选源点的有效距离的均值avg_eff和方差var_eff,并取均值和方差的和作为该候选源点的定位比较值L=avg_eff+var_eff

Step3:比较所有候选源点的定位比较值,按照定位比较值从小到大的顺序选出前k个节点,得到该层的定位结果序列。

步骤4,分层定位结果集成

令分层i得到的结果序列为Li={n1,n2..,nk},为Li中的节点分配权值{k-1,k-2,…,0},即权值Li(n1)=k-1,Li(n2)=k-2,以此类推。计算所有分层结果序列中节点的得分其中i={1,…,m}为分层数,pi为第i层观察点占总观察点的比例。得分最高的节点即为传播源头节点。

本发明能够克服大规模复杂网络中观察节点较少引起的定位准确率低下的问题,能够以较少的观察节点数量,达到较高的观察准确率,从而以较小的代价更有效的定位传播源点。本发明在仅监测网络中少量节点传播状态的前提下,能够准确的定位传播的源头节点。与类似方法相比,在全球航空网络与BA、ER模型网络的实验测试中,本发明在相同比例的观察点前提下具有更高的定位准确率。

附图说明

图1a为网络传播与观察点的开始时刻部署示意图。

图1b为网络传播与观察点的结束时刻部署示意图。

图2为ER网络上的方法定位准确率比较。

图3为BA网络上的方法定位准确率比较。

图4为全球航空网络上的方法定位准确率比较。

图中:

源点节点首次感染经过的边

观察点节点首次感染未经过的边

分层算法-高度策略

分层算法-随机策略

K-Center算法-高度策略

K-Center算法-随机策略

—EF算法—

具体实施方式

以下结合技术方案和附图详细叙述本发明的具体实施例。

在网络中随机选取一个非观察点作为传播源点进行随机传播,观察点同时记录传播信息。使用分层定位方法法进行定位估计,如果估计源点与实际源点一致,则记为定位成功。定位准确率为多次随机试验下的定位成功的比例。

我们选用有效距离(EF)方法(Dirk Brockmann等提出的方法)和K-Center方法与分层方法进行比较。采用高度优先和随机部署两种观察点部署策略,分别做500次随机传播试验。实验结果如图2-4所示。可以看出,当观察点比例大于15%后,分层方法在两种观察点部署策略下均好于EF方法和k-center方法。随着观察点比例逐渐增大,分层方法的准确率均有较大的提高。

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