首页 > 解决方案 > 有效地找到所有简单路径的子集(R,igraph)

问题描述

我想要一个相对较大的网络(~1k 个节点和 5k-50k 个边)中所有简单路径的子集。目前,我生成所有简单路径(igraph::all_simple_paths),然后是子集。但是,all_simple_paths对于大型网络来说,内存和时间密集,而且由于我不需要所有路径,因此运行它似乎是一种浪费。

我目前的策略是将网络随机下采样到合理数量的边 --> all_simple_paths--> 子集。重复几次并结合似乎给出了合理的结果。但是,这仍然会花费时间生成我不使用的路径。有什么更好的方法来做到这一点?

为清楚起见,任何生成所有简单路径的代表性子集的算法就足够了。我假设“代表性”是指一个无偏的随机样本。


编辑:我看到这个答案all_simple_paths解决了类似的问题,但它比我的网络的 -->subset慢很多倍。

标签: rigraph

解决方案


推荐阅读