CN111680196A - 一种基于二分图蝴蝶结构的关键节点搜索方法 - Google Patents
一种基于二分图蝴蝶结构的关键节点搜索方法 Download PDFInfo
- Publication number
- CN111680196A CN111680196A CN202010450601.8A CN202010450601A CN111680196A CN 111680196 A CN111680196 A CN 111680196A CN 202010450601 A CN202010450601 A CN 202010450601A CN 111680196 A CN111680196 A CN 111680196A
- Authority
- CN
- China
- Prior art keywords
- node
- group
- butterfly
- nodes
- optimal
- 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
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/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于二分图蝴蝶结构的关键节点搜索方法。蝴蝶数量是二分图结构和性质分析的基本度量。考虑到关键节点的删除可能会影响二分图的稳定性,本发明提出了蝴蝶最小化问题,旨在通过删除b个关键节点来最小化图中的蝴蝶数量。为了更好地处理大型二分图,本发明提出了新颖的修剪策略,从而更有效地缩减搜索空间。与此同时,本发明结合新的修剪策略开发了一种高效的基于群组的算法,从而能在大型二分图中快速找到b个关键节点来最小化图中的蝴蝶数量。因此,本发明基于二分图蝴蝶结构的关键节点搜索方法对二分网络结构稳定性的研究具有极大的效益。
Description
技术领域
本发明属于多媒体信息安全技术领域,特别涉及一种针对二分图数据的基于二分图蝴蝶结构的关键节点搜索方法。
背景技术
二分图对建模许多现实世界的问题非常重要,例如客户-产品网络、作者-论文网络、基因共表达网络等。目前,已经有大量研究对二分图进行管理和分析。Guillaume等人证明了所有复杂的网络都可以看作是二分结构,并为复杂的网络提出了第一个简单直观的模型。考虑到生成具有给定度数序列的二分图问题,Kannan等人采用马尔可夫链算法来生成二分图。为了将传统网络的应用扩展到二分网络分析,Stephen等人讨论了将传统网络分析技术应用到2模数据的方法。此外,许多研究也都集中在二分网络的图结构主题上,包括(P,Q)双团的最密子图识别,以及(2,2)双团(即蝴蝶结构)的测量和建模。为了进一步研究二分图图中的聚类能力,Flajolet等人使用蝴蝶数量与3条路径数量之比来建模分析图形的凝聚力。Sariyuce等人引入了有效的剥皮算法来找到密集子图,并根据蝴蝶结构建立它们之间的关系。考虑到蝴蝶计数的重要性,研究者提出了一套有效的随机算法,来快速估计二分图中的蝴蝶数量。近年来,许多研究都旨在通过识别重要的关键节点或边来使图的相应度量最小化,包括三角形最小化,瓦解k核,k核最小化和k桁架最小化等。然而,目前并没有一项研究考虑蝴蝶最小化问题。
发明内容
考虑到蝴蝶数量是二分图结构和性质分析的基本度量,以及关键节点的删除可能会影响二分图的稳定性,本发明提出了蝴蝶最小化问题,旨在通过删除b个关键节点来最小化二分图中的蝴蝶数量。二分图是由两层节点组成,其中一条边表示不同层中的节点之间的关系,同一层中的节点之间没有边。蝴蝶结构是二分图中最小的内聚二分体单元,它是一个(2,2)双团,即每层节点中均含有2个节点,且不同层中的节点均有边,同一层中的节点之间没有边。该模型有许多非常重要的应用,例如利用该问题来识别关键节点,以增强二分网络的稳定性,或者,攻击这些关键节点以破坏敌方网络。
本发明提出新颖的修剪策略,从而更有效地缩减搜索空间。与此同时,本发明结合新的修剪策略开发了一种高效的基于群组的算法,从而能在大型二分图中快速找到b个关键节点以最小化图中的蝴蝶数量。因此,基于二分图蝴蝶结构的关键节点搜索的方法的应用对二分网络研究有着极大的效益。
本发明解决其技术问题的技术方案具体如下:一种基于二分图蝴蝶结构的关键节点搜索方法,该方法通过删除搜索到的b个关键节点最小化二分图中的蝴蝶数量,该方法包括:
通过四种修剪策略过滤二分图G中不必要的点和边,包括:
引理1,基于节点的修剪规则:如果节点u的度小于2,则节点u不能成为候选者。
证明:根据蝴蝶结构的定义,蝴蝶结构是一个(2,2)双团,其中节点u的度必须不小于2。
引理2,基于度的修剪规则:如果删除二分图中节点u,则只有节点u的邻居节点或邻居节点的邻居可能改变其包含的蝴蝶数量。
证明:根据蝴蝶结构的定义,一个蝴蝶结构是由4个节点组成,如果蝴蝶结构中的一个节点u被删除,则整个蝴蝶结构都会瓦解。因此,在这个瓦解的蝴蝶结构中的其他3个相邻节点的蝴蝶数量都将下降。显而易见,其中有两个节点与节点u相邻,一个节点与节点u的邻节点相邻。如果节点v不属于节点u的邻居或者邻居的邻居,则节点v不可能构成含有节点u的蝴蝶结构,因此,删除节点u后,节点v的蝴蝶数量将不会改变。
引理3,基于边际效益的修剪规则:每次迭代中将最大蝴蝶数量对应的节点作为最优节点,将节点u在上一次迭代中含有的蝴蝶数量作为边际效益,若节点u的边际效益小于当前迭代中最优节点含有的蝴蝶数量,则无需计算节点u在当前迭代中的蝴蝶数量。
证明:基于子模性质,每删除一个节点后,二分图中节点含有的蝴蝶数量不大于原先含有的蝴蝶数量。因此,如果节点u在上一次迭代中的蝴蝶数量小于当前迭代中最优节点含有的蝴蝶数量,则节点u不可能为当前最优节点,因此,无需计算其在当前迭代中的蝴蝶数量。
引理4,基于群组的修剪规则:给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。
证明:根据群组定义,群组的最大边际效益为其含有的节点的最大蝴蝶数量。给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中任意节点含有的蝴蝶结构的数量小于g’中最优节点含有的蝴蝶数量,因此,群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。
通过基于群组的高效算法在二分图中迅速找到b个关键节点,包括:
为了减少处理大型图的成本,一种自然的方法是根据某些度量将图分为不同的组。对于没有希望的小组,只需在必要时更新内部信息。一种简单的分组方法是对节点进行随机分组,然而该方法并不能保证分区质量。
为了创建更好的群组,本发明提出了k尖端群组结构,因为它可以更好地利用邻居节点的局部信息,当内部信息发生变化时可以有效地进行更新。
k尖端的概念:给定子图S,如果子图S中的每个节点都至少含有k个蝴蝶数量,且子图S是极大的,即不存在任何超图满足上述条件,那么子图S是k尖端;
k尖端值的概念:对于节点u来说,它的k尖端值就是它存在的最大的k尖端的k值;
k尖端群组的概念:给定子图S,如果子图S中任一节点u的k尖端值均为k,且子图S是相连且极大的,那么子图S是k尖端群组;
基于集成群组信息和上述所有修剪规则,本发明提出了一种高效的基于群组的贪心算法。基于引理4,该算法首先处理有希望的群组。删除节点后,群组的上限和下限(即边际效益属性)可能会减小,该算法仅在必要时更新群组的信息。
步骤一,根据引理1对二分图G进行过滤处理;
步骤二,在步骤一过滤后的图G中建立k尖端群组;
步骤三,创建优先级队列,队列初始化为空,按k尖端群组最优节点(最优节点即含有蝴蝶数量最多的节点)含有的蝴蝶数量对群组进行降序排序并***优先级队列中;
步骤四,在每次迭代过程中,利用贪婪算法结合引理2-引理4找到最优节点,将最优节点加入最优节点集合并删除该最优节点,之后更新优先级队列;
步骤五,输出最优节点集,即b个最优节点。
进一步地,所述步骤一中根据引理1基于节点的修剪规则,去掉一些没有希望的节点。
进一步地,所述步骤二包括:
(a)初始化群组集为空,使用哈希表来维护每个群组的地址,且地址从0开始;
(b)对每个未访问的节点v,求出其k尖端值,并从节点v开始BFS遍历,将节点v加入群组队列,并标记为已访问;
(c)在BFS过程中,访问节点v的邻居节点u,如果节点u未被访问过且尖端值相同,将节点u加入该群组队列,并标记为已访问;
(d)每轮BFS遍历结束,将包含节点v的群组加入到群组集中,并记录相应的地址;
(e)当所有节点被访问结束后,输出群组集,即所有k尖端群组。
进一步地,所述步骤四包括:
1)在每次迭代过程中,先初始化最大边际效益为负无穷,最优节点为空;
2)如果当前最大边际效益小于优先级队列中第一个群组g最优节点的蝴蝶数量,则取出群组g,执行步骤3),否则终止循环;
3)如果群组g未被访问过,则更新群组g中的信息,执行步骤4);否则,将该轮迭代的最大边际效益更新为群组g的最大边际效益,最优节点更新为群组g中的最优节点w,执行步骤4);
4)将更新后的群组g按蝴蝶数量标准***优先级队列;
5)对优先级队列中的第一个群组g重复执行步骤1)-步骤4)操作,得到该轮迭代中的最优节点w*;
6)在每次群组迭代过程中,将受最优节点w*删除影响的节点及其所在的群组标为未访问;
7)将每次迭代中的最优节点w*加入到最优节点集B并删除最优节点w*。
进一步地,所述步骤3)中,更新群组g中的信息具体包括:
(a)重新计算尖端值和群组信息;
(b)如果更新后的群组与原先群组集中的群组有交集,则进行合并,形成新的群组,因为更新后的群组可能会拆分成多个尖端值下降的群组。
本申请还提出了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法。
本申请还提出了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法。
本发明的有益效果为:传统的社交网络并不能适用于多类型实体存在的情况。本发明提出了一种基于二分图蝴蝶结构的关键节点搜索的方法。蝴蝶数量是二分图结构和性质分析的基本度量,而在二分网络中,删除某些关键节点将导致大量蝴蝶结构减少。因此,考虑到关键节点的删除可能会影响二分图的稳定性,本发明提出了蝴蝶最小化问题,旨在通过删除b个关键节点来最小化图中的蝴蝶数量。此外,为了更有效地缩减搜索空间,本发明提出了四种新颖的修剪策略。与此同时,为了减少处理大型二分图的成本,并保证分区的质量,本发明提出了k尖端群组结构。基于集成群组信息和上述所有修剪规则,本发明开发了一种高效的基于群组的贪心算法,从而能在二分图中快速找到b个关键节点来最小化图中的蝴蝶数量。因此,基于二分图蝴蝶结构的关键节点搜索的方法对二分网络结构稳定性的研究具有极大的效益。
附图说明
图1是本发明基于群组的贪心算法的流程图;
图2是原始二分图示意图;
图3是对原始二分图进行过滤操作的示意图;
图4是在过滤后的图中寻找最优节点集的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本申请提出的一种基于二分图蝴蝶结构的关键节点搜索方法,该方法通过删除搜索到的b个关键节点最小化二分图中的蝴蝶数量,该方法包括:
通过四种修剪策略过滤二分图G中不必要的点和边,包括:
引理1,基于节点的修剪规则:如果节点u的度小于2,则节点u不能成为候选者。
证明:根据蝴蝶结构的定义,蝴蝶结构是一个(2,2)双团,其中节点u的度必须不小于2。
引理2,基于度的修剪规则:如果删除二分图中节点u,则只有节点u的邻居节点或邻居节点的邻居可能改变其包含的蝴蝶数量。
证明:根据蝴蝶结构的定义,一个蝴蝶结构是由4个节点组成,如果蝴蝶结构中的一个节点u被删除,则整个蝴蝶结构都会瓦解。因此,在这个瓦解的蝴蝶结构中的其他3个相邻节点的蝴蝶数量都将下降。显而易见,其中有两个节点与节点u相邻,一个节点与节点u的邻节点相邻。如果节点v不属于节点u的邻居或者邻居的邻居,则节点v不可能构成含有节点u的蝴蝶结构,因此,删除节点u后,节点v的蝴蝶数量将不会改变。
引理3,基于边际效益的修剪规则:每次迭代中将最大蝴蝶数量对应的节点作为最优节点,将节点u在上一次迭代中含有的蝴蝶数量作为边际效益,若节点u的边际效益小于当前迭代中最优节点含有的蝴蝶数量,则无需计算节点u在当前迭代中的蝴蝶数量。
证明:基于子模性质,每删除一个节点后,二分图中节点含有的蝴蝶数量不大于原先含有的蝴蝶数量。因此,如果节点u在上一次迭代中的蝴蝶数量小于当前迭代中最优节点含有的蝴蝶数量,则节点u不可能为当前最优节点,因此,无需计算其在当前迭代中的蝴蝶数量。
引理4,基于群组的修剪规则:给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。
证明:根据群组定义,群组的最大边际效益为其含有的节点的最大蝴蝶数量。给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中任意节点含有的蝴蝶结构的数量小于g’中最优节点含有的蝴蝶数量,因此,群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。
通过基于群组的高效算法在二分图中迅速找到b个关键节点,包括:
为了减少处理大型图的成本,一种自然的方法是根据某些度量将图分为不同的组。对于没有希望的小组,只需在必要时更新内部信息。一种简单的分组方法是对节点进行随机分组,然而该方法并不能保证分区质量。
为了创建更好的群组,本发明提出了k尖端群组结构,因为它可以更好地利用邻居节点的局部信息,当内部信息发生变化时可以有效地进行更新。
k尖端的概念:给定子图S,如果子图S中的每个节点都至少含有k个蝴蝶数量,且子图S是极大的,即不存在任何超图满足上述条件,那么子图S是k尖端;
k尖端值的概念:对于节点u来说,它的k尖端值就是它存在的最大的k尖端的k值;
k尖端群组的概念:给定子图S,如果子图S中任一节点u的k尖端值均为k,且子图S是相连且极大的,那么子图S是k尖端群组;
基于集成群组信息和上述所有修剪规则,本发明提出了一种高效的基于群组的贪心算法。基于引理4,该算法首先处理有希望的群组。删除节点后,群组的上限和下限(即边际效益属性)可能会减小,该算法仅在必要时更新群组的信息。
步骤一,根据引理1对二分图G进行过滤处理。
步骤二,在步骤一过滤后的图G中建立k尖端群组,具体可采用以下实现方式但不限于此:
(a)初始化群组集为空,使用哈希表来维护每个群组的地址,且地址从0开始;
(b)对每个未访问的节点v,求出其k尖端值,并从节点v开始BFS遍历,将节点v加入群组队列,并标记为已访问;
(c)在BFS过程中,访问节点v的邻居节点u,如果节点u未被访问过且尖端值相同,将节点u加入该群组队列,并标记为已访问;
(d)每轮BFS遍历结束,将包含节点v的群组加入到群组集中,并记录相应的地址;
(e)当所有节点被访问结束后,输出群组集,即所有k尖端群组。
步骤三,创建优先级队列,队列初始化为空,按k尖端群组最优节点(最优节点即含有蝴蝶数量最多的节点)含有的蝴蝶数量对群组进行降序排序并***优先级队列中。
步骤四,在每次迭代过程中,利用贪婪算法结合引理2-引理4找到最优节点,将最优节点加入最优节点集合并删除该最优节点,之后更新优先级队列。具体可采用以下实现方式但不限于此:
1)在每次迭代过程中,先初始化最大边际效益为负无穷,最优节点为空;
2)如果当前最大边际效益小于优先级队列中第一个群组g最优节点的蝴蝶数量,则取出群组g,执行步骤3),否则终止循环;
3)如果群组g未被访问过,则更新群组g中的信息,执行步骤4);否则,将该轮迭代的最大边际效益更新为群组g的最大边际效益,最优节点更新为群组g中的最优节点w,执行步骤4);更新群组g中的信息可采用以下实现方式但不限于此:
(a)重新计算尖端值和群组信息;
(b)如果更新后的群组与原先群组集中的群组有交集,则进行合并,形成新的群组,因为更新后的群组可能会拆分成多个尖端值下降的群组。
4)将更新后的群组g按蝴蝶数量标准***优先级队列;
5)对优先级队列中的第一个群组g重复执行步骤1)-步骤4)操作,得到该轮迭代中的最优节点w*;
6)在每次群组迭代过程中,将受最优节点w*删除影响的节点及其所在的群组标为未访问;
7)将每次迭代中的最优节点w*加入到最优节点集B并删除最优节点w*。
步骤五,输出最优节点集,即b个最优节点。
本申请还提出了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法。
本申请还提出了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法。
以下以图2所示原始二分图为示例描述本发明实现效果,本示例中给定b=1。图3为步骤一过滤后的子图。图4为在过滤后的子图上寻找最优节点集,其中最优节点集由深灰色表示,其相邻的边由虚线表示。在图4中,节点v2为含有蝴蝶数量最多的节点,删除节点v2将破坏4个蝴蝶结构。
此外,本发明在5个真实世界的二分网络上进行了广泛的实验,以评估所提出的方法的有效性和高效性。为了评估所提出方法的性能,我们通过改变参数b进行实验。本发明用算法消耗时间和最优节点集破坏的蝴蝶结构的数量分别来衡量所提出方法的有效性和效率。对于每个设置,本发明运行20次并取平均值。所有程序均在标准的c++中实现,所有实验均在配备Intel i7-8550CPU和16GB主内存的PC上进行。实验表明,本发明提出的结合高效修剪规则的基于群组的算法比基础的贪婪算法快了30倍。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (8)
1.一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,该方法通过删除搜索到的b个关键节点最小化二分图中的蝴蝶数量,该方法包括:
通过四种修剪策略过滤二分图G中不必要的点和边,包括:
引理1,基于节点的修剪规则:如果节点u的度小于2,则节点u不能成为候选者。
引理2,基于度的修剪规则:如果删除二分图中节点u,则只有节点u的邻居节点或邻居节点的邻居可能改变其包含的蝴蝶数量。
引理3,基于边际效益的修剪规则:每次迭代中将最大蝴蝶数量对应的节点作为最优节点,将节点u在上一次迭代中含有的蝴蝶数量作为边际效益,若节点u的边际效益小于当前迭代中最优节点含有的蝴蝶数量,则无需计算节点u在当前迭代中的蝴蝶数量。
引理4,基于群组的修剪规则:给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。
通过基于群组的搜索算法在二分图中迅速找到b个关键节点,包括:
步骤一,根据引理1对二分图G进行过滤处理;
步骤二,在步骤一过滤后的图G中建立k尖端群组,具体地:给定子图S,如果子图S中的每个节点都至少含有k个蝴蝶数量,且子图S是极大的,即不存在任何超图满足上述条件,那么子图S是k尖端;对于节点u来说,它的k尖端值就是它存在的最大的k尖端的k值;给定子图S,如果子图S中任一节点u的k尖端值均为k,且子图S是相连且极大的,那么子图S是k尖端群组;
步骤三,创建优先级队列,队列初始化为空,按k尖端群组最优节点含有的蝴蝶数量对群组进行降序排序并***优先级队列中;
步骤四,在每次迭代过程中,利用贪婪算法结合引理2-引理4找到最优节点,将最优节点加入最优节点集合并删除该最优节点,之后更新优先级队列;
步骤五,输出最优节点集,即b个最优节点。
2.根据权利要求1所述的一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,所述步骤一中根据引理1基于节点的修剪规则,去掉一些没有希望的节点。
3.根据权利要求1所述的一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,所述步骤二中,k尖端群组结构可以更好地利用邻居节点的局部信息,当内部信息发生变化时可以有效地进行更新。
4.根据权利要求1所述的一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,所述步骤二包括:
(a)初始化群组集为空,使用哈希表来维护每个群组的地址,且地址从0开始;
(b)对每个未访问的节点v,求出其k尖端值,并从节点v开始BFS遍历,将节点v加入群组队列,并标记为已访问;
(c)在BFS过程中,访问节点v的邻居节点u,如果节点u未被访问过且尖端值相同,将节点u加入该群组队列,并标记为已访问;
(d)每轮BFS遍历结束,将包含节点v的群组加入到群组集中,并记录相应的地址;
(e)当所有节点被访问结束后,输出群组集,即所有k尖端群组。
5.根据权利要求1所述的一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,所述步骤四包括:
1)在每次迭代过程中,先初始化最大边际效益为负无穷,最优节点为空;
2)如果当前最大边际效益小于优先级队列中第一个群组g最优节点的蝴蝶数量,则取出群组g,执行步骤3),否则终止循环;
3)如果群组g未被访问过,则更新群组g中的信息;否则,将该轮迭代的最大边际效益更新为群组g的最大边际效益,最优节点更新为群组g中的最优节点w;
4)将更新后的群组g按蝴蝶数量标准***优先级队列;
5)对优先级队列中的第一个群组g重复执行步骤1)-步骤4)操作,得到该轮迭代中的最优节点w*;
6)在每次群组迭代过程中,将受最优节点w*删除影响的节点及其所在的群组标为未访问;
7)将每次迭代中的最优节点w*加入到最优节点集B并删除最优节点w*。
6.根据权利要求5所述的一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,所述步骤3)中,更新群组g中的信息具体包括:
(a)重新计算尖端值和群组信息;
(b)如果更新后的群组与原先群组集中的群组有交集,则进行合并,形成新的群组。
7.一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一项所述的方法。
8.一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010450601.8A CN111680196A (zh) | 2020-05-25 | 2020-05-25 | 一种基于二分图蝴蝶结构的关键节点搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010450601.8A CN111680196A (zh) | 2020-05-25 | 2020-05-25 | 一种基于二分图蝴蝶结构的关键节点搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111680196A true CN111680196A (zh) | 2020-09-18 |
Family
ID=72434369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010450601.8A Pending CN111680196A (zh) | 2020-05-25 | 2020-05-25 | 一种基于二分图蝴蝶结构的关键节点搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680196A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409160A (zh) * | 2021-07-14 | 2021-09-17 | 浙江工商大学 | 基于k桁架建立社交网络中关键关系的方法 |
-
2020
- 2020-05-25 CN CN202010450601.8A patent/CN111680196A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409160A (zh) * | 2021-07-14 | 2021-09-17 | 浙江工商大学 | 基于k桁架建立社交网络中关键关系的方法 |
CN113409160B (zh) * | 2021-07-14 | 2023-05-26 | 浙江工商大学 | 基于k桁架建立社交网络中关键关系的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheng et al. | Efficient core decomposition in massive networks | |
Gui et al. | A community discovery algorithm based on boundary nodes and label propagation | |
Parchas et al. | Uncertain graph processing through representative instances | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及*** | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
CN105335438A (zh) | 一种基于局部最短回路的社会网络群体划分方法 | |
WO2013138441A1 (en) | Systems, methods, and software for computing reachability in large graphs | |
Zhang et al. | SUMMA: subgraph matching in massive graphs | |
Souravlas et al. | A parallel algorithm for community detection in social networks, based on path analysis and threaded binary trees | |
Uno | An efficient algorithm for enumerating pseudo cliques | |
CN112464107A (zh) | 一种基于多标签传播的社交网络重叠社区发现方法及装置 | |
CN111667373A (zh) | 基于邻居子图社交网络动态增量的演化社区发现方法 | |
CN111680196A (zh) | 一种基于二分图蝴蝶结构的关键节点搜索方法 | |
CN110598055A (zh) | 一种基于属性图的并行图摘要方法 | |
WO2021212812A1 (zh) | 一种基于团簇属性和平衡理论在符号网络中挖掘内聚子图的方法 | |
Zhu et al. | Top-k reliability search on uncertain graphs | |
Hambrusch et al. | Edge weight reduction problems in directed acyclic graphs | |
CN110222055B (zh) | 一种动态图下多边更新的单轮核值维护方法 | |
Barenboim et al. | Fully dynamic graph algorithms inspired by distributed computing: Deterministic maximal matching and edge coloring in sublinear update-time | |
CN110706743A (zh) | 一种平衡采样与图检索的蛋白质互作网络模体检测方法 | |
Sasaki et al. | Efficient network reliability computation in uncertain graphs | |
Pfaltz | Finding the Mule in the Network | |
CN112380267B (zh) | 一种基于隐私图的社区发现方法 | |
Wen et al. | Computing k-cores in large uncertain graphs: An index-based optimal approach | |
Kavurucu | A comparative study on network motif discovery algorithms |
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 |