K-Core算法是用于在图中寻找符合一定紧密关系条件的子图结构的算法,通常用于进行子图划分,去除不重要的结点。参考论文k-core: Theories and applications - ScienceDirect
K-Core就是图中的最小子图,子图中每个结点的度至少是k。而K-Shell由属于k-core但不属于(k+1)-core的结点和连边组成。比如,0-core就是整个图,因为每个结点的度都至少大于0;1-core就是把所有孤立结点丢掉,这样图中结点度都大于等于1. 0-shell就是那些孤立的结点组成的子图。
k-壳分解法(k-shell decomposotion)
将图中结点度为1的所有结点和对应的连边去掉后,新的网络中可能会有新的度为1的结点,把这些结点和边也去掉,重复操作,直到不再有度为1的结点为止。这种操作类似于剥去网络最外面一层壳,所以把所有去除的结点以及他们之间的连边称为网络的1-壳(1-shell)。网络中度为0的独立结点称为0-壳(0-shell)。在去除1-壳后的网络中,所有结点度都大于等于2,因此,接着把度为2的结点和对应连边去掉,直到不再有度为2的结点为止,则去除的结点和边称为2-壳(2-shell)。依此类推,直到网络中每个结点都划分到相应k-shell中,就得到网络的k-shell分解。
每个结点都唯一对应一个k-she