精华内容
下载资源
问答
  • 利用matlab求解复杂网络节点介数,首先求出各节点的最短路径,然后利用对应算法求解介数。 输入:复杂网络邻接矩阵;输出:各节点的介数值
  • 基于复杂网络节点介数的IP阻断算法,童绥,双锴,近年来,复杂网络分析作为一种应用性很强的社会学研究方法,越来越受人瞩目。而 如何计算图中点的重要性,选取其中的关键节点又��
  • 下面是求节点介数的代码,介数就是指经过一个点的最短路径的比例,在计算复杂网络中节点重要性的时候会用到。 /*** 用来计算介数* 要计算所有的最短路径,用DIJ计算最短路径的时候我们可以发现一个规律:最后生成的...

    下面是求节点介数的代码,介数就是指经过一个点的最短路径的比例,在计算复杂网络中节点重要性的时候会用到。 /**

    * 用来计算介数

    * 要计算所有的最短路径,用DIJ计算最短路径的时候我们可以发现一个规律:最后生成的结果是最小生成树,而一棵树是可以用一个一维数组表示的。

    * 所以本代码在计算介数的时候具有和DIJ相同的时间复杂度。

    */

    public class Betweeness {

    private double[][] dis;

    private int N;

    Betweeness(double[][] dis)

    {

    this.dis = dis;

    this.N = dis.length;

    }

    /**

    * 根据返回的树来计算经过每个节点的最短路径的数目

    * @return

    */

    public double[] getBetweeness()

    {

    double[] b = new double[N];

    for(int start = 0; start < N; start++)

    {

    int[] path = getPath(start); // 保存树的结构

    int[] num = new int[N]; // 一个节点的路径的数目

    int[] used = new int[N]; // 0:初始-->1:有子节点 0--->2:把没有子节点的处理

    // 每次处理的时候找到没有子节点的点,然后将它的个数加到它的父节点中

    for(int i = 0; i < N; i++)

    {

    for(int j = 0; j < N; j++)

    {

    if(path[j] != -1 && used[path[j]] == 0)

    {

    used[path[j]] = 1;

    }

    }

    for(int j = 0; j < N; j++)

    {

    if(used[j] == 0 && path[j] >= 0)

    {

    num[path[j]] += 1 + num[j];

    used[j] = 2;

    }

    }

    for(int j = 0; j < N; j++)

    {

    if(used[j] == 1)

    {

    used[j] = 0;

    }

    }

    }

    for(int i = 0; i < N; i++)

    {

    b[i] += num[i];

    }

    }

    double sum = N*N - N;

    for(int i = 0; i < N; i++)

    {

    b[i] /= sum;

    }

    return b;

    }

    /**

    * 计算从start出发到各个节点的最短路径,返回这棵最小生成树

    * @param start

    * @return

    */

    public int[] getPath(int start)

    {

    int[] path = new int[N];

    boolean[] used = new boolean[N];

    double[] minDis = new double[N];

    for(int i = 0; i < N; i++)

    {

    path[i] = -1;

    minDis[i] = -1.0;

    }

    used[start] = true;

    minDis[start] = 0.0;

    for(int i = 1; i < N; i++)

    {

    for(int j = 0; j < N; j++)

    {

    if(used[j] == true || dis[start][j] < 0){

    continue;

    }

    if(dis[start][j] >= 0.0 && (minDis[j] < 0.0 || minDis[j] > minDis[start] + dis[start][j]))

    {

    path[j] = start;

    minDis[j] = minDis[start] + dis[start][j];

    }

    }

    start = -1;

    for(int j = 0; j < N; j++)

    {

    if(minDis[j] < 0.0 || used[j] == true)

    {

    continue;

    }

    if(start == -1 || minDis[start] > minDis[j])

    {

    start = j;

    used[start] = true;

    }

    }

    if(start == -1)

    {

    break;

    }

    }

    return path;

    }

    /

    public static void main(String[] main){

    double[][] dis = {{0, 1, 5, 2},

    {1, 0, 4, 6},

    {5, 4, 0, 3},

    {2, 6, 3, 0}};

    double[] b = new Betweeness(dis).getBetweeness();

    for(int i = 0; i < b.length; i++)

    {

    System.out.println(b[i]);

    }

    }

    }

    展开全文
  • 提升链路预测精度是复杂网络研究的基础问题之一,现有的基于节点相似的链路预测指标没有充分利用网络节点的重要性,即节点在网络中的影响力。针对以上问题提出基于节点重要性的链路预测算法。该算法在基于局部相似性...
  • 复杂网络分析 08网络节点重要性

    千次阅读 2020-08-26 10:46:20
    08 网络节点重要性 8.1网络节点重要性 8.2节点重要性判别方法 8.1网络节点重要性 度中心性 DC(i)=kin−1DC(i) =\frac{k_i}{n-1}DC(i)=n−1ki​​ nnn为网络的节点数目 kik_iki​为节点的度 度中心性认为一一个...

    08 网络节点重要性

    • 8.1网络节点重要性
    • 8.2节点重要性判别方法

    8.1网络节点重要性

    1. 度中心性
      D C ( i ) = k i n − 1 DC(i) =\frac{k_i}{n-1} DC(i)=n1ki
      n n n为网络的节点数目
      k i k_i ki为节点的度
      度中心性认为一一个节点的邻居数目越多,影响力就越大,这是网络中刻画节点重要性最简单的指标。1
      最简单的指标,例如Internet中的中枢节点。
    2. 介数中心性
      a)网络中所有节点对的最短路径中经过一个节点的最短路径数越多这个节点就越重要
      b)介数中心性刻画了节点对网络中沿最短路径传输的网络流的控制力
    3. 接近中心性
      ①通过计算节点与网络中其他所有节点的距离的平均值来消除特殊值的干扰。即利用信息在网络中的平均传播时长来确定节点的重要性。
      ②一个节点与网络中其他节点的平均距离越小,该节点的接近中心性就越大。2
    4. 特征向量中心性
      一个节点的重要性既取决于其邻居节点的数量(即该节点的度),也取决于每个邻居节点的重要性
      ◆x是矩阵A的特征值 c − 1 c^{-1} c1对应的特征向量
      ◆从传播的角度看,特征向量中心性适合于
      描述节点的长期影响力
      ◆在疾病传播、谣言I扩散中,一个节点的EC分值较大说明该节点距离传染源更近的可能性越大,是需要防范的关键节点
    5. 利用网络动力学识别重要节点
    • 针对特定的动力学过程
      用网络的鲁棒性和脆弱性
      • 网络中最大联通集团的节点数量3
      • 利用动力学识别重要节点(用传播动力学):网络中被感染的节点的数量(少或多)4

    8.2节点重要性判别方法

    • 方法分类5
    1. 基于节点近邻的方法
      1. 度中心性
        一个节点的邻居数越多,就越重要6
      2. 半局部中心性7
        节点j两步可达(二阶邻居)的节点数量
        T(j)示节点j的一阶邻居节点的集合
        其中N(w)是节点w一阶、二阶邻居的个数
      3. K-壳分解
        节点在网络中的位置也是至关重要的因素。
        1.删掉网络中度为Ks=l的点
        2.删掉新出现的Ks=1的点
        3.直到所剩网络中没有Ks=1的点
        取Ks=2 ,重复以上步骤8
      4. H-index
        对于网络中的一个节点v
        定义 F v ( k ) F_v(k) Fv(k)表示v由k个邻居的度大于k
        H i n d e x ( v ) = m a x k ( k ∣ F v ( k ) ) H_{index}(v)=max_k({k|F_v(k)}) Hindex(v)=maxk(kFv(k))
        即v最多有 H i n d e x ( v ) H_{index}(v) Hindex(v)个邻居的度大于 H i n d e x ( v ) H_{index}(v) Hindex(v)9
    2. 基于路径的方法
      1. 接近中心性10
        ①通过计算节点与网络中其他所有节点的距离的平均值来消除特殊值的干扰。即利用信息在网络中的平均传播时长来确定节点的重要性。
        ②一个节点与网络中其他节点的平均距离越小,该节点的接近中心性就越大。
      2. 介数中心性
        ①网络中所有节点对的最短路径中,经过一个节点的最短路径数越多这个节点就越重要。
        ②介数中心性刻画了节点对网络中沿最短路径传输的网络流的控制力
      3. 离心中心性11
        ①网络直径定义为网络G中所有节点的离心中心性中的最大值,网络半径定义为所有节点的离心中心性值中的最小值。
        ②网络的中心节点就是离心中心性值等于网络半径的节点,一个节点的离心中心性与网络半径越接近就越中心。
      4. 流介数中心性12
        如果选择最短路径来运输网络流,很多情况下反而会延长出行时间、降低出行效率
        网络中所有不重复的路径中, 经过一个节点的路径的比例越大,这个节点就越重要。其中, g s t i g^i_{st} gsti为网络中节点s与t之间的所有路径数(不包含回路) g s t g_{st} gst为节点对s与t之间经过i的路径数
      5. Katz中心性13
        Katz中心性认为短路径比长路径更加重要。它通过一个与路径长度相关的因子对不同长度的路径加权。一个与节点i相距有p步长的节点,对i的中心性的贡献为 s v s^v sv
      6. 连通介数中心性14
        考虑节点对之间的所有路径,赋予较长的路径较小的权值
        定义节点对(p,q)之间的连通度 G p q G_{pq} Gpq
        基于连通度的概念,可定义节点r的连通介数中心性。
    3. 基于特征向量的方法
      1. 特征向量中心性
        一个节点的重要性既取决于其邻居节点的数量(即该节点的度)也取决于每个邻居节点的重要性。
      2. PageRank中心性
        谷歌搜索弓|擎的核心算法,迭代算法。
        PageRank算法基于网页的链接结构给网页排序,它认为万维网中一个页面的重要性取决于指向它的其他页面的数量和质量,如果它被很多高质量页面指向,则这个页面的质量也高。15
      3. LeaderRank中心性
        对PageRank的一种修正。
        在现实中人们在内容丰富的热门J网页(出度大的节点).上浏览的时候选择使用地址栏跳转页面的概率要远小于浏览信息量少的枯燥网页(出度小的节点)
        参数c的选取往往需要实验获得, 并且在不同的应用背景下最优参数不具有普适性。
        在有向网络的随机游走过程中,通过添加一个背景节点以及该节点与网络中所有节点的双向边来代替PageRank算法中的跳转概率c,从而得到一一个无参数且形式上更加简单优美的算法。16
      4. Hits中心性
      • 权威值(authorities) +枢纽值(Hubs)17
        使用在二分网结构下,可以计算出一个节点的权威值
    4. 基于节点移除或收缩的方法
      节点的重要性往往体现在该节点被移除之后对网络的破坏性(或对特定功能的影响)18

    参考文献


    1. Bonacich P F . Factoring and Weighting Approaches to Status Scores and Clique Identification[J]. Journal of Mathematical Sociology, 1972, 2(1):113-120. ↩︎

    2. Linton, C, Freeman. Centrality in social networks conceptual clarification[J]. Social Networks, 1978. ↩︎

    3. lyer S, Killingback T, Sundaram B, et al. Attack robustness and centrality of
      complex networks. PLoS One, 2013, 8: e59613 ↩︎

    4. Lü L, Zhang Y C, Yeung C H, et al. Leaders in social networks, the delicious case[J]. PloS one, 2011, 6(6). ↩︎

    5. 任晓龙, 吕琳媛. 网络重要节点排序方法综述[J]. 科学通报, 2014(13):1175-1197. ↩︎

    6. Bonacich P F . Factoring and Weighting Approaches to Status Scores and Clique Identification[J]. Journal of Mathematical Sociology, 1972, 2(1):113-120. ↩︎

    7. Chen D, Lü L, Shang M S, et al. Identifying influential nodes in complex networks[J]. Physica a: Statistical mechanics and its applications, 2012, 391(4): 1777-1787. ↩︎

    8. Kitsak M, Gallos L K, Havlin S, et al. Identification of influential spreaders in complex networks[J]. Nature physics, 2010, 6(11): 888-893. ↩︎

    9. Hirsch J E.An index to quantify an individual’s scientific research output[J].PNAS, 2005,102(46):16569-16572. ↩︎

    10. Freeman L C. Centrality in social networks conceptual clarification[J]. Social networks, 1978, 1(3): 215-239. ↩︎

    11. Hage P, Harary F. Eccentricity and centrality in networks[J]. Social networks, 1995, 17(1): 57-63. ↩︎

    12. Freeman L C, Borgatti S P, White D R. Centrality in valued graphs: A measure of betweenness based on network flow[J]. Social networks, 1991, 13(2): 141-154. ↩︎

    13. Katz L. A new status index derived from sociometric analysis[J]. Psychometrika, 1953, 18(1): 39-43. ↩︎

    14. Estrada E, Hatano N. Communicability in complex networks[J]. Physical Review E, 2008, 77(3): 036111. ↩︎

    15. Brin S, Page L. The anatomy of a large-scale hypertextual web search engine[J]. 1998. ↩︎

    16. Lü L, Zhang Y C, Yeung C H, et al. Leaders in social networks, the delicious case[J]. PloS one, 2011, 6(6). ↩︎

    17. Kleinberg J M. Authoritative sources in a hyperlinked environment[J]. Journal of the ACM (JACM), 1999, 46(5): 604-632. ↩︎

    18. Restrepo J G, Ott E, Hunt B R. Characterizing the dynamical importance of network nodes and links[J]. Physical review letters, 2006, 97(9): 094102. ↩︎

    展开全文
  • centrality/centrality/__init__.pycentrality/__init__.pyccentrality/betweenness.pycentrality/betweenness.pyccentrality/betweenness_subset.pycentrality/betweenness_subset.pyccentrality/closeness.pycentr...

    centrality/

    centrality/__init__.py

    centrality/__init__.pyc

    centrality/betweenness.py

    centrality/betweenness.pyc

    centrality/betweenness_subset.py

    centrality/betweenness_subset.pyc

    centrality/closeness.py

    centrality/closeness.pyc

    centrality/communicability_alg.py

    centrality/communicability_alg.pyc

    centrality/current_flow_betweenness.py

    centrality/current_flow_betweenness.pyc

    centrality/current_flow_betweenness_subset.py

    centrality/current_flow_betweenness_subset.pyc

    centrality/current_flow_closeness.py

    centrality/current_flow_closeness.pyc

    centrality/degree_alg.py

    centrality/degree_alg.pyc

    centrality/eigenvector.py

    centrality/eigenvector.pyc

    centrality/flow_matrix.py

    centrality/flow_matrix.pyc

    centrality/katz.py

    centrality/katz.pyc

    centrality/load.py

    centrality/load.pyc

    centrality/tests/

    centrality/tests/test_betweenness_centrality.py

    centrality/tests/test_betweenness_centrality.pyc

    centrality/tests/test_betweenness_centrality_subset.py

    centrality/tests/test_betweenness_centrality_subset.pyc

    centrality/tests/test_closeness_centrality.py

    centrality/tests/test_closeness_centrality.pyc

    centrality/tests/test_communicability.py

    centrality/tests/test_communicability.pyc

    centrality/tests/test_current_flow_betweenness_centrality.py

    centrality/tests/test_current_flow_betweenness_centrality.pyc

    centrality/tests/test_current_flow_betweenness_centrality_subset.py

    centrality/tests/test_current_flow_betweenness_centrality_subset.pyc

    centrality/tests/test_current_flow_closeness.py

    centrality/tests/test_current_flow_closeness.pyc

    centrality/tests/test_degree_centrality.py

    centrality/tests/test_degree_centrality.pyc

    centrality/tests/test_eigenvector_centrality.py

    centrality/tests/test_eigenvector_centrality.pyc

    centrality/tests/test_katz_centrality.py

    centrality/tests/test_katz_centrality.pyc

    centrality/tests/test_load_centrality.py

    centrality/tests/test_load_centrality.pyc

    展开全文
  • 用来计算复杂网络节点度和度分布以及度的累积概率分布(记得把矩阵内容换成自己的哦)
  • 复杂网络社团发现】GN算法边介数详解

    千次阅读 多人点赞 2019-10-22 17:12:47
    介数是运用GN算法求解的关键,通过不断删除边介数最高的边,才能最终生成分裂树。 那么,边介数怎么计算呢? 相信点进我这篇文的朋友们都是看过边介数计算公式的。 那么废话不多说,我直接上图解释吧。 流程 首先...

    前言

    边介数是运用GN算法求解的关键,通过不断删除边介数最高的边,才能最终生成分裂树。
    那么,边介数怎么计算呢?
    相信点进我这篇文的朋友们都是看过边介数计算公式的。
    那么废话不多说,我直接上图解释吧。

    流程

    首先假设这里有个图,m个节点,n条边,我们先选节点s作为源节点,以s为源对图进行搜索,画出s到各个节点的最短路径树,假设最短路径树呈这个亚子:
    步骤1
    然后我们把所有最邻近叶子结点的那条边标上1,再将其他边标上所有最邻近他的边之和+1,然后就成了这个样子:
    步骤2
    这样,我们就有了在这个点作为源节点时的各边单次边介数。然后再换一个节点作为边节点,就有了如下图:
    步骤3
    本次计算结果我标注了绿色,然后再按照这个方法,当遍历完所有节点(即所有节点都做过一次边节点)后,再将各边上每次求得的单次边介数累计求和,得到的就是最终该边边介数。

    解释

    从边介数定义开始讲吧。
    大家都知道,边介数定义为从源节点到各节点最短路径中经过该边的路径数,那么就再回到先前的图:
    说明1
    在这张图中,源节点S到各节点都只有一条最短路径,那么我就借着这张图来解释一下:
    说明2
    可以看到,图中这条橙色的边单次边介数为2,而经过它的最短路径有两条。
    如果这样还不够清晰,那么——
    说明3
    图中蓝色的边单次边介数为6,经过它的最短路径有6条,足够清楚了吧。

    补充

    先前有人问过我这个问题,他给我画了这么个图:
    例图1
    他在我给的示例图上添了这么一笔,然后问我这样怎么计算边介数呢?
    自然是照常计算啊,添上这条边又不会造成其他边的变动(在还是S作为源节点的情况下),只是这条边上可以标个1罢了。
    此外,还有一种情况,就是在这个连通图外还有单独两个连通节点的:
    例图2
    具体我就不详说了,直接看计算过程吧:
    例图3
    不同颜色代表将不同节点作为源节点时的计算结果。

    展开全文
  • //文章编号:1007—1423(2014)17—0007—05 DOI:10.3969~.issn.1007—1423.2014.17.002复杂网络算法中K—shel与介数中心性算法的实现邵浩 一,陈东方 一,刘欣 1,Z(1.武汉科技大学计算机科学与技术学院,...
  • 基于目前节点重要度评估方法大多针对静态无权网络拓扑结构的研究现状, 考虑实际加权网络节点之间负载流动情况, 从事理层面提出了一种基于网络贡献度的节点重要性评估方法。该方法基于典型加权复杂网络拓扑结构, 从...
  • 利用python绘制热图、计算网络节点degree、kshell、介数中心性、接近中心性、特征向量中心性、PageRank,计算相关性含环境、代码、数据源
  • 在软件中应用复杂网络介数概念 求最短路径的长度,最短路径的条数
  • c++开发的复杂网络聚类系数最短路径平均长度介数等计算
  • 计算介数的matlab程序

    热门讨论 2013-12-10 20:46:43
    找到的一个计算介数的matlab程序,与大家共享!
  • 复杂网络中平均节点能量的改进标签传播算法
  • 文件名称: centrality下载 收藏√ [5 4 3 2 1]开发工具: Python文件大小: 101 KB上传时间: 2014-03-13下载次数: 4详细说明:计算复杂网络中的节点或边的介数中心性,基于python的复杂网络工具箱-Betweenness ...
  • 介数中心性和接近中心性指标, 虽然具有较好的刻画节点重要性的能力, 但计算复杂度太高, 难以在大规模网络上使用. 为了权衡算法的效率和效果, Chen 等人提出了一种基于半局部信息的节点重要性排序方法,简称半局部中心...
  • 网络介数中心性(betweenness)及计算方法

    万次阅读 多人点赞 2016-04-16 15:14:56
    复杂网络的教材通常就介绍了betweenness的意义与定义,直接从定义出发计算的复杂度达到O(n3)O(n^3)这里介绍一个2001年brandes提出的算法,在无权图上复杂度为O(mn)O(mn),在有权图上复杂度在O(mn+nlogn)O(mn+
  • 本发明涉及复杂网络特征计算方法。背景技术:目前很多复杂网络的特征计算过程,大部分都是调用matlab函数,比如BCT,这样的工具包,全是函数,没有交互界面。而且没有人移植到C语言上面来,更加没有集合成一个具有...
  • 复杂网络中心性1. 度中心度(Degree Centrality)2. 介数中心度(Betweenness Centrality)3. 接近中心度(Closeness Centrality) 1. 度中心度(Degree Centrality) 度中心度(Degree Centrality)是在网络分析中...
  • 复杂网络中重要节点挖掘方法综述

    万次阅读 2016-11-08 09:58:05
    复杂网络的一些相关概念可以参考我上一篇博客:复杂网络入门复杂网络中的节点各种的重要性是不一样的,如在微博这一社交平台中,一些微博红人和一些明星大咖的影响力和一个微博新手的重要性是不一样的;在大学校园里...
  • 为研究复杂网络节点重要度及其可靠性,在随机网络、小世界网络和无标度网络模型下,理论分析了度值中心性、半局部中心性、介数中心性和PageRank算法在节点重要度评估上的准确性。通过仿真模拟方法,对网络理论模型...
  • 节点介数

    千次阅读 2012-05-15 15:54:00
    下面是求节点介数的代码,介数就是指经过一个点的最短路径的比例,在计算复杂网络中节点重要性的时候会用到。 /** * 用来计算介数 * 要计算所有的最短路径,用DIJ计算最短路径的时候我们可以发现一个规律:...
  • 一个节点节点度越大就意味着这个节点的度中心性越高,该节点网络中就越重要。 1.2 计算方法 在无向图(Undirected Graph)中,度中心性测量网络中一个节点与所有其它节点相联系的程度。对于一个拥有g个节点的无...
  • 复杂网络节点重要性评价方法初探

    万次阅读 2016-04-18 08:13:28
    在使用复杂网络分析业务问题时,如何区分网络中不同节点的重要性程度,就是一个需要考虑的问题。为了解决我们自己的业务问题,顺便了解了一下相关的方法,特记录一下,若有益于相关领域的同学,则幸甚。  一、要...
  • python求边介数

    2021-02-06 10:30:44
    介数就是指经过一个点的最短路径的比例,在计算复杂网络节点重要性的时候会用到 ...
  • 使用networkx计算网络介数中心性

    万次阅读 2017-06-25 08:19:41
    网络节点的重要性指标介数中心性的计算,使用python的包networkx import networkx as nx G = nx.Graph() #从文件中读取网络的adjacentMatrix,通过networkx的add_edges方法向对象G中添加边 def readNetwork...
  • 利用邻接信息熵识别复杂网络中的重要节点 相关定义 定义一:邻接度AiA_iAi​ 对于无向网络,邻接度AiA_iAi​定义为Ai=∑j∈Γ(i)kjA_i=\sum_{j\in\Gamma(i)}k_jAi​=j∈Γ(i)∑​kj​对于有向网络,邻接度AiA_iAi​...
  •  在此之前,笔者写过一篇关于复杂网络节点重要性评估方法的文章(http://blog.csdn.net/a_step_further/article/details/51176964),当时用spark实现过比较简单的方法。近期在业务应用中,又遇到需要对业务问题...
  • 在研究网络的鲁棒性的时候,我们往往会通过随机与蓄意攻击网络节点,观察网络效率的下降来进行后续研究。 代码如下: 函数Demo:testEglob(命名随意,只要与函数内的定义一致即可) 函数作用:计算当前网络的网络...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,775
精华内容 710
关键字:

复杂网络节点介数

友情链接: kedoutingshu.zip