在igraph或networkx中,在稀疏有向图中找到长度为4的所有简单路径的最快方法是什么?一种方法是制作长度为4的简单路径的图形并使用子图同构vf2函数.这是最好/最快的方式吗?

我没有源节点,我想在整个图中存在长度为4的所有简单路径.

在我的数据中,可能很少有这样的路径,我希望能够有效地迭代它们.

解决方法:

使用这样的函数:

def simple_paths(start, length, visited=[]):

if length==0:

yield(visited + [start])

else:

for child in children(start):

if child not in visited:

for path in simple_paths(child, length-1, visited + [start]):

yield(path)

您可以通过调用列出长度为4的所有简单路径

for start in nodes():

for path in simple_paths(start, 4):

print path

上面假设nodes()返回图中所有节点的可迭代,并且children(x)返回节点x的子节点的可迭代.

将simple_paths()函数正确应用于上图可以得到:

['5', '9', '3', '1', '0']

['6', '5', '9', '3', '1']

['6', '5', '3', '1', '0']

['9', '5', '3', '1', '0']

这证明了这个功能:

>尊重有向边(例如,它不选择[‘6′,’5′,’1′,’3′,’9’])

>只选择简单路径(例如,它不选择[‘6′,’5′,’3′,’1′,’5’])

标签:python,algorithm,networkx,igraph

来源: https://codeday.me/bug/20190517/1121821.html

python 客户端同构_python – 子图同构相关推荐

  1. python客户端服务器_Python客户端和服务器ch

    我正在尝试用Python实现一个非常基本的客户机和服务器聊天,虽然遇到了一些问题,但我得到的响应是,我只能同时运行客户机或服务器,而不能同时运行两者,因此我无法聊天. 客户代码:#client imp ...

  2. 图说子图同构算法——VF2算法(一)

    写在前面的话 谨以此系列献给 my grandpa~ 体验过人间的无常,才知道爱才是宝藏 像孩子依赖着肩膀 像诗人依赖月亮 像眼泪依赖脸庞 你就是我的天使 给我依赖的天使 1.Let us play ...

  3. 3维线程格 gpu_论文导读 | GPU加速子图同构算法

    GPU加速子图同构算法 作者: 曾立 邹磊 M. Tamer Özsu 胡琳 张藩 论文链接:https://arxiv.org/abs/1906.03420 本次论文讲解的是曾立.邹磊.M. Tam ...

  4. 子图同构算法——Ullmann算法(1)不包含refine procedure的简单穷举算法。

    摘要: 转载请注明来自stanlysheng--talk is cheap, show me your code.http://www.cnblogs.com/stanly/ .谢谢.此文我也在CSD ...

  5. 子图同构算法系列(1)

    Naive alogrithm for Subgraph Isomorphism. 1. 如何判定子图同构. 有个Gα和Gβ, Gα有pa个点,qa条边,Gβ有pb个点,qb条边.A是Gα的邻接矩阵, ...

  6. ICDE 2023 | FASI:一个在大图上对FPGA友好的子图同构算法

    前言 PKUMOD博士研究生苏勋斌关于用FPGA硬件加速子图同构问题的论文<FASI: FPGA-friendly Subgraph Isomorphism on Massive Graphs& ...

  7. 子图同构算法-VF2(java实现)

    子图同构算法-VF2(java实现)   最近在项目中用到了子图同构算法VF2,自己查找的时候发现csdn上没有太详细的博客,所以在这里记录一下.内容主要来自一篇论文(A (Sub)Graph Iso ...

  8. 图算法(二十五):子图匹配(Subgraph Matching)【基本的图查询操作,意在发掘图重要的子结构】【适用场景:社交网络分析、群体发现、异常检测】【在一个给定的大图里找到与给定小图同构的子图】

    一.概述 子图匹配(subgraph matching)算法的目的是在一个给定的大图里面找到与一个给定小图同构的子图,这是一种基本的图查询操作,意在发掘图重要的子结构. 适用场景:子图匹配(subgr ...

  9. TPAMI 2022 | 利用子图同构计数提升图神经网络的表达能力

    ©作者 | 桑士龙 来源 | MIND Laboratory 论文标题: Improving Graph Neural Network Expressivity via Subgraph Isomor ...

最新文章

  1. 学习下ECharts 异步加载数据
  2. java 之 解释器模式(大话设计模式)
  3. [其实有加强版的]校门外的树
  4. 【SVN】版本冲突处理之设置needs-lock:true属性
  5. 区块链学习之区块链思想的诞生(一)
  6. a byte of python中文版_面试官问 Python 版 “垃圾回收”机制,我没答上来
  7. 时分秒 java_JAVA 时分秒累加
  8. Java多线程归纳总结
  9. ShuffleNetV2论文译读笔记
  10. MyBatis使用foreach批量插入一个含List<实体>成员变量的实体类
  11. 软件安装(一):VS2017安装和使用
  12. Android 点击按钮出现弹窗
  13. 软考高项论文范文——论信息系统项目的沟通管理
  14. 内存带宽测试工具-Stream
  15. file-saver 实现文件下载
  16. UG NX 12 草图创建过程
  17. 实战 Java 第8天:开发商品详情查询接口
  18. 小白入门Git详细教程
  19. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之11---什么是BREW
  20. Windows下的钩子

热门文章

  1. chrome浏览器调用摄像头
  2. this.triggerEvent详细解释
  3. Homebrew - 安装/使用
  4. 信息安全基础 - 对称加密非对称加密数字签名
  5. Ubuntu 系统下如何安装pip3工具
  6. 仿苹果版小黄车(ofo)app主页菜单效果
  7. 公众号滑动图代码_运营干货|公众号文章中滑动图片的制作
  8. python代码实现决策树分类
  9. Nginx在linux上的安装
  10. 图文结合彻底理解非对称加密、RSA原理及安全性(图文版)