修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交
搜索
v4.0
    v4.0

    优先连接

    概述

    优先连接(Preferential Attachment)描述的是复杂网络中常常存在的“强者越强”现象,即一个节点的连接越多,就越有可能建立新的连接。如果两个节点的连接数都很大,这两个节点被连接的概率就越大。2002 年,A. Barabási 和 R. Albert 在他们提出的一种生成随机无标度网络的 BA 模型中用到了这个方法,相关资料如下:

    基本概念

    优先连接

    优先连接算法用两个节点各自邻居数量的乘积描述它们的紧密度,计算公式为:

    其中,N(x)N(y) 分别是节点 xy 的邻居集合。PA(x,y) 值越大,代表两个节点越紧密;如果值为 0 意味着两个节点不紧密。

    以上图为例,蓝色节点的邻居数为 3,红节点的邻居数为 4,因此它们的优先连接分值为 3 * 4 = 12

    特殊处理

    孤点、不连通图

    孤点与图中任何其它节点之间没有边,本算法不计算孤点与任何节点的优先连接,也不计算处于不同连通分量中的两个节点的优先连接。

    自环边

    在计算邻居节点时,本算法会忽略所有自环边。

    有向边

    对于有向边,本算法会忽略边的方向,按照无向边进行计算。

    结果和统计值

    以下面的图为例,运行本算法:

    算法结果:计算 3 号点与其他每个节点的优先连接,返回 node1node2num 三列

    node1 node2 num
    3 1 3
    3 2 12
    3 4 12
    3 5 6
    3 6 9
    3 7 3

    算法统计值:

    命令和参数配置

    • 命令:algo(topological_link_prediction)
    • params() 参数配置项如下:
    名称
    类型
    默认值
    规范 描述
    ids 或 uuids []_id 或 []_uuid / 必填 待计算的第一组节点的 ID 或 UUID;第一组的每个节点与第二组的每个节点组成点对进行计算
    ids2 或 uuids2 []_id 或 []_uuid / 必填 待计算的第二组节点的 ID 或 UUID;第一组的每个节点与第二组的每个节点组成点对进行计算
    type string Adamic_Adar Adamic_Adar 或 Common_Neighbors 或 Preferential_Attachment 或 Resource_Allocation 或 Total_Neighbors 节点对紧密度度量方法,Adamic_Adar 或忽略代表 AA 指标,Common_Neighbors 代表共同邻居,Preferential_Attachment 代表优先连接,Resource_Allocation 代表资源分配,Total_Neighbors 代表总邻居数
    limit int -1 >=-1 需要返回的结果条数,-1 或忽略表示返回所有结果

    算法执行

    任务回写

    1. 文件回写

    配置项 各列数据
    filename node1,node2,num

    示例:计算 3 号点和其他所有点的优先连接,将算法结果回写至名为 pa 的文件

    algo(topological_link_prediction).params({
      uuids: [3],
      uuids2: [1,2,4,5,6,7],
      type: "Preferential_Attachment"
      }).write({
      file:{ 
        filename: "pa"
      }
    })
    

    2. 属性回写

    算法不支持属性回写。

    3. 统计回写

    算法无统计值。

    直接返回

    别名序号
    类型
    描述 列名
    0 []perNodePair 点对的紧密度 node1, node2, num

    示例:计算 3 号点和 4 号点的优先连接,将算法结果定义为别名 pa 并返回

    algo(topological_link_prediction).params({
      uuids: [3],
      uuids2: [4],
      type: "Preferential_Attachment"
    }) as pa 
    return pa 
    

    流式返回

    别名序号
    类型
    描述 列名
    0 []perNodePair 点对的紧密度 node1, node2, num

    示例:分别计算 1 号点和 5、6、7 号点的优先连接,返回结果并按照紧密度降序排列

    algo(topological_link_prediction).params({
      uuids: [1],
      uuids2: [5,6,7],
      type: "Preferential_Attachment"
    }).stream() as pa 
    return pa order by pa.num desc 
    

    实时统计

    算法无统计值。

    请完成以下信息后可下载此书
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写