是否可以获得较低精度的路径长度?

时间:2020-10-14 10:41:19

标签: r igraph

我正在使用一个科学软件包,该软件包大量使用igraph的最短路径算法来计算路径长度。但是,对于我们感兴趣的图形,返回的矩阵非常占用内存,可以轻松缩放至Gb的10。而且,不需要双精度计算-在大多数情况下,单精度甚至整数精度就足够了。

我有两个问题:

  1. 是否可以将矩阵的数据类型从双精度更改为单精度甚至是整数(如果我们仅需要边数)?
  2. 是否可以将未连接节点之间的路径长度的默认值从无穷大更改为null或其他某个值? (我们正在考虑将矩阵存储在稀疏矩阵中,但无穷大是不兼容的)

在文档中找不到我可以做的任何参数或设置,在https://igraph.org/r/doc/distances.html或低级函数文档中都找不到。

谢谢!

1 个答案:

答案 0 :(得分:0)

一些提示可能会有所帮助:

仅当大多数顶点对彼此不可访问时,才使用稀疏矩阵会有所帮助。这将意味着该图具有许多小组件。如果是这样,请将图形分解成多个组件,然后分别对每个组件运行最短路径长度计算。

您是否需要将整个矩阵存储在内存中以进行下一步计算?还是可以部分使用矩阵? igraph使得可以从所有来源而不是仅某些来源计算最短路径。流程是一对一(或为了更好的性能:一小组一小组)而不是一次全部来源。由于最短的路径查找器是如何工作的,igraph还支持仅计算到达特定目标的路径,因此按目标进行计算效率不高。