r - 有效地找到所有简单路径的子集(R,igraph)
问题描述
我想要一个相对较大的网络(~1k 个节点和 5k-50k 个边)中所有简单路径的子集。目前,我生成所有简单路径(igraph::all_simple_paths
),然后是子集。但是,all_simple_paths
对于大型网络来说,内存和时间密集,而且由于我不需要所有路径,因此运行它似乎是一种浪费。
我目前的策略是将网络随机下采样到合理数量的边 --> all_simple_paths
--> 子集。重复几次并结合似乎给出了合理的结果。但是,这仍然会花费时间生成我不使用的路径。有什么更好的方法来做到这一点?
为清楚起见,任何生成所有简单路径的代表性子集的算法就足够了。我假设“代表性”是指一个无偏的随机样本。
编辑:我看到这个答案all_simple_paths
解决了类似的问题,但它比我的网络的 -->subset慢很多倍。
解决方案
推荐阅读
- omnet++ - Inet 4.2 是否支持部分重叠的通道?
- django - 如何过滤哨兵上的错误以避免消耗我的配额?
- linux - 如何在linux中借助du获取目录中所有文件的组合磁盘空间
- pandas - Pandas:如何将日期时间转换为 %H:%H 并保持日期时间格式?
- python - 如果将“子”对象分配给 SQLAlchemy 中的“关系”,如何在“父”对象上设置属性?
- ios - 关于在 Swift 的静态 tableviewController 中放置固定按钮的问题
- mysql - 如何在 SQL 中查询字典类型的列值?
- kubernetes - 在部署文件上添加 --record=true - Kubernetes
- sql - 从另一个表 sql server 计算总时间和更新值
- sqlite - Flutter:将所有数据插入数据库后如何通知主小部件