CN113806642A - 一种社交网络快速最大团和极大团搜索方法 - Google Patents
一种社交网络快速最大团和极大团搜索方法 Download PDFInfo
- Publication number
- CN113806642A CN113806642A CN202111126133.XA CN202111126133A CN113806642A CN 113806642 A CN113806642 A CN 113806642A CN 202111126133 A CN202111126133 A CN 202111126133A CN 113806642 A CN113806642 A CN 113806642A
- Authority
- CN
- China
- Prior art keywords
- maximum
- node
- clique
- social network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000010845 search algorithm Methods 0.000 claims abstract description 33
- 238000009795 derivation Methods 0.000 claims description 22
- 238000013138 pruning Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种社交网络快速最大团和极大团搜索方法,包括将社交网络的节点按照核数值进行分层;对分层后的节点构造对应的上界完全导出子图;采用最大团搜索算法搜索上界完全导出子图中的最大团;和/或采用极大团搜索算法搜索上界完全导出子图中的极大团。本发明通过将大型社交网络分层拆分成小型社交网络,解决大规模社交网络难以计算和计算时间太长的问题;与此同时,由拆分后的小型社交网络所构造的上界完全导出子图在保留了原始大型社交网络团结构的同时,还可进行并行分析,进一步降低了现有的社交网络团分析方法的时间复杂度和对设备的要求。
Description
技术领域
本发明涉及社交网络团分析技术领域,具体涉及一种社交网络快速最大团和极大团搜索方法。
背景技术
最大团问题是图论中的一个经典组合优化问题,也是一个NP完全问题,对最大团问题的研究具有很大的理论价值与现实意义。现有的很多难题均可以在多项式的时间内转化为最大团问题,或者在求解过程中包含最大团问题作为子问题,如最大独立子集问题(MISP)、布尔可满足性问题(SAT)、最小顶点覆盖问题(MVCP)、Hamilton回路问题、树之间的相似性问题等。在实际应用中,许多不同领域产生的不同问题大都可以转化为某些特殊图的最大团问题。例如故障诊断问题大都能够转化为c-fat环图的最大团问题;编码理论问题能够转化为Hamilton图的最大团问题,社会网络子结构分析中的凝聚子群分析等。此外,最大团问题在社交网络分析、计算机视觉、生物计算、聚类分析、信息检索以及移动通信、图像显示、模式识别、电台信息传送、市场分析、方案选择、信号传输、故障诊断以及VLSL电路设计等领域均有广泛的应用。同样地,极大团由于其绝佳的连通性,其重要性也随着基于网络的应用的爆炸性增长而增长,极大团在人脑网络、社交网络、经济和金融网络、生物信息网络和通讯网络等领域的研究中也具有不断上升的重要性。
社交网络团分析涉及到多个具体的应用,如社交网络中的好友推荐和社群划分;电子商务系统或在线购物平台可以利用社交关系对用户进行聚类,并据此优化商品推荐系统的准确性等。在社交网络团结构分析中,现有的所有极大团或最大团搜索方法,最快的可以在多项式时间空间,但基本上都有以下三个问题亟待解决:一,解决因网络规模太大而难以处理其中的团的问题;二,在较大规模网络中,搜索方法的时间和空间成本需要被进一步提升;三,绝大多搜索方法没有并行能力或者并行能力不足。
发明内容
针对现有技术中的上述不足,本发明提供了一种社交网络快速最大团和极大团搜索方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种社交网络快速最大团和极大团搜索方法,包括以下步骤:
S1、将社交网络的节点按照核数值进行分层;
S2、对分层后的节点构造对应的上界完全导出子图;
S3、采用最大团搜索算法搜索上界完全导出子图中的最大团;
和/或采用极大团搜索算法搜索上界完全导出子图中的极大团。
本发明具有以下有益效果:
本发明利用k-核分解(k-core decomposition)和分支界限(branch-bound)思想对网络进行分解,然后再搜索其中的最大团和极大团。本发明通过将大型社交网络分层拆分成小型社交网络,解决大规模社交网络难以计算和计算时间太长的问题。与此同时,拆分后的小型社交网络在保留了原始大型社交网络中团结构的同时,还可进行并行分析,这进一步降低了现有的社交网络团分析方法的时间复杂度和和对设备的要求。
进一步地,所述步骤S1具体包括以下分步骤:
S1-1、计算社交网络中所有节点的核数值;
S1-2、根据节点的核数值,将核数值相同的节点划分在同一层,对社交网络进行分层。
该进一步方案的有益效果是:利用节点核数值对网络进行分层后,第一大大缩小了每次进行最大团搜索的规模,第二可根据第一次搜索得到的最大团规模与核数之间的关系,删减掉绝大多数不可能构成比当前最大团更大的所有节点,大大缩减搜索空间。
进一步地,所述步骤S2具体包括:
选取对社交网络划分的一个分层,依次遍历该分层中每一个节点的所有邻居节点,将核数值大于该分层的核数值的邻居节点并入到该分层的节点集合中,构建并入后的节点集合对应的上界完全导出子图。
该进一步方案的有益效果是:上界完全导出子图保证了原始网络中出现在当前这个子图中的规模不小于当前核数值加1的极大团的结构完整性。
进一步地,所述采用最大团搜索算法搜索上界完全导出子图中的最大团具体包括以下分步骤:
S3-1、按照核数值从大到小的顺序,首先选取最大核数值c1的分层,采用最大团搜索算法搜索该分层对应的上界完全导出子图中的最大团,并计算最大团的规模ω(G);
S3-2、比较计算的最大团规模ω(G)与第二大核数值c2的大小关系;
若ω(G)>c2+1,则将搜索的最大团作为社交网络的最大团,搜索结束;
若ω(G)=c2+1,则构造第二大核数值的分层的节点集合S2对应的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并更新最大团的规模;
若ω(G)<c2+1,则执行步骤S3-3;
S3-3、依次比较最大团的规模与剩余核数值的大小关系,直到满足ω(G)>ci+1,i≥3,则将核数值在区间[(ci,c2]内的所有节点合并在一个节点集合S3,构造该节点集合的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并将搜索的最大团作为社交网络的最大团,搜索结束。
该进一步方案的有益效果是:本发明只在G2和G3两个规模远小于原始网络规模的上界完全导出子图上进行搜索后即可终止搜索过程,且从理论上保证此时所得最大团必为原始网络中的最大团。
进一步地,所述步骤S3-2和S3-3中构造上界完全导出子图的过程中,还包括:
A1、对节点集合S2或节点集合S3,各为其创建对应的空节点集合S′2或S′3,并初始化为空集合;
A2、随机选取节点集合S2或节点集合S3中的一个节点,将该节点的邻居节点中核数值大于或等于该节点核数值的邻居节点加入该节点的邻居集合Ni,并将邻居集合Ni中的所有节点按照度值进行升序排列,依次记为k1,k2,k3,…kn,n为邻居集合Ni中的所有节点的数量;
A3、设置第一计数器Sat和第二计数器Unsat且初始值均为0;
A4、依次选取邻居集合Ni中的一个节点,判断该节点是否满足设定最大团规模条件;
若满足,则将第一计数器Sat加1,并执行步骤A5;
若不满足,则将第二计数器Unsat加1,并执行步骤A6;
A5、判断第一计数器Sat是否满足设定第一枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A6、判断第二计数器Unsat是否满足设定第二枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A7、判断节点集合S2或节点集合S3中所有节点是否选取完毕;
若是,则根据创建的对应的新的节点集合S′2或S′3构建枝剪后的上界完全导出子图;
否则,返回步骤A2。
该进一步方案的有益效果是:通过剪除上界完全导出子图中不可能构成规模不小于当前最大团的规模的团的节点,能够进一步缩小搜索空间。
进一步地,所述设定最大团规模条件具体为:
len(Ni∩Nei(k1))≥ω(G)-2
式中,Nei(k1)表示节点k1的所有邻居节点,len(Ni∩Nei(k1))表示节点集合Ni∩Nei(k1)的长度,ω(G)为当前最大团规模;
进一步地,所述设定第一枝剪条件具体为:
Sat>ω(G)-1
式中,len(Ni)表示节点集合Ni的长度,ω(G)为当前最大团规模;
进一步地,所述设定第二枝剪条件具体为:
Unsat>len(Ni)-(ω(G)-1)
式中,ω(G)为当前最大团规模。
在实际搜索中,由于第一个上界完全导出子图G1搜索后所得ω(G)决定着第二次构造的上界完全导出子图G2的规模,所以为了进一步缩减G2的规模,可以将核数值最大的前几层合并在一起构造G1。
进一步地,所述采用极大团搜索算法搜索上界完全导出子图中的极大团具体包括以下分步骤:
S3-4、根据构造的所有核数值对应的上界完全导出子图,分别采用极大团搜索算法并行搜索各个上界完全导出子图中的极大团;
S3-5、对各个上界完全导出子图中搜索得到的极大团枚举过滤其中的伪极大团;
S3-6、合并各个上界完全导出子图过滤后得到的极大团,得到社交网络中的所有极大团。
附图说明
图1为本发明实施例中一种社交网络快速最大团和极大团搜索方法的流程示意图;
图2为本发明实施例中具有3层核数值结构及其三个上界完全导出子图的示例网络结构示意图;
图3为本发明实施例中快速最大团和并行极大团搜索算法流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本发明公开了一种用于对社交网络进行快速的最大团和极大团挖掘的方法,本发明利用k-核分解(k-core decomposition)和分支界限(branch-bound)思想对网络进行分解,然后再搜索其中的最大团和极大团。本发明通过将大型社交网络分层拆分成小型社交网络,解决大规模社交网络难以计算和计算时间太长的问题。与此同时,拆分后的小型社交网络在保留了原始大型社交网络团结构的同时,还可进行并行分析,这进一步降低了现有的社交网络团分析方法的时间复杂度和和对设备的要求。
为了方便本领域技术人员对本发明所实施的技术方案进行更清楚的理解,本发明对相关的社交网络结构基础知识进行说明。
节点的核数值(k-core值):任给简单图G(V,E),其中V和E分别表示节点和连边。定义子图H(W,L|W),当且仅当任给v∈W都有d(v)≥k,并且H取到最大规模的时候,称H为节点集合W的导出k-core,此时H中的任意节点v∈W的k-core值都不小于k。这里的d(v)为节点v的度。
团(clique):团是指社交网络中的全连通子网络,团中的节点数为团的规模。在团中的任意两个节点都是直接相邻的。
极大团(maximal clique):如果一个团不是其他任何团的子团,那么它是一个极大团,即任意添加一个社交网络中的节点到这个团中后,它都不再是一个团。
最大团(maximum clique):社交网络中规模最大的团称为最大团。
节点导出子图:给定一个网络及其节点的一个子集,由该子集和两端均在该子集的所有边的集合构成的子网络。
对于本发明所涉及的社交网络G(V,E),其所有k-core值按照降序依次记为c1>c2>c3…,其中c1为最大k-core值。上界完全导出子图指的是由k-core值等于ci的所有节点及它们的具有更大的k-core值的邻居节点构成的集合的导出子图。具体来说,在上界完全导出子图中,它的节点包括两部分,第一部分是k-core值等于ci的所有节点,第二部分是这些节点的邻居中k-core值大于ci的节点,它们共同构成节点集合C,然后得到其导出子图即为上界完全导出子图如图2所示,其中A是一个具有3层k-core结构的示例网络,B,C和D分别是上界完全导出子图G3,G2和G1,其下标与k-core值对应。G3中只有k-core值等于3的节点,因为这些节点没有k-core值更大的邻居。G2中节点v5,v6,v7和v8的k-core值为2,节点v1,v2和v3是它们的k-core值更大的邻居。上界完全导出子图保证了该子图中的节点及其邻居节点构成的团的最大规模等于i+1的可能性。
下面,对本发明实施例所采用的一种社交网络快速团搜索方法进行具体说明,如图1所示,一种社交网络快速团搜索方法包括以下步骤S1至S3:
S1、将社交网络的节点按照核数值进行分层;
在本实施例中,步骤S1具体包括以下分步骤S1-1至S1-2:
S1-1、计算社交网络中所有节点的核数值;
S1-2、根据节点的核数值,将核数值相同的节点划分在同一层,对社交网络进行分层。
具体而言,本发明首先计算社交网络中所有节点的核数值,并将其由大到小依次记为c1,c2,c3…,每个核数值对应的节点划分为一个节点集合,由这里的每一个节点集合都可以得到一个导出子图,从而实现将大型社交网络分层拆分成小型社交网络,以解决大规模社交网络难以计算和计算时间太长的问题。
S2、对分层后的节点构造对应的上界完全导出子图;
在本实施例中,步骤S2具体包括:
选取对社交网络划分的一个分层,依次遍历该分层中每一个节点的所有邻居节点,将核数值大于该分层的核数值的邻居节点并入到该分层的节点集合中,构建并入后的节点集合对应的导出子图即为该分层的上界完全导出子图。
具体而言,本发明首先选取由所有核数值最大的节点构成的分层,由于这些节点没有核数值更大的邻居,所以这些节点集合的导出子图便是它们的上界完全导出子图;在需要构造第二大核数值对应的上界完全子图时,则需要依次遍历该核数值第二大的分层中每一个节点的所有邻居节点,判断邻居节点核数值是否大于该分层的核数值,若是则将该邻居节点并入到该分层的节点集合中,最后构建最新的节点集合对应的导出子图即为第二个上界完全子图。接下来将它们用于后续进行最大团和/或极大团搜索。
S3、采用团搜索算法搜索上界完全导出子图中的团。
在本实施例中,步骤S3具体包括:
采用最大团搜索算法搜索上界完全导出子图中的最大团;
和/或采用极大团搜索算法搜索上界完全导出子图中的极大团。
具体而言,本发明根据社交网络G的核数值和第一个上界完全导出子图中的最大团规模确定原始社交网络的最大团规模的上界和下界,记社交网络G中最大团的规模为ω(G),任给社交网络G和它的核数值最大的上界完全导出子图有以下不等式成立:
式中c1为该网络的最大核数值。
成立的ci,此时所有核数值小于等于ci的节点都可以直接剪除,因为它们所构成的团的规模都必然小于当前已知的最大团规模。
本发明通过上述小规模初步计算得到原始社交网络最大团规模的上界和下界,使得最大团搜索的范围从原始社交网络缩小到一个很小的范围:首先在由核数最大的节点导出的上界完全导出子图上进行搜索,根据最大团定理,如果当前最大团的规模ω(G)大于次大核数值加1,则搜索即可结束,当前最大团即为整个社交网络的最大团。否则根据上述条件进一步构造并搜索其中最大团,所得最大团即为原始社交网络的最大团。最大团通常存在于社交网络的最内部的几个分层中,而且它们的整体规模往往很小,且随着网络规模增长而只发生很小变化,因此本发明在最大团搜索中往往非常有效。
本发明采用最大团搜索算法搜索上界完全导出子图中的最大团具体包括以下分步骤S3-1至S3-3:
若ω(G)>c2+1,则将搜索的最大团作为社交网络的最大团,搜索结束;
若ω(G)=c2+1,则构造第二大核数值的分层的节点集合S2对应的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并更新最大团的规模;
若ω(G)<c2+1,则执行步骤S3-3;
S3-3、依次比较最大团的规模与剩余核数值的大小关系,直到满足ω(G)>ci+1,i≥3,则将核数值在区间(ci,c2]内的所有节点合并在一个节点集合S3,构造该节点集合的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并将搜索的最大团作为社交网络的最大团,搜索结束。
本发明在步骤S3-2和S3-3中构造上界完全导出子图的过程中,还包括:
A1、对节点集合S2或节点集合S3,各为其创建对应的空节点集合S′2或S′3,并初始化为空集合;
A2、随机选取节点集合S2或节点集合S3中的一个节点,将该节点的邻居节点中核数值大于或等于该节点核数值的邻居节点加入该节点的邻居集合Ni,并将邻居集合Ni中的所有节点按照度值进行升序排列,依次记为k1,k2,k3,…kn,n为邻居集合Ni中的所有节点的数量;
A3、设置第一计数器Sat和第二计数器Unsat且初始值均为0;
A4、依次选取邻居集合Ni中的一个节点,判断该节点是否满足设定最大团规模条件;
若满足,则将第一计数器Sat加1,并执行步骤A5;
若不满足,则将第二计数器Unsat加1,并执行步骤A6;
A5、判断第一计数器Sat是否满足设定第一枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A6、判断第二计数器Unsat是否满足设定第二枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A7、判断节点集合S2或节点集合S3中所有节点是否选取完毕;
若是,则根据创建的对应的新的节点集合S′2或S′3构建枝剪后的上界完全导出子图;
否则,返回步骤A2。
其中设定最大团规模条件具体为:
len(Ni∩Nei(k1))≥ω(G)-2
式中,Nei(k1)表示节点k1的所有邻居节点,len(Ni∩Nei(k1))表示节点集合Ni∩Nei(k1)的长度,ω(G)为计算的最大团规模;
设定第一枝剪条件具体为:
Sat>ω(G)-1
式中,len(Ni)表示节点集合Ni的长度;
设定第二枝剪条件具体为:
Unsat>len(Ni)-(ω(G)-1)。
在实际搜索中,由于第一个上界完全导出子图G1搜索后所得ω(G)决定着第二次构造的上界完全导出子图G2的规模,所以为了进一步缩减G2的规模,可以将核数值最大的前几层合并在一起构造G1。
最大团搜索方法可以采用本领域中任一常用的高效搜索算法实现,例如基于Bron-Kerbosch算法的搜索算法等,这里不做赘述。
与上述实施例所描述的技术方案类似的,本发明还可以进一步在步骤S3中采用极大团搜索算法并行搜索上界完全导出子图中的极大团。
在本实施例中,本发明采用极大团搜索算法并行搜索上界完全导出子图中的极大团具体包括:
S3-4、根据构造的所有核数值对应的上界完全导出子图,分别采用极大团搜索算法并行搜索各个上界完全导出子图中的极大团;
S3-5、对各个上界完全导出子图中搜索得到的极大团枚举过滤其中的伪极大团;
S3-6、合并各个上界完全导出子图过滤后得到的极大团,得到原始社交网络中的所有极大团。
再以并行的方式枚举各个上界完全导出子图过滤后得到的极大团,分别过滤其中的伪极大团;这里的伪极大团指的是那些在上界完全导出子图是极大团但在原始网络中不是极大团的团。
最后根据各个上界完全导出子图过滤后得到的极大团,得到社交网络中的所有极大团。
在极大团搜索中,因为上界完全导出子图的构造过程可能会使得内层搜索到的极大团包含在更外层某个更大的团中,所以对于这类伪极大团要过滤掉。极大团搜索算法可以采用本领域中任一常用的高效搜索算法实现,例如Bron-Kerbosch算法等,这里不做赘述。
在社交网络团挖掘中,本发明先对社交网络按照k-核数进行分层,然后对每一层构造一个上界完全导出子图,在上界完全导出子图上应用基于Bron-Kerbosch算法改进而来的快速最大团/极大团搜索算法进行搜索。在极大团搜索中,本发明能够将原有的Bron-Kerbosch类算法的时间复杂度从O(3n/3)提升到O(3n/(3*l)),其中l为网络被划分的层数。在最大团搜索中,时间复杂度仅为O(3m/3),m等于划分后最内层的需要搜索的两个个上界完全导出子图经删减后的节点数,且一般有m<<n。换句话说,本发明使得现有最快的极大团搜索算法的时间复杂度得到了跨数量级的减小,同时它也使得最大团搜索一般情况下只在占比很小的网络中进行。除此之外,本发明还可以通过在对上界完全导出子图的删减过程中使用并行技术进一步提升算法效率。
本发明在最大团搜索中,假设规模为N的社交网络可以按照k-core分解方法分成l层,其中最大k-核网络节点数为Nmax(Nmax<<N),则最快情况下(且为常见情况),时间复杂度仅为最慢情况下,也小于本发明所提出的极大团搜索的时间复杂度相同,O(3N /(3*l))。所以在最差的情况,也对在这个社交网络上进行的最大团搜索算法效率有指数倍提升。同时本发明无论是在最大团还是极大团搜索中,每一个上界完全导出子图都可以分布式并行计算,这样可使得原来不能计算的大规模网络可以被分解搜索。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (10)
1.一种社交网络快速最大团和极大团搜索方法,其特征在于,包括以下步骤:
S1、将社交网络的节点按照核数值进行分层;
S2、对分层后的节点构造对应的上界完全导出子图;
S3、采用最大团搜索算法搜索上界完全导出子图中的最大团;
和/或采用极大团搜索算法搜索上界完全导出子图中的极大团。
2.根据权利要求1所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述步骤S1具体包括以下分步骤:
S1-1、计算社交网络中所有节点的核数值;
S1-2、根据节点的核数值,将核数值相同的节点划分在同一层,对社交网络进行分层。
3.根据权利要求1所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述步骤S2具体包括:
选取对社交网络划分的一个分层,依次遍历该分层中每一个节点的所有邻居节点,将核数值大于该分层的核数值的邻居节点并入到该分层的节点集合中,构建并入后的节点集合对应的上界完全导出子图。
4.根据权利要求1所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述采用最大团搜索算法搜索上界完全导出子图中的最大团具体包括以下分步骤:
S3-1、按照核数值从大到小的顺序,首先选取最大核数值c1的分层,采用最大团搜索算法搜索该分层对应的上界完全导出子图中的最大团,并计算最大团的规模ω(G);
S3-2、比较计算的最大团规模ω(G)与第二大核数值c2的大小关系;
若ω(G)>c2+1,则将搜索的最大团作为社交网络的最大团,搜索结束;
若ω(G)=c2+1,则构造第二大核数值的分层的节点集合S2对应的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并更新最大团的规模;
若ω(G)<c2+1,则执行步骤S3-3;
S3-3、依次比较最大团的规模与剩余核数值的大小关系,直到满足ω(G)>ci+1,i≥3,则将核数值在区间(ci,c2]内的所有节点合并在一个节点集合S3,构造该节点集合的上界完全导出子图,采用最大团搜索算法搜索该上界完全导出子图中的最大团,并将搜索的最大团作为社交网络的最大团,搜索结束。
5.根据权利要求4所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述步骤S3-2和S3-3中构造上界完全导出子图的过程中,还包括:
A1、对节点集合S2或节点集合S3,各为其创建对应的空节点集合S′2或S′3,并初始化为空集合;
A2、随机选取节点集合S2或节点集合S3中的一个节点,将该节点的邻居节点中核数值大于或等于该节点核数值的邻居节点加入该节点的邻居集合Ni,并将邻居集合Ni中的所有节点按照度值进行升序排列,依次记为k1,k2,k3,...kn,n为邻居集合Ni中的所有节点的数量;
A3、设置第一计数器Sat和第二计数器Unsat且初始值均为0;
A4、依次选取邻居集合Ni中的一个节点,判断该节点是否满足设定最大团规模条件;
若满足,则将第一计数器Sat加1,并执行步骤A5;
若不满足,则将第二计数器Unsat加1,并执行步骤A6;
A5、判断第一计数器Sat是否满足设定第一枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A6、判断第二计数器Unsat是否满足设定第二枝剪条件;
若满足,则将该节点以及该节点的邻居节点中核数值大于或等于c1的邻居节点、或将该节点以及该节点的邻居节点中核数值大于或等于区间(ci,c2]最大值的邻居节点加入创建的对应的新的节点集合S′2或S′3;并返回步骤A2;
若不满足,则返回步骤A4;
A7、判断节点集合S2或节点集合S3中所有节点是否选取完毕;
若是,则根据创建的对应的新的节点集合S′2或S′3构建枝剪后的上界完全导出子图;
否则,返回步骤A2。
6.根据权利要求5所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述设定最大团规模条件具体为:
len(Ni∩Nei(k1))≥ω(G)-2
式中,Nei(k1)表示节点k1的所有邻居节点,len(Ni∩Nei(k1))表示节点集合Ni∩Nei(k1)的长度,ω(G)为当前最大团规模。
7.根据权利要求5所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述设定第一枝剪条件具体为:
Sat>ω(G)-1
式中,len(Ni)表示节点集合Ni的长度,ω(G)为当前最大团规模。
8.根据权利要求5所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述设定第二枝剪条件具体为:
Unsat>len(Ni)+(ω(G)+1)
式中,ω(G)为当前最大团规模。
9.根据权利要求5所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述步骤S3-1中,根据最大核数值c1对应的节点构造第一个上界完全导出子图G1。由于G1搜索后所得ω(G)决定着第二次构造的上界完全导出子图G2的规模,所以为了进一步缩减G2的规模,可以将核数值最大的前几层合并在一起构造G1。
10.根据权利要求1所述的社交网络快速最大团和极大团搜索方法,其特征在于,所述采用极大团搜索算法搜索上界完全导出子图中的极大团具体包括以下分步骤:
S3-4、根据构造的所有核数值对应的上界完全导出子图,分别采用极大团搜索算法并行搜索各个上界完全导出子图中的极大团;
S3-5、对各个上界完全导出子图中搜索得到的极大团枚举过滤其中的伪极大团;
S3-6、合并各个上界完全导出子图过滤后得到的极大团,得到社交网络中的所有极大团。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126133.XA CN113806642A (zh) | 2021-09-26 | 2021-09-26 | 一种社交网络快速最大团和极大团搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126133.XA CN113806642A (zh) | 2021-09-26 | 2021-09-26 | 一种社交网络快速最大团和极大团搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806642A true CN113806642A (zh) | 2021-12-17 |
Family
ID=78896620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111126133.XA Pending CN113806642A (zh) | 2021-09-26 | 2021-09-26 | 一种社交网络快速最大团和极大团搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806642A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817563A (zh) * | 2022-04-27 | 2022-07-29 | 电子科技大学 | 基于最大团发现的特定Twitter用户群体的挖掘方法 |
-
2021
- 2021-09-26 CN CN202111126133.XA patent/CN113806642A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817563A (zh) * | 2022-04-27 | 2022-07-29 | 电子科技大学 | 基于最大团发现的特定Twitter用户群体的挖掘方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881350B (zh) | 一种基于混合图结构化建模的推荐方法与系统 | |
CN108090197B (zh) | 一种多维社交网络的社区发现方法 | |
CN112613602A (zh) | 基于知识感知超图神经网络的推荐方法及系统 | |
CN110580251B (zh) | 一种大数据环境下的群体轨迹伴随模式在线分析方法和系统 | |
Guzzi et al. | Biological network analysis: Trends, approaches, graph theory, and algorithms | |
CN105787126B (zh) | k-d树生成方法和k-d树生成装置 | |
Miller et al. | Tradeoffs between cost and information for rendezvous and treasure hunt | |
CN110719106A (zh) | 一种基于节点分类排序的社交网络图压缩方法及系统 | |
CN113806642A (zh) | 一种社交网络快速最大团和极大团搜索方法 | |
Souravlas et al. | Probabilistic community detection in social networks | |
Govada et al. | Distributed multi-class rule based classification using ripper | |
CN109542949A (zh) | 一种基于形式向量的决策信息系统知识获取方法 | |
CN113256793A (zh) | 一种三维数据处理方法及系统 | |
CN111899117A (zh) | 应用于社交网络的k边连通分量挖掘系统及挖掘方法 | |
CN108256077B (zh) | 一种面向中国移动智能客服的动态扩展知识图推理方法 | |
Yuan et al. | Boundary-connection deletion strategy based method for community detection in complex networks | |
CN112395462A (zh) | 在图数据流中查找匹配子图方法及装置、设备、存储介质 | |
CN113470738B (zh) | 基于模糊聚类和基因本体语义相似性的可重叠蛋白质复合物识别方法和系统 | |
US20210272137A1 (en) | Apparatus for Fast Clustering of Massive Data Based on Variate-Specific Population Strata | |
Cao et al. | Social relationships and temp-spatial behaviors based community discovery to improve cyber security practices | |
CN112733926A (zh) | 一种基于半监督的多层网络聚类方法 | |
CN112347369A (zh) | 基于网络表征的集成学习动态社会网络链路预测方法 | |
Peng et al. | An incremental density based spatial clustering of application with noise algorithm based on partition index | |
Pati et al. | Constructing minimal spanning tree based on rough set theory for gene selection | |
CN112818178B (zh) | 一种基于(k,p)-core的快速高效社群发现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |