CN104462260B - 一种基于k-核的社交网络中的社区搜索方法 - Google Patents
一种基于k-核的社交网络中的社区搜索方法 Download PDFInfo
- Publication number
- CN104462260B CN104462260B CN201410675746.2A CN201410675746A CN104462260B CN 104462260 B CN104462260 B CN 104462260B CN 201410675746 A CN201410675746 A CN 201410675746A CN 104462260 B CN104462260 B CN 104462260B
- Authority
- CN
- China
- Prior art keywords
- cores
- maximum
- spanning tree
- community
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于k‑核的社区搜索算法,包含对图生成最大生成树MST;对最大生成树MST进行预处理;在最大生成树MST上找出连接所有查询节点的子树;搜索得到包含查询节点的子树,返回最大K‑核;该算法能在时间复杂度O(T)内查询出包含给定节点的k‑核,且k值最大,T为所要查找的社区大小。
Description
技术领域
本发明涉及一种最大支撑树的图索引技术,特别是一种基于k-核的社交网络中的社区搜索方法。
背景技术
近年来,对图和社交网络中的社区挖掘问题引起了广泛关注,这同时也是图挖掘中较为基础的问题之一。大多数研究工作仅致力于找出对于原图中的社区结构。然而,在很多应用情景中关心的是找出由给定节点集构成的社区。
基于给定节点的社区搜索问题的定义为:给定一个无向连通图G和一个图中的点集Q,找出G的一个k核,使之包含给定节点集合Q中的所有节点且其k值最大。
对于该问题,一种简单的贪心算法能在多项式时间内找到符合条件的社区(详见参考文献[1]);全局搜索算法(global search)能在O(V+E)时间内解决这个问题(详见参考文献[1]);局部搜索算法(local search)无须遍历所有顶点与边,能在O(v+e)时间内找到符合条件社区(详见参考文献[2])。这里E,V分别代表图G的边数和节点数,e,v分别代表局部搜索算法中经筛剪后候选节点集中的边数与节点数。
在所述方法中,贪心算法的思想主要是,逐步地删除输入图G中度最小的节点和与该节点相连的边,直至包含查询节点的子图H中、Q中任一节点具有最小度或子图H不再连通为止。这一过程决定了该算法必须遍历图G的所有节点,并且在每一步中都需判断是否Q中节点具有最小度或者包含查询节点的子图H是否连通,因此算法的时间复杂度非常高。
全局搜索算法的思想是递归地删除图G中度小于k的节点和与该节点相连的边,从而求出图G的k-核和最大k-核(maximum core)。该算法也需遍历图G中的所有节点与边,时间复杂度为O(M+V)。
局部搜索算法的思想是,从选定节点v出发,在与v相邻的节点中迭代选取候选节点集C,再在C中查询问题的解。局部搜索算法缩小了问题的规模,使搜索空间缩小为与查询节点相近的社区,算法的平均时间复杂度为O(v+e),最差时间复杂度与全局搜索时间复杂度相同,即为O(V+E)。
全局搜索和局部搜索虽然具有良好的时间复杂度,但是这两种算法对于给定的查询节点,每次查询都需执行一次完整算法,时间复杂度仍然较高。
发明内容
本发明提供一种时间复杂度优于背景技术所有介绍的基于k-核的社交网络中的社区搜索方法,该方法能在时间复杂度O(T)内查询出包含给定节点的k-核,且k值最大,T为所要查找的社区大小。
本发明通过以下技术手段实现:
一种基于k-核的社交网络中的社区搜索方法,包含以下步骤,
S1、对图生成最大生成树MST;
S2、对最大生成树MST进行预处理;
S3、在最大生成树MST上找出连接所有查询节点的子树;
S4、搜索得到包含查询节点的子树;
S5、返回最大k-核。
其中,所述的S1中对图生成最大生成树MST的过程为:
S101、计算输入图中所有节点的核值;
S102、对于图中的每条边,以边的两个端点的核值中的较小值作为该边的权值;
S103、对赋值后的图生成最大生成树MST。
其中,所述S4中搜索包含查询节点的子树采用的是最近公共祖先(LCA)算法。
其中,所述的S2中的预处理采用的是Tarjan的经典LCA算法中时间复杂度为O(N)的预处理操作。
通过以上基于k-核的社交网络中的社区搜索方法,能够解决包含给定查询节点的社区网络搜索问题,并且时间复杂度为O(T),此处的T为结果社区的大小,该时间复杂度等于输出满足条件结果集的小大,优于背景技术以及当前该领域所有技术,用时更短,效率更高。对于任何社区搜索算法都必须输出结果,因此这些算法的复杂度不能低于O(T),即复杂度的下界为O(T)。本发明的方法能够达到这一下界,因此本发明所涉及的方法是一个最优算法。
附图说明
图1为问题定义图;
图2为本发明方法过程示意图;
图3为图的k-核分解示意图;
图4为对所有边赋权值后的图;
图5为最大生成树MST示意图;
图6为连接两个选定节点的子树示意图;
图7为包含两个黑色节点的社区;
图8为连通两点的所有路径上的最小核值的示意图;
图9为证明结果一的示意图;
图10为证明结果二的示意图;
图11为证明结果三的示意图。
具体实施方式
以下将结合附图对本发明的具体实施方式进行详细说明。
在进行本发明实施说明之前,先对本发明要解决的问题进行定义,如图1所示,给定一个无向的连通图G=(V,E),以及查询点集Q,要求找出G的一个k-核,使之包含所有点集Q中的节点,而且还要满足k值最大。即在图1所示的图G中找出连接两个黑色节点的k-核且其k值最大。
为解决以上问题,提供一种基于k-核的社交网络中的社区搜索方法,如图1所示,首先,计算输入图G中所有节点的核值;然后,以端点的核值中的较小值赋值作为每条边的权重;接着,对赋权后的图生成最大生成树MST;MST树预处理;在最大生成树MST上找出连接所有查询节点的子树;找出子树中边权值的最小值k;返回k-核,也就是最大k值。
通过最大生成树MST的索引算法,对原始图中的每条边赋一个权值,该权值等于这条边的两个端点的核值中的最小值。然后,再对赋权后的图生成最大生成树MST,接着在最大生成树MST上找出连接所有查询节点的子树。在子树中,边权值的最小值即为所求最大k-核的k值。由于在执行查找前就已经建好MST树,因此社区搜索问题就转换成类似于在建立了索引的数据库中查找数据的问题,查询效率将得到极大的提高。并且,只需建立一次“索引”,后续搜索都可以在索引里查找,不用再去遍历原始的输入图,算法时间复杂度将得到提高。
具体来说,计算输入图G中所有节点的核值,又称图的k-核分解,如图3所示,即在给定的图中,递归地删除图中度小于k的节点和与之相连的边,剩下的图是一个k-核。该算法的大体框架如下:
输入:图G=(V,E)
输出:所有节点的核值
1.1计算所有节点的度;
1.2把V中的所有节点按照度从小到大排序;
2对于任意的v∈V按照度排好的顺序循环执行,这是一段伪代码,有层次结构
2.1把节点v的核值设置为它当前的度;
2.2对于v的所有邻接节点,执行
2.2.1如果u的度大于v的度,则
2.2.1.1节点u的度减1;
2.2.1.2重新对V中的节点按照度从小到大排序
该方法可以在线性的时间复杂度内完成,形成图3所示的k-核分解图。
然后,将边的两个邻接点中核值的较小值赋为该边的权值,即在图3的k-核分解图中对所有边赋权值后得到图4。接着,计算该加权图的最大生成树,如图5所示。然后,在最大生成树中找出连接所有查询节点的子树,如图6所示。其中,在最大生成树中找出连接两个给定查询节点的子树问题可以利用最近公共祖先(Least Common Ancestor,也即LCA)算法得到。根据Tarjan的经典算法,可以在经过O(N)时间的预处理下,使得查询连接两个节点的最近公共祖先的操作在O(1)的时间内完成。扩展至本问题的多节点的子树问题,查询包含一系列给定节点的子树的时间复杂度为O(|Q|),其中|Q|为给定查询节点的数量。
最后,返回符合条件k-核。找出子树中边权值最小的边,该边的权值就是要求的满足条件的最大核值。例如,在图6中,连接两个给定节点的路径中边最小的权值是3。最后,返回原图中的包含两个给定节点的3-核即为符合要求的如图7所示的社区。
算法正确性说明
在这,以两个查询节点为例,对于多点的情况,分析非常类似。由图可知,连接两点的路径有很多条,但是每条路径上都有一个核值最小的点。这个最小的核值一定能保证以它为k的k-核可以连通两点,如图8所示,找到这些最小核值中最大的。
由于在最大生成树MST中,连接任意两点的路径上的最小权值的边是所有连接这两点的路径中的最小边中最大的。所以容易找到一条连接两个节点的路径,在这条路径上最小的核值是所有连接这两个节点的路径上最小核值的最大值。
证明
以上述实施例演示结果为例,如图9,白色部分代表最大生成树MST,黑色部分代表在最大生成树MST上连接两黑色节点的子树。这棵子树上具有最小权值的边为e1,现假设存在另外一条连接两查询节点的路径,图10中灰色部分,这条路径上的最小权值比e1的权值大。
由于e2也是路径上的最小边,这意味着,白色路径上的所有边的权值都大于e1的权值。于是,在白色路径上选取一条边e3添加到最大生成树MST上构成一个环,如图11,环被加阴影显示。
在这个环内,由于e3>e1,所以e3不是环中的最小边,因此,删除环中的最小边可以生成一棵更大的最大生成树MST。这与原最大生成树MST是最大生成树矛盾。因此不存在另外一条路径,这条路径上的最小边权比e1大。也就是说,黑色边的路径上的最小边e1的权值是所有路径上最小边权中最大的。
边权已被赋值为两端点核值的较小值,因此,路径上最小的边权值即为路径上最小的节点核值。以这个值为k的k-核就即为连通所有查询节点的最大k-核。
算法时间复杂度
本方法把计算核值,建立MST树等一些操作作为预处理,预处理可以在线性的时间复杂度内完成。在搜索阶段,根据Tarjan的经典算法,可以在O(|Q|)的时间复杂度内找到最优的k值。然后根据这一k值,可以在O(T)的时间复杂度内输出结果社区(满足问题定义的k-核),这里的T表示结果社区的大小。因为T要大于等于|Q|(查询节点的个数),所以本算法的时间复杂度为O(T)。由于预处理只需要做一次,并且可以在线性的时间复杂度内离线做完,因此算法的查询复杂度O(T),即为最优。
Claims (3)
1.一种基于k-核的社交网络中的社区搜索方法,包含以下步骤,
S1、对图生成最大生成树MST;
具体过程为:
S101、计算输入图中所有节点的核值;
S102、对于输入图中的每条边,以边的两个端点的核值中的较小值作为该边的权值;
S103、对赋值后的图生成最大生成树MST;
S2、对最大生成树MST进行预处理;
S3、在最大生成树MST上找出连接所有查询节点的子树;
S4、搜索得到包含给定节点的子树;
S5、返回最大k-核。
2.根据权利要求1所述的一种基于k-核的社交网络中的社区搜索方法,其特征在于:所述S4中搜索包含给定节点的子树采用的是最近公共祖先算法。
3.根据权利要求1所述的一种基于k-核的社交网络中的社区搜索方法,其特征在于:所述的S2中的预处理采用的是Tarjan的经典LCA算法中时间复杂度为O(N)的预处理操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410675746.2A CN104462260B (zh) | 2014-11-21 | 2014-11-21 | 一种基于k-核的社交网络中的社区搜索方法 |
PCT/CN2015/079176 WO2016078368A1 (zh) | 2014-11-21 | 2015-05-18 | 一种基于k-核的社区搜索算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410675746.2A CN104462260B (zh) | 2014-11-21 | 2014-11-21 | 一种基于k-核的社交网络中的社区搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462260A CN104462260A (zh) | 2015-03-25 |
CN104462260B true CN104462260B (zh) | 2018-07-10 |
Family
ID=52908296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410675746.2A Expired - Fee Related CN104462260B (zh) | 2014-11-21 | 2014-11-21 | 一种基于k-核的社交网络中的社区搜索方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104462260B (zh) |
WO (1) | WO2016078368A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462260B (zh) * | 2014-11-21 | 2018-07-10 | 深圳大学 | 一种基于k-核的社交网络中的社区搜索方法 |
CN105471637B (zh) * | 2015-11-20 | 2018-09-07 | 中国矿业大学 | 一种复杂网络节点重要性评估方法及*** |
CN106327343B (zh) * | 2016-08-24 | 2019-12-27 | 云南大学 | 社交网络影响传播中初始用户选取方法 |
CN106445685B (zh) * | 2016-09-21 | 2019-05-14 | 华中科技大学 | 一种高效的分布式大规模动态图k核维护方法 |
KR101837403B1 (ko) | 2016-12-13 | 2018-04-19 | 국방과학연구소 | 고속 영상 모자이킹 방법 및 장치 |
CN108804516B (zh) * | 2018-04-26 | 2021-03-02 | 平安科技(深圳)有限公司 | 相似用户查找装置、方法及计算机可读存储介质 |
CN109299379B (zh) * | 2018-10-30 | 2021-02-05 | 东软集团股份有限公司 | 文章推荐方法、装置、存储介质和电子设备 |
CN110119462B (zh) * | 2019-04-03 | 2021-07-23 | 杭州中科先进技术研究院有限公司 | 一种属性网络的社区搜索方法 |
CN109946592B (zh) * | 2019-04-16 | 2020-07-10 | 合肥工业大学 | 自动测试设备ate中异步测试周期的自适应计算方法 |
CN110222055B (zh) * | 2019-05-23 | 2021-08-20 | 华中科技大学 | 一种动态图下多边更新的单轮核值维护方法 |
CN112818178B (zh) * | 2019-10-30 | 2022-10-25 | 华东师范大学 | 一种基于(k,p)-core的快速高效社群发现方法及*** |
CN112817963B (zh) * | 2019-10-30 | 2022-10-25 | 华东师范大学 | 一种多维网络上的社群核分解方法及*** |
CN111899117A (zh) * | 2020-07-29 | 2020-11-06 | 之江实验室 | 应用于社交网络的k边连通分量挖掘***及挖掘方法 |
CN112052400B (zh) * | 2020-08-24 | 2021-12-28 | 杭州电子科技大学 | 一种社交网络社区的索引和查询方法 |
CN115294758B (zh) * | 2022-06-20 | 2024-05-31 | 杭州未名信科科技有限公司 | 一种时序网络节点挖掘方法和*** |
CN115827996B (zh) * | 2023-02-27 | 2023-05-02 | 杭州电子科技大学 | 一种具有共享约束的社区查询方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5931907A (en) * | 1996-01-23 | 1999-08-03 | British Telecommunications Public Limited Company | Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information |
CN1443325A (zh) * | 2000-06-09 | 2003-09-17 | 安钟宣 | 在网络上自动社区生成***和方法 |
CN101030217A (zh) * | 2007-03-22 | 2007-09-05 | 华中科技大学 | 一种语义网信息的索引与获取方法 |
CN101170578A (zh) * | 2007-11-30 | 2008-04-30 | 北京理工大学 | 基于语义相似度的层次式对等网络结构及构建方法 |
CN101278257A (zh) * | 2005-05-10 | 2008-10-01 | 奈特希尔公司 | 用于分布式社区发现的方法和装置 |
CN101458716A (zh) * | 2008-12-31 | 2009-06-17 | 北京大学 | 一种图中节点间最短路径的查找方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10242028B2 (en) * | 2002-11-11 | 2019-03-26 | Transparensee Systems, Inc. | User interface for search method and system |
CN102175256B (zh) * | 2010-12-27 | 2013-04-17 | 浙江工业大学 | 一种基于进化树拓扑路网构建的路径规划确定方法 |
CN102955778B (zh) * | 2011-08-18 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种网络社区数据的快速查找方法及*** |
CN102291215B (zh) * | 2011-09-14 | 2014-04-23 | 北京大学 | Mimo***的信号检测方法 |
CN103533597B (zh) * | 2013-10-14 | 2016-08-31 | 李军 | 非结构化的移动对等覆盖网及其构建和维护方法 |
CN104462260B (zh) * | 2014-11-21 | 2018-07-10 | 深圳大学 | 一种基于k-核的社交网络中的社区搜索方法 |
-
2014
- 2014-11-21 CN CN201410675746.2A patent/CN104462260B/zh not_active Expired - Fee Related
-
2015
- 2015-05-18 WO PCT/CN2015/079176 patent/WO2016078368A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5931907A (en) * | 1996-01-23 | 1999-08-03 | British Telecommunications Public Limited Company | Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information |
CN1443325A (zh) * | 2000-06-09 | 2003-09-17 | 安钟宣 | 在网络上自动社区生成***和方法 |
CN101278257A (zh) * | 2005-05-10 | 2008-10-01 | 奈特希尔公司 | 用于分布式社区发现的方法和装置 |
CN101030217A (zh) * | 2007-03-22 | 2007-09-05 | 华中科技大学 | 一种语义网信息的索引与获取方法 |
CN101170578A (zh) * | 2007-11-30 | 2008-04-30 | 北京理工大学 | 基于语义相似度的层次式对等网络结构及构建方法 |
CN101458716A (zh) * | 2008-12-31 | 2009-06-17 | 北京大学 | 一种图中节点间最短路径的查找方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104462260A (zh) | 2015-03-25 |
WO2016078368A1 (zh) | 2016-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104462260B (zh) | 一种基于k-核的社交网络中的社区搜索方法 | |
CN102722566B (zh) | 社交网络中潜在好友查询方法 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
CN104392010A (zh) | 一种子图匹配的查询方法 | |
CN101345707A (zh) | 一种实现IPv6报文分类的方法及设备 | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及*** | |
Pettie | Distributed algorithms for ultrasparse spanners and linear size skeletons | |
CN110162716B (zh) | 一种基于社区检索的影响力社区搜索方法和*** | |
CN108614932B (zh) | 基于边图的线性流重叠社区发现方法、***及存储介质 | |
CN111177578A (zh) | 一种用户周边最具影响力社区的搜索方法 | |
CN107633024B (zh) | 多维属性最优点组的快速搜索方法 | |
CN104125146B (zh) | 一种业务处理方法及装置 | |
CN107679107A (zh) | 一种基于图数据库的电网设备可达性查询方法及*** | |
CN108683599B (zh) | 一种基于预处理的流通网络最大流确定方法及*** | |
CN104767635B (zh) | 一种基于命令行动态替换用于多设备共镜像的方法 | |
CN106484863A (zh) | 基于属性构建概念格的增加算法 | |
CN110347676A (zh) | 基于关系r树的不确定性时态数据管理与查询方法 | |
CN112395462A (zh) | 在图数据流中查找匹配子图方法及装置、设备、存储介质 | |
CN108509531A (zh) | 一种基于Spark平台的不确定数据集频繁项挖掘方法 | |
Lu et al. | An Algorithm of Top-k High Utility Itemsets Mining over Data Stream. | |
CN110149234B (zh) | 图数据压缩方法、装置、服务器及存储介质 | |
Cinel et al. | A distributed heuristic algorithm for the rectilinear steiner minimal tree problem | |
KR20200094674A (ko) | 에지 프루닝을 이용한 그래프 희소화 방법 및 장치 | |
EP3859551A1 (en) | Method and apparatus for establishing index for data | |
CN106027032A (zh) | 一种单位延时模型下rm逻辑电路延时优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180710 Termination date: 20211121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |