一种基于二分图蝴蝶结构的关键节点搜索方法技术

技术编号:25690265 阅读:48 留言:0更新日期:2020-09-18 21:02
本发明专利技术公开了一种基于二分图蝴蝶结构的关键节点搜索方法。蝴蝶数量是二分图结构和性质分析的基本度量。考虑到关键节点的删除可能会影响二分图的稳定性,本发明专利技术提出了蝴蝶最小化问题,旨在通过删除b个关键节点来最小化图中的蝴蝶数量。为了更好地处理大型二分图,本发明专利技术提出了新颖的修剪策略,从而更有效地缩减搜索空间。与此同时,本发明专利技术结合新的修剪策略开发了一种高效的基于群组的算法,从而能在大型二分图中快速找到b个关键节点来最小化图中的蝴蝶数量。因此,本发明专利技术基于二分图蝴蝶结构的关键节点搜索方法对二分网络结构稳定性的研究具有极大的效益。

【技术实现步骤摘要】
一种基于二分图蝴蝶结构的关键节点搜索方法
本专利技术属于多媒体信息安全
,特别涉及一种针对二分图数据的基于二分图蝴蝶结构的关键节点搜索方法。
技术介绍
二分图对建模许多现实世界的问题非常重要,例如客户-产品网络、作者-论文网络、基因共表达网络等。目前,已经有大量研究对二分图进行管理和分析。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)在每次迭代过程中,先初始化最大边际效本文档来自技高网...

【技术保护点】
1.一种基于二分图蝴蝶结构的关键节点搜索方法,其特征在于,该方法通过删除搜索到的b个关键节点最小化二分图中的蝴蝶数量,该方法包括:/n通过四种修剪策略过滤二分图G中不必要的点和边,包括:/n引理1,基于节点的修剪规则:如果节点u的度小于2,则节点u不能成为候选者。/n引理2,基于度的修剪规则:如果删除二分图中节点u,则只有节点u的邻居节点或邻居节点的邻居可能改变其包含的蝴蝶数量。/n引理3,基于边际效益的修剪规则:每次迭代中将最大蝴蝶数量对应的节点作为最优节点,将节点u在上一次迭代中含有的蝴蝶数量作为边际效益,若节点u的边际效益小于当前迭代中最优节点含有的蝴蝶数量,则无需计算节点u在当前迭代中的蝴蝶数量。/n引理4,基于群组的修剪规则:给定两个群组g、g’,如果群组g中任何节点的最大边际效益小于g’中的最大边际效益,则群组g中不存在比g’中的最优节点含有更多蝴蝶结构的节点。/n通过基于群组的搜索算法在二分图中迅速找到b个关键节点,包括:/n步骤一,根据引理1对二分图G进行过滤处理;/n步骤二,在步骤一过滤后的图G中建立k尖端群组,具体地:给定子图S,如果子图S中的每个节点都至少含有k个蝴蝶数量,且子图S是极大的,即不存在任何超图满足上述条件,那么子图S是k尖端;对于节点u来说,它的k尖端值就是它存在的最大的k尖端的k值;给定子图S,如果子图S中任一节点u的k尖端值均为k,且子图S是相连且极大的,那么子图S是k尖端群组;/n步骤三,创建优先级队列,队列初始化为空,按k尖端群组最优节点含有的蝴蝶数量对群组进行降序排序并插入优先级队列中;/n步骤四,在每次迭代过程中,利用贪婪算法结合引理2-引理4找到最优节点,将最优节点加入最优节点集合并删除该最优节点,之后更新优先级队列;/n步骤五,输出最优节点集,即b个最优节点。/n...

【技术特征摘要】
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所述的一种基于二分图蝴蝶结构的关键节点搜索方法,...

【专利技术属性】
技术研发人员:王潇杨朱秋雨郑佳红杨镐吴艳萍陈晨张颖
申请(专利权)人:浙江工商大学
类型:发明
国别省市:浙江;33

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

1