修改密码

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

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

搜索
    中文

      调和中心性

      ✓ 文件回写 ✓ 属性回写 ✓ 直接返回 ✓ 流式返回 ✕ 统计值

      概述

      调和中心性(Harmonic Centrality)是接近中心性的变种。调和中心性提出的平均最短距离能够处理非连通图中会出现的无限值。调和中心性算法首先是由 M. Marchiori 和 V. Latora 于 2000 年提出的,然后由 A. Dekker 和 Y. Rochat 分别于 2005 年和 2009 年提出:

      调和中心性的取值范围是 0 到 1,节点的分值越大,距离其他节点越近。

      基本概念

      最短距离

      两个点之间的最短距离是指它们之间最短路径的边数。具体可参看接近中心性

      调和平均数

      调和平均数(Harmonic Mean)是平均数的一种,它是变量倒数的算术平均数的倒数。算数平均数 A 和调和平均数 H 的计算公式如下:

      调和平均数应用的经典场景是以不同的速度通过相同的距离时,求平均速度。假设有一个往返行程,去程速度为 30 km/h,回程速度为 10 km/h,整个行程的平均速度是多少?

      这种情况下,直接使用算数平均数 A = (30+10)/2 = 20 km/h 计算不太合理。由于去程行驶时间少,回程行驶时间多,整个行程大部分时间的速度是 10 km/h,因而平均速度应该更接近于 10 km/h 才对。

      假设单程距离为 1,考虑行驶时间而计算的平均值为 2/(1/30+1/10) = 15 km/h,这就是调和平均数,它根据每段距离所花费的时间进行了调整。

      调和中心性

      在本算法中,节点的调和中心性分值等于该点与其他各节点的最短距离调和平均值的倒数。计算公式为:

      其中,x 为待计算的目标节点,y 为图中除 x 以外的所有节点,k-1y 的个数,d(x,y)xy 的最短距离,当 xy 不连通时,d(i,j) = +∞,则有 1/d(i,j) = 0

      上图中点 a 的调和中心性为 (1 + 1/2 + 1/+∞ + 1/+∞) / 4 = 0.375,点 d 的调和中心性为 (1/+∞ + 1/+∞ + 1/+∞ + 1) / 4 = 0.25

      调和中心性算法会消耗很多计算资源。在一个有 V 个节点的图中,建议当 V > 10000 时通过采样进行近似计算,推荐的采样个数是节点数以 10 为底的对数(log(V))。

      每次执行算法时,只进行一次采样,每个节点的中心性分值是基于该节点到所有样本节点的最短距离计算的。

      特殊说明

      • 孤点的调和中心性分值为 0。

      语法

      • 命令:algo(harmonic_centrality)
      • 参数:
      名称
      类型
      规范
      默认
      可选
      描述
      ids / uuids []_id / []_uuid / / 待计算节点的 ID/UUID,忽略则计算全部点
      direction string in, out / 最短路径中所有边的方向,in 是入方向,out 是出方向
      sample_size int -1, -2, [1, V] -1 采样节点数;-1 代表采样数为 log(V)-2 代表不采样进行精确计算,一个介于 [1, V] 的数代表采样规定数目的节点;sample_size 只有在忽略 idsuuids) 时或它指定所有节点时有效
      limit int ≥-1 -1 返回的结果条数,-1 返回所有结果
      order string asc, desc / 按中心性分值大小对结果进行排序

      示例

      示例图如下:

      文件回写

      配置项 回写内容
      filename _id,centrality
      algo(harmonic_centrality).params().write({
        file:{ 
          filename: 'centrality'
        }
      })
      

      结果:文件 centrality

      LH,0
      LG,0.142857
      LF,0.142857
      LE,0.357143
      LD,0.357143
      LC,0.428571
      LB,0.428571
      LA,0.571429
      

      属性回写

      配置项 回写内容 回写至 数据类型
      property centrality 点属性 float
      algo(harmonic_centrality).params().write({
        db:{ 
          property: 'hc'
        }
      })
      

      结果:每个节点的中心性分值回写至名为 hc 的点属性下

      直接返回

      别名序号 类型 描述 列名
      0 []perNode 点及其中心性 _uuid, centrality
      algo(harmonic_centrality).params({
        direction: 'out',
        order: 'desc',
        limit: 3
      }) as hc
      return hc
      

      结果:hc

      _uuid centrality
      1 0.35714301
      4 0.33333299
      3 0.28571400

      流式返回

      别名序号 类型 描述 列名
      0 []perNode 点及其中心性 _uuid, centrality
      algo(harmonic_centrality).params({
        direction: 'in'
      }).stream() as hc
      where hc.centrality == 0
      return hc
      

      结果:hc

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