本发明专利技术公开了一种动态网络PageRank值的实时跟踪方法。针对随机游走会再次访问网络中的节点和边的情况,本发明专利技术引入一种重访问概率模型。在更新PageRank值时,首先依据重访问概率模型计算出需要调整的随机游走路径的精确数量,然后从保存的历史路径中删除并重新模拟相应数量的随机游走路径,得到更新后的PageRank值。每次网络中有新的边加入或者移除时,就对现有的PageRank值进行实时的增量更新,从而达到动态网络PageRank值的跟踪目的。本发明专利技术提出的方法适用于大规模的动态网络,显著提升了动态网络PageRank值的跟踪效率,并且在长期的跟踪过程中不会累积误差。
A Real-time Tracking Method of PageRank Value in Dynamic Network
【技术实现步骤摘要】
一种动态网络PageRank值的实时跟踪方法
本专利技术涉及网络科学技术中节点影响力计算领域,适用于大规模动态网络的PageRank值的实时跟踪。
技术介绍
网络是对象集合以及对象间关系的一种强有力的表达方式。随着互联网,万维网,以及社交网络的快速发展,对于网络数据的研究和分析也变得越来越重要。其中有关中心性的概念,特别是PageRank中心性度量在网络研究领域也受到很大的关注。1998年,谷歌的搜索引擎首次使用PageRank算法对万维网上的网页进行排序,从而给用户提供更好的搜索结果。PageRank算法仅从万维网的拓扑网络结构来衡量页面的受欢迎程度,而不考虑页面的具体内容。由于PageRank算法考虑了从重要节点的获得的中心性会因为共享而被稀释的情况,因此相比于原有的特征向量中心性和Katz中心性能够更加合理地度量节点的中心性,从而被广泛地应用于社会学、物理学、生物学和计算机科学等领域。然而现实中的网络往往是动态变化的。例如在万维网中,每秒钟都有超过60万个新网页产生。现实网络的另外一个特点是,它们的规模都非常庞大。根据Facebook公司在2017年公布的数据,Facebook的日活跃用户达到了13.2亿,每天发送的消息更是多达几百亿条。在这样一种情境下,传统的静态网络PageRank算法无法满足对网络PageRank值的实时跟踪。因此需要一类能够通过增量迭代,实时跟踪网络中节点的PageRank值的算法。尽管目前的算法能够增量的计算动态网络的PageRank近似值,却依旧存在以下两点不足。首先,这些算法在增量计算PageRank值时都会累积误差,而且误差累积得很快,因此不得不在运行一段时间后就需要重新计算一次PageRank值。其次,这些算法需要大量的存储或者复杂的计算才能够增量计算PageRank值,使得算法的效率很低,对于动态网络很难做到实时的PageRank跟踪。
技术实现思路
针对随机游走会再次访问网络中的节点和边的情况,本专利技术提出了一种适用于大规模动态网络的PageRank值的实时跟踪方法,该专利技术能够高效并且无误差的跟踪动态网络的PageRank值。本专利技术的技术方案是在动态网络发生变化时,已知上一时间点的所有随机游走路径和保存的状态值的前提下,基于重访问概率模型,做到实时无误差的跟踪网络的PageRank值。主要包含以下步骤:步骤1、对于初始网络,以网络中的每个节点为起始点,以重置概率∈模拟R条随机游走,保存所有得到的随机游走路径,并且对于网络中的每个节点u,保存状态值S(u)和V(u);步骤2、有新的边e(u,w)加入网络或者从网络中移除,依据重访问概率模型计算出需要调整的随机游走路径数量M;M的值的计算方式为:当添加边e(u,w)时,需要调整的随机游走路径数量M=|S(u)|/(d(u)+1-d(u)*R(u)),其中d(u)为节点u的出度;当删除边e(u,w)时,需要调整的随机游走路径数量M为经过边e(u,w)的随机游走路径数量;步骤3、从与网络变化有关的随机游走路径中随机选取中M条进行调整;随机游走路径的调整方式为:当添加边e(u,w)时,对于每条经过节点u的随机游走路径,以M/|S(u)|的概率从路径第一次经过节点u的位置开始,使其经过边e(u,w)重新模拟随机游走;当删除边e(u,w)时,对于所有经过边e(u,w)的随机游走路径,从路径第一次经过节点u的位置开始重新模拟随机游走;步骤4、如果同时有节点新加入或者被移除,则进行相应的处理,具体处理方式为:如果有节点u新加入网络中,则在上述路径调整的工作外,以节点u为起始点模拟R条随机游走,并将产生的路径保存;如果有节点u被从网络中删除,则从哈希表中删除所有起始点为u的随机游走路径;步骤5、通过归一化所有节点的V(u)组成的向量,得到更新后的PageRank值;步骤6、如果网络再次变化,返回步骤2。在上述的一种动态网络PageRank值的实时跟踪方法,所述的保存的随机游走路径数量为nR,其中n为网络中节点的数量。在上述的一种动态网络PageRank值的实时跟踪方法,步骤1中,所述的随机游走路径的保存方式为,每一条随机游走路径都赋予一个唯一的id,保存在一个以id为键值的哈希表中,保存的位置为内存中。在上述的一种动态网络PageRank值的实时跟踪方法,所述的对于网络中的每个节点u,保存的状态值有:S(u),一个集合,保存所有经过节点u的随机游走路径的id;V(u),一个正整数值,保存所有随机游走路径访问节点u的次数。在上述的一种动态网络PageRank值的实时跟踪方法,步骤2中的重访问概率模型为一个基于节点和边的重访问概率,基于一种精确计算出需要调整的随机游走路径数量,具体是:节点和边的重访问概率定义如下:边e(u,v)重访问概率r(u,v)的定义为经过边e(u,v)的随机游走再次访问节点u的概率;节点u的重访问概率R(u)的定义为节点u的出边的重访问概率的平均和;所述的节点u的重访问概率R(u)在大规模复杂网络中的估计方式为R(u)=1-(|S(u)|/V(u))。在上述的一种动态网络PageRank值的实时跟踪方法,所述步骤3中的随机选取服从的分布为离散均匀分布。本专利技术通过以上步骤能够对动态网络进行实时,长期的无误差的PageRank值跟踪。并且算法的运行效率不受网络节点数量规模的影响,同样适用于大规模的网络。附图说明图1是本专利技术实施例的方法流程图。具体实施方式以下结合实施例详细说明本专利技术技术方案。实施例1:向网络中加入新的边e(u,w),其中节点u和w都已经在网络中存在。步骤1,对于初始网络,以网络中的每个节点为起始点,以重置概率∈,模拟R条随机游走,实施例中设∈=0.15,R=8;步骤2,对于上一步骤中得到的每一条随机游走路径,赋予一个唯一的id,并以id为键值其保存在一个内存中的哈希表中,使得对每条随机游路径的访问时间为O(1),实施中的id为从1开始的正整数,每产生一次自增1;步骤3,对于网络中的每个节点u,保存S(u),一个集合,保存所有经过节点u的随机游走路径的id;V(u),一个正整数值,保存所有随机游走路径访问节点u的次数;具体操作方式如下,每次向哈希表中加入一条随机游走路径,则遍历这条路径中的所有节点。对于每个该路径访问过的节点u,访问次数加1,即V(u)=V(u)+1,并且将该路径的id加入集合S(u)中;步骤4,对于新加入网络的边e(u,w),首先获取|S(u)|和V(u)的值,从而估计出节点u的重访问概率R(u)=1–(|S(u)|/V(u));然后获取节点u的出度d(u),计算出调整的随机游走路径数量M=|S(u)|/(d(u)+1-d(u)*R(u));步骤5,对于所有在S(u)中的每条随机游走路径,以概率p=M/|S(u)|决定是否需要被调整;步骤6,对于每一条需要调整的路径,从路径第一次经过节点u的位置开始,使其经过边e(u,w)重新模拟随机游走,得到新的随机游走路径,替换原有保存在哈希表中的路径;具体替换操作方式如下,首先删除原有的随机游走路径。遍历这条路径中的所有节点。对于每个该路径访问过的节点u,访问次数减1,即V(u)=V(u)-1,如该路径的id在集合S(u)中,则从S(u)本文档来自技高网...
【技术保护点】
1.一种动态网络PageRank值的实时跟踪方法,其特征在于,包括以下步骤:步骤1、对于初始网络,以网络中的每个节点为起始点,以重置概率∈模拟R条随机游走,保存所有得到的随机游走路径,并且对于网络中的每个节点u,保存状态值S(u)和V(u);步骤2、有新的边e(u,w)加入网络或者从网络中移除,依据重访问概率模型计算出需要调整的随机游走路径数量M;M的值的计算方式为:当添加边e(u,w)时,需要调整的随机游走路径数量M=|S(u)|/(d(u)+1‑d(u)*R(u)),其中d(u)为节点u的出度;当删除边e(u,w)时,需要调整的随机游走路径数量M为经过边e(u,w)的随机游走路径数量;步骤3、从与网络变化有关的随机游走路径中随机选取中M条进行调整;随机游走路径的调整方式为:当添加边e(u,w)时,对于每条经过节点u的随机游走路径,以M/|S(u)|的概率从路径第一次经过节点u的位置开始,使其经过边e(u,w)重新模拟随机游走;当删除边e(u,w)时,对于所有经过边e(u,w)的随机游走路径,从路径第一次经过节点u的位置开始重新模拟随机游走;步骤4、如果同时有节点新加入或者被移除,则进行相应的处理,具体处理方式为:如果有节点u新加入网络中,则在上述路径调整的工作外,以节点u为起始点模拟R条随机游走,并将产生的路径保存;如果有节点u被从网络中删除,则从哈希表中删除所有起始点为u的随机游走路径;步骤5、通过归一化所有节点的V(u)组成的向量,得到更新后的PageRank值;步骤6、如果网络再次变化,返回步骤2。...
【技术特征摘要】
1.一种动态网络PageRank值的实时跟踪方法,其特征在于,包括以下步骤:步骤1、对于初始网络,以网络中的每个节点为起始点,以重置概率∈模拟R条随机游走,保存所有得到的随机游走路径,并且对于网络中的每个节点u,保存状态值S(u)和V(u);步骤2、有新的边e(u,w)加入网络或者从网络中移除,依据重访问概率模型计算出需要调整的随机游走路径数量M;M的值的计算方式为:当添加边e(u,w)时,需要调整的随机游走路径数量M=|S(u)|/(d(u)+1-d(u)*R(u)),其中d(u)为节点u的出度;当删除边e(u,w)时,需要调整的随机游走路径数量M为经过边e(u,w)的随机游走路径数量;步骤3、从与网络变化有关的随机游走路径中随机选取中M条进行调整;随机游走路径的调整方式为:当添加边e(u,w)时,对于每条经过节点u的随机游走路径,以M/|S(u)|的概率从路径第一次经过节点u的位置开始,使其经过边e(u,w)重新模拟随机游走;当删除边e(u,w)时,对于所有经过边e(u,w)的随机游走路径,从路径第一次经过节点u的位置开始重新模拟随机游走;步骤4、如果同时有节点新加入或者被移除,则进行相应的处理,具体处理方式为:如果有节点u新加入网络中,则在上述路径调整的工作外,以节点u为起始点模拟R条随机游走,并将产生的路径保存;如果有节点u被从网络中删除,则从哈希表中删除所有起始点为u的随机游走路径;步骤5、通过归一化所有节点的V(u)组成的向量,得到更新后的Page...
【专利技术属性】
技术研发人员:胡瑞敏,詹泽行,潘翔,李登实,胡文怡,王晓晨,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。