【问题标题】:Find shortest paths through predefined set of vertices and edges in arangodb通过 arangodb 中预定义的一组顶点和边查找最短路径
【发布时间】:2020-01-25 08:58:13
【问题描述】:

我需要找到应该通过多个节点和边的最短路径。一些细节:

  1. 应该是根据权重的最短路径。
  2. 包含集可以有序和无序。
  3. 图形大小 - 50 000 个顶点和 450 0000 个边

有没有办法使用 arangodb 找到这样的路径? 我已经尝试过 K_SHORTEST_PATHS,但在某些情况下它太慢了。

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    没有数据集,这很难测试。不幸的是,K_SHORTEST_PATHS 是向边缘添加“权重”的唯一内置方法,除非您自己构建一些东西。另外,SHORTEST_PATH 两种方法都没有实现PRUNE,这是加速图遍历的最佳方式。

    我的建议是使用有向图方法 (FOR v,e,p IN 1..9 INBOUND x...),同时实现 PRUNEFILTER 子句以减少跳数,并使用类似 COLLECT path = p AGGREGATE weight = SUM(e.weight) 的方法来计算重量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      • 2020-03-04
      • 1970-01-01
      • 2020-05-03
      相关资源
      最近更新 更多