通过反复修剪顶点计算图的k-core很容易。但是,对于我的应用程序,我希望能够将顶点添加到起始图形并获得更新的核心,而无需从头重新计算整个k-core。有没有一种可靠的算法可以利用之前迭代所做的工作?增量k核算法
为了好奇,K核被用作一个派系寻找算法的预处理阶段。任何大小为5的派系保证是图的4核心的一部分。在我的数据集中,4核比整个图小得多,所以从那里蛮横逼迫它可能会很难处理。递增添加顶点可以使算法尽可能少地使用数据集。我的顶点集是无限的,并且是有序的(素数),但我只关心编号最小的团。
编辑:
关于它的思考多一些基于akappa的回答,检测一个循环的建立确实是至关重要的。在下面的图表中,在添加F之前,2内核是空的。添加F并不会改变A的程度,但它仍将A添加到2内核。这很容易扩展,以查看关闭任何大小的循环如何导致所有顶点同时加入双核。
添加一个顶点可以影响任意距离的顶点的核心性,但是这可能会关注最坏情况的行为。