BBK:一种更简单、更快速的大规模稀疏二分图中极大双团枚举算法
BBK: a simpler, faster algorithm for enumerating maximal bicliques in large sparse bipartite graphs
AI总结:
本文提出BBK算法,将Bron-Kerbosch扩展到二分图,用于快速枚举极大双团,理论分析复杂度并在大规模真实数据上验证其效率优于现有算法。
摘要:
二分图是现实世界网络建模的常用工具,用于捕捉两类不同顶点之间的交互。在此框架下,双团作为研究稠密子图时的关键结构出现:它们是顶点集合,使得第一类所有顶点与第二类所有顶点均存在交互。因此,双团能够识别网络中紧密相关的顶点群体,例如具有相似兴趣的个体或内容相似的网页。本文提出了一种新算法,用于在二分图中穷举枚举极大双团。该算法名为BBK(Bipartite Bron-Kerbosch),是Bron-Kerbosch算法(用于枚举标准(非二分)图中的极大团)在二分情形下的新扩展。它比现有最优算法更快,并能在现有实现无法处理的大规模二分图上进行枚举。我们从理论上分析该算法,建立了两个复杂度公式:一个作为输入的函数,一个作为算法输出特征的函数。我们还提供了BBK的C++开放访问实现,并在大规模真实数据集上进行实验验证其效率,表明其实际执行时间短于现有最优算法。这些实验还表明,顶点处理的顺序以及选择两类顶点中的哪一类作为枚举起始点,对计算时间有影响。
英文摘要:
Bipartite graphs are a prevalent modeling tool for real-world networks, capturing interactions between vertices of two different types. Within this framework, bicliques emerge as crucial structures when studying dense subgraphs: they are sets of vertices such that all vertices of the first type interact with all vertices of the second type. Therefore, they allow identifying groups of closely related vertices of the network, such as individuals with similar interests or webpages with similar contents. This article introduces a new algorithm designed for the exhaustive enumeration of maximal bicliques within a bipartite graph. This algorithm, called BBK for Bipartite Bron-Kerbosch, is a new extension to the bipartite case of the Bron-Kerbosch algorithm, which enumerates the maximal cliques in standard (non-bipartite) graphs. It is faster than the state-of-the-art algorithms and allows the enumeration on massive bipartite graphs that are not manageable with existing implementations. We analyze it theoretically to establish two complexity formulas: one as a function of the input and one as a function of the output characteristics of the algorithm. We also provide an open-access implementation of BBK in C++, which we use to experiment and validate its efficiency on massive real-world datasets and show that its execution time is shorter in practice than state-of-the art algorithms. These experiments also show that the order in which the vertices are processed, as well as the choice of one of the two types of vertices on which to initiate the enumeration have an impact on the computation time.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。