当前位置: 首页 > 专利查询>深圳大学专利>正文

一种计算大规模网络图degeneracy的方法技术

技术编号:18526090 阅读:41 留言:0更新日期:2018-07-25 12:49
一种计算大规模网络图degeneracy的方法,使用O(n)内存大小来计算degeneracy。具体来说,该算法首先通过相关操作一直迭代上界值的一半,即ub/2,查看该(ub/2)‑core是否存在,直到该(ub/2)‑core存在,则可以得到degeneracy的二近似结果,然后通过二分查找的方法在[ub/2,ub]范围内找到精确的degeneracy值。而该算法中,最关键的子过程是根据参数k来算出k‑core,为此还适配研发了Insertion算法和Delete算法来维护删减边后的动态图中的degeneracy。其优点是能高效地计算和维护大规模网络图中的degeneracy。

【技术实现步骤摘要】
一种计算大规模网络图degeneracy的方法
本专利技术涉及图和数据挖掘
,尤其涉及一种计算大规模网络图degeneracy的方法。
技术介绍
如今,随着物联网、移动互联网、云计算等技术的迅猛发展,数据量发生了井喷式增长。信息社会进入了大数据时代,大数据技术作为当前热门的
得到了广泛关注和研究,已然成为推动社会经济发展的新一轮信息技术革命的发动机。在对大规模网络的特性进行深入研究的过程中,人们越来越多地发现,在很多真实的社会网络中都存在一个共有的结构特性——社区结构。同一个社区内节点间的联系比较紧密,不同社区间的连接则比较稀疏。对于社会网络中社区结构的研究,已成为当下社会网络研究的热点问题。目前,社会网络中的社区结构的挖掘已引发学术界越来越多的关注。在图的社区搜索上,有越来越多的算法被研究出来,其中有基于极大团的社区发现,有基于稠密子图的社区发现等等。一个团(clique)是完全图,指的是图中的每两个节点都有一条边相连,一个极大团是一个没有包含它的团的团。最新的枚举出所有极大团的算法依赖于degeneracy。如果一个图G的degeneracy小,那么极大团的枚举将会很快。因此,测量一个图的degeneracy能够运用于估计极大团枚举算法的运行效果。一个更快的算出接近degeneracy结果的算法可以改进极大团的枚举算法。而对于图的稠密子图,指的是所有其子图的密度m’/n’,其中m’表示子图边数,n’表示子图节点个数,最大密度的子图为图G的稠密子图。稠密子图有很多重要的应用,比如社区发现,图压缩,计算生物学,垃圾邮箱的检测,这些方面的很多应用主要依赖于近似的稠密子图,而非精确的,原因是计算精确的稠密子图需要昂贵的最大流计算量。Degeneracy是稠密子图的密度的二近似结果。给出一个图的degeneracy,其值就是该图的稠密子图问题的二近似结果。因此,计算一个图的degeneracy对于寻找该图一个近似的稠密子图是非常有用的。当图可以完全读入内存中时,由于degeneracy的值等于图的最大团的core值,我们可以使用线性时间k-coredecomposition算法来有效的算出degeneracy的值。然而,很多大规模的真实图数据无法完全写进内存中。比如,最新的Facebook社交网络(http://newsroom.fb.com/company-info)拥有13.2亿个节点和1400亿条边,显然的,这个大规模社交网络无法完全写进典型服务器内存中,它需要接近2TB的内存。因此,传统的内存算法k-coredecomposition无法算出该图的degeneracy。幸运的是,大部分真实网络数据中的节点可以完全写入典型服务器里,比如,在该图中保存所有节点需要10GB内存,出于这一点,我们采用已有的semi-external模式来算出大规模网络的degeneracy。Semi-external模式需要O(n)的内存大小,其中n代表图的节点个数。在已有的文献中,最新的算出大图精确的degeneracy的算法是semi-externalcoredecomposion算法,该算法能够有效的算出网络规模大小的图的core分解问题。然而,该算法需要进行相当多的迭代来算出所有的k-core来获取图的degeneracy,这对于寻找一个图的degeneracy的效率是低下的,我们只需要算出最大k-core数值,而为了维护动态图中的degeneracy,该算法需要维护所有的节点的core值,做了许多的无用功。另外一个计算degeneracy的算法为semi-streaming算法,该算法可以较容易的适应semi-external环境。为了实现一个好的I/O性能,该算法只能提供一个比较模糊的接近的degeneracy,在不重新计算动态图的degeneracy的基础上,也无法明确的将该算法运用在维护动态图的degeneracy。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种计算大规模网络图degeneracy的方法。该算法使用O(n)内存大小来计算degeneracy。具体来说,该算法首先通过相关操作一直迭代上界值的一半,即ub/2,查看该(ub/2)-core是否存在,直到该(ub/2)-core存在,通过这样迭代减半的过程可以得到degeneracy的二近似结果,degeneracy的值也就在[ub/2,ub]范围内,然后通过二分查找的方法在[ub/2,ub]范围内找到精确的degeneracy值。而该算法中,最关键的子过程是根据参数k来算出k-core,为此还适配研发了Insertion算法和Delete算法来维护删减边后的动态图中的degeneracy。本专利技术解决其技术问题所采用的技术方案是:提供一种计算大规模网络图degeneracy的方法,其特征在于包括如下步骤:步骤10,依据记录图G=(V,E),使用Newapprox算法算出二近似的degeneracy;步骤20,依据二近似的degeneracy使用New算法算出degeneracy。所述步骤10包括如下步骤:步骤11,计算并记录图G=(V,E)中所有节点的度数du(u代表图G中的一个节点),初始化为du,算出图G中所有节点中最大的h-index,记为hd,算出图G的平均度,记为low;步骤12,当hd不小于low时,算出图G中不小于hd的点,记为集合R,执行步骤13,否则结束本步骤10;步骤13,令ru初始化为0,遍历R中的节点进行如下操作,将ru小于hd并且等于du的点u的赋值为节点u的h-index,节点u的ru赋值为u在集合R中存在的邻居个数,此时如果ru小于hd,将该节点从R中删除,并令取和hd的较小的值,将其邻居的ru减1;步骤14,如果步骤13中R有节点删除了,再次执行步骤13,否则转入下一步骤;步骤15,令步骤13完成后得到的集合R记为集合C,此时若C不等于空,则得到的hd如果不小于low,令low等于hd,并且up等于2*hd,up为该算法的最终结果,若得到的hd如果小于low,令up等于hd,此时的up为该算法的最终结果,即得到二近似的degeneracy,若C等于空,令hd赋值为hd的一半,返回步骤12。所述步骤20包括如下步骤:步骤21,将newapprox算法算出二近似的degeneracy赋值给up,令low为图G的平均度,初始化Cu为du,du为节点u的度数;步骤22,令mid=(low+UP)/2,当low不小于up时,当hd不小于low时,算出图G中不小于hd的点,记为集合R,其中hd为mid并执行步骤23,否则mid=degeneracy并结束本步骤20;步骤23,令ru初始化为0,遍历R中的节点进行如下操作,将ru小于hd并且等于du的点u的赋值为节点u的h-index,节点u的ru赋值为u在集合R中存在的邻居个数,此时如果ru小于hd,将该节点从R中删除,并令取和hd的较小的值,将其邻居的ru减1;步骤24,如果步骤23中R有节点删除了,再次执行步骤23,此时若C不等于空,则low赋值为mid加1,否则up赋值为mid减1,重复步骤22;步骤25,最后一次得到的不为空的集合C为图G中本文档来自技高网
...

【技术保护点】
1.一种计算大规模网络图degeneracy的方法,其特征在于包括如下步骤:步骤10,依据记录图G=(V,E),使用Newapprox算法算出二近似的degeneracy;步骤20,依据二近似的degeneracy使用New算法算出degeneracy。

【技术特征摘要】
1.一种计算大规模网络图degeneracy的方法,其特征在于包括如下步骤:步骤10,依据记录图G=(V,E),使用Newapprox算法算出二近似的degeneracy;步骤20,依据二近似的degeneracy使用New算法算出degeneracy。2.根据权利要求1所述的计算大规模网络图degeneracy的方法,其特征在于:所述步骤10包括如下步骤:步骤11,计算并记录图G=(V,E)中所有节点的度数du,初始化为du,算出图G中所有节点中最大的h-index,记为hd,算出图G的平均度,记为low;步骤12,当hd不小于low时,算出图G中不小于hd的点,记为集合R,执行步骤13,否则结束本步骤10;步骤13,令ru初始化为0,遍历R中的节点进行如下操作,将ru小于hd并且等于du的点u的赋值为节点u的h-index,节点u的ru赋值为u在集合R中存在的邻居个数,此时如果ru小于hd,将该节点从R中删除,并令取和hd的较小的值,将其邻居的ru减1;步骤14,如果步骤13中R有节点删除了,再次执行步骤13,否则转入下一步骤;步骤15,令步骤13完成后得到的集合R记为集合C,此时若C不等于空,则得到的hd如果不小于low,令low等于hd,并且up等于2*hd,up为该算法的最终结果,若得到的hd如果小于low,令up等于hd,此时的up为该算法的最终结果,即得到二近似的degeneracy,若C等于空,令hd赋值为hd的一半,返回步骤12。3.根据权利要求1所述的计算大规模网络图degeneracy的方法,其特征在于:所述步骤20包括如下步骤:步骤21,将newapprox算法算出二近似的degeneracy赋值给up,令low为图G的平均度,初始化Cu为du,du为节点u的度数;步骤22,令mid=(...

【专利技术属性】
技术研发人员:李荣华张伟鹏毛睿邱宇轩李振军陆克中王毅廖好
申请(专利权)人:深圳大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1