一种改进Dijkstra权重的社交网络抽样生成算法

文档序号:9866475阅读:766来源:国知局
一种改进Dijkstra权重的社交网络抽样生成算法
【技术领域】
[0001] 本发明设及一种改进DUkstra权重的社交网络抽样生成算法,属于社交网络拓扑 抽样生成算法技术领域。
【背景技术】
[0002] 社交网络(如:Face bookJwitter等)是网络用户用来分享信息,发布活动,相互 交流的一种Internet平台。社交网络中存在大量的网络用户,他们之间的交流包含着大量 的信息,目前对社交网络的研究分析越来越重要,但是社交网络中的关系错综复杂(如空手 道俱乐部网络和电子邮件网络等),直接分析原始网络会造成很大的负担。因此,我们需要 对复杂网络进行抽样,得到能够代表原网络的子网。目前,常用的抽样方法可分为Ξ类:点 抽样法、边抽样法和拓扑结构抽样法。列举两种常用的抽样算法:随机选择节点算法 (Random Node Sampling-RNS)和随机选择边算法(Random Edge Sampling-RES)eRNS算法 是通过随机的选择复杂网络中的节点和与之相连的边,进行网络抽样,属于点抽样算法的 一种;RES算法是通过随机的选择一系列的边和与其相连的点,进行网络抽样,属于利用边 进行抽样的一种算法;另外还有一种随机漫步抽样算法(Random Wa化Sampling-RWS)也很 常用,该算法先通过设立一个种子节点,下一步抽取与之相连的下一个节点,有更多边连接 的节点更容易被抽取。如采用RNS算法进行抽样,是通过抽取出满足抽样率的节点后停止抽 样,运可能会导致抽样出的子网中边的抽样率偏大或偏小。采用RES算法进行抽样,是通过 抽取出满足抽样率的边后停止抽样,运可能会导致抽样出的子网中节点的抽样率偏大或偏 小。采用RWS算法进行抽样,也可能会导致抽样出的子网中节点或边的抽样率偏大或偏小, 而且通过RWS抽样算法得到的子网,不能很好的代表整个图,只能代表种子节点附近的网 络。因此,急需一种算法能够改善运些问题,使得抽样出来的拓扑图形能够很好的代表原 图。

【发明内容】

[0003] 本发明所要解决的技术问题是克服现有技术的缺陷,提供一种改进Di Astra权重 的社交网络抽样生成算法,是一种从全局角度出发结合网络拓扑图中节点之间的最短路径 和出现的频率综合抽样,既可W保证抽样出来的子网分布均匀,又可W保证抽样出来的子 网更加贴近原始网络。
[0004] 为解决上述技术问题,本发明采用的技术方案如下:
[0005] -种改进Dijkstra权重的社交网络抽样生成算法,包括W下步骤:
[0006] 1)根据给定的原始社交网络拓扑图形,采用中屯、度算法来求取节点之间的连接权 重;
[0007] 2)在原始社交网络拓扑图形中随机选择1对不相邻的节点作为源节点和目的节 点,然后运用Di Astra算法求出所选择的1对源节点和目的节点之间的最短路径,具体过程 包括:
[000引假设原始社交网络拓扑图形G=<V,E>,其中V= {pi,P2,···,Pn}代表节点的集合, Pi, 1 = 1,2......n,表示第i个节点,η为节点的个数,E= {ei,e2,···,em}代表边的集合,ei,i = 1,2……m,表示第i条边,m为边数,则源节点ps到目的节点pt之间的最短路径,步骤如下:
[0009] 2-1)设定节点之间的连接权重作为连接节点之间的距离,计算出原始社交网络拓 扑图形中所有连接节点之间的距离的集合D,D= {di,d2, 一,(1::1,(11代表原始社交网络拓扑 图形中节点之间的连接权重,f表示有f对连接节点;
[0010] 2-2)比较源节点Ps到相邻节点间的距离,抽取距离最小的节点pi;
[0011] 2-3)比较节点Pi到相邻节点间的距离,求出最小值dk,对应的相邻节点为Pk;
[0012]2-4)计算min{dk,w(ps,pj)},即可得出下一个抽取的节点是p诚是pj,其中w(ps, Pj)表示源节点Ps到节点pj之间的距离,pj表示下一步抽取的目标节点;
[001引2-5)重复步骤2-3)、2-4),直到抽取到目的节点Pt;
[0014] 2-6)输出抽样到的边和节点;
[0015] 3)运用排序算法对所述步骤2)求取的1对源节点和目的节点之间的最短路径中边 出现的频率进行排序,依据抽样比从排序结果中抽取出频率最高的m条边和与其相连的点, 生成抽样网络;
[0016] 4)通过评价指标评价社交网络抽样生成算法。
[0017] 前述的步骤1)中,采用中屯、度算法来求取节点之间的连接权重,节点之间的连接 权重等于两个节点分别到源节点和目的节点距离之和的倒数,运样即求得原始社交网络拓 扑图形各边权重。
[0018] 前述的步骤4)中,评价指标包括节点度分布和聚集系数。
[0019] 前述的通过柯尔莫可洛夫-斯米洛夫检验来衡量原始网络和抽样网络之间的节点 度分布,计算公式如下:
[0020] KS(F,Fs) =max | F(x)-Fs(x) (1)
[0021] 其中,KS(F,Fs)表示原始网络和抽样网络之间的最大垂直距离,F(x)和Fs(x)分别 代表原始网络和抽样网络的累计分布函数,X代表随机变量的取值范围。
[0022] 前述的采用标准均方根误差来衡量原始网络和抽样网络之间的聚集系数的差距, 计算公式如下:
[0023]
Q)
[0024] 其中,C代表原始网络的聚集系数,Cs代表抽样网络中的聚集系数,E代表求平均 值,NMSE表示标准均方根误差;
[0025] 采用公式(2)计算原始网络与抽样网络的聚集系数,
[0026]

