微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决是否可以获得较低精度的路径长度?

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

我有两个问题:

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

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

谢谢!

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。