• K-Core, K-Shell & K-Crust傻傻分不清楚


    在这里插入图片描述

    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-shell,这个k-shell中的结点的度一定大于等于k。但是注意,度相同的结点不一定属于同一个k-shell。并且,度大的结点既可能属于k值大的k-shell(最内层),可能能属于k值较小的shell(外层)。所以,度值大的未必就重要。

    k-核分解(k-core decomposition)

    去除网络中度数小于k的所有结点和连边,接着在新的图上去除度数小于k的结点,直到剩余结点度都大于等于k。依次取k=1,2……,就得到网络的k-核分解。(k+1)-核一定是k-核的子集。

    总结

    K-Core(K-核)就是所有大于等于K的K-Shell的并集;K-Crust(K-皮)就是所有小于等于K的K-shell的并集。

    参考

    • 网络科学导论。汪小帆等编著
    • https://blog.csdn.net/ningyanggege/article/details/119540246
  • 相关阅读:
    深度学习——LSTM基础
    护网蓝队初级面试题摘录(下)
    Transformer Fusion for Indoor RGB-D Semantic Segmentation非官方自己实现的代码
    Linux 安全 - 内核提权
    小程序的各种手机屏幕媒体查询
    在弱矩阵中项目经理该如何系统地做好工作?
    Antv/G2 自定义折线图线条样式及tootip提示信息样式
    行情分析——加密货币市场大盘走势(10.27)
    node 第十二天 npm补充 详解package-lock.json在团队协作中的作用
    leetcode 979
  • 原文地址:https://blog.csdn.net/sb985/article/details/126063653