[0027] 其中,di代表节点Pi的节点度,Ti代表节点Pi与其相邻的边数,Ci代表节点Pi的聚集 系数。
[0028] 前述的步骤2)中1根据抽样比例确定。
[0029] 采样本发明的抽样算法,抽样效果更好,能够抽样出更加接近原始网络的子网。
【附图说明】
[0030] 图1为五节点网络图;
[0031] 图2为基于Di Astra最短路径抽样算法流程图;
[0032] 图3为空手道俱乐部网络和电子邮件网络节点度分布图;
[0033] 图4为空手道俱乐部网络和电子邮件网络聚集系数分布图;
[0034] 图5为不同抽样比下不同抽样算法得到聚集系数的醒SE;
[0035] 图6为不同抽样算法求得的节点度分布KS。
【具体实施方式】
[0036] 下面结合附图对本发明作进一步描述。W下实施例仅用于更加清楚地说明本发明 的技术方案,而不能W此来限制本发明的保护范围。
[0037] 本文的基于Di Astra最短路径的抽样算法,通过多次抽取网络中不相邻节点之间 的最短路径,并依据抽样到得到的边出现频率进行排序,选取高频率的边及与其相连的点 作为抽样出来的子网。如图2所示,本发明包括W下几个步骤:
[0038] 步骤一、首先根据给定的原始社交网络拓扑图形,采用中屯、度算法来创建节点之 间的连接权重,中屯、度算法的具体方式如图1所示,假设选定节点1和5分别为源节点和目的 节点,那么节点1和5之间的连接情况可W得出。根据中屯、度算法,节点之间的连接权重等于 两个节点分别到源节点和目的节点距离之和的倒数,运样即求得拓扑图各边权重。那么,图 1中节点1和和3,3和4,3和5W及4和5之间的连接权重分别等于 6 5 7 7 7
[0039] 步骤二、在原始社交网络拓扑图形中随机选择1对不相邻的节点作为源节点和目 的节点,然后运用Di Astra算法求出所选择的1对源节点和目的节点之间的最短路径,具体 过程分为下面几步:
[0040] 假设原始社交网络拓扑图形G = <V,E >,其中V = {P1,P2,· · ·,Pn}代表节点的集合, Pi(i = l,2......η)表示第i个节点,η为节点的个数,E = {ei,e2,···,em}代表边的集合,ei(i = 1,2……m)表示第i条边,m为边数。现在需要求解运1对源节点ps到目的节点pt之间的最短路 径,步骤如下:
[0041] Stepl:设定节点之间的连接权重作为连接节点之间的距离,计算出原始社交网络 拓扑图形中所有连接节点之间的距离的集合D,D= {di,d2, 一,(1::1,(11代表原始社交网络拓 扑图形中节点之间的连接权重,f表示有f对连接节点;
[0042] St邱2:比较源节点Ps到相邻节点间的距离,抽取距离最小的节点pi;
[00创 St邱3:比较节点Pi到相邻节点间的距离,求出最小值dk,对应的相邻节点为Pk;
[0044] Step4:计算min{dk,w(ps,pj)},即可得出下一个抽取的节点是pk还是pj,其中w(ps, Pj)表示源节点Ps到Pj之间的距离,Pj表示下一步抽取的目标节点;
[0045]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1