利用igraph子图_同构寻找给定网络模

利用igraph子图_同构寻找给定网络模,r,igraph,graph-theory,subgraph,isomorphism,R,Igraph,Graph Theory,Subgraph,Isomorphism,我正在寻找小于5000个节点和小于10000条边的图中大小为5的图案。(一切都没有着色) 为了做到这一点,我使用igraph库中提供的函数,使用方法vf2(参见下面的示例)实现R子图_同构。我使用邻接矩阵生成子图,使用边列表生成图本身 我发现很多同构子图都有额外的边。有没有办法只找到具有精确给定结构的子图?使用igraph或R中的任何其他库查找答案 参见下面的可复制示例(如果您仅在一张纸上绘制此邻接矩阵给出的图形,则查看此示例会更容易) 库(igraph) 子图这个问题的答案是我在寻找什么和我在

我正在寻找小于5000个节点和小于10000条边的图中大小为5的图案。(一切都没有着色)

为了做到这一点,我使用igraph库中提供的函数,使用方法vf2(参见下面的示例)实现R子图_同构。我使用邻接矩阵生成子图,使用边列表生成图本身

我发现很多同构子图都有额外的边。有没有办法只找到具有精确给定结构的子图?使用igraph或R中的任何其他库查找答案

参见下面的可复制示例(如果您仅在一张纸上绘制此邻接矩阵给出的图形,则查看此示例会更容易)

库(igraph)

子图这个问题的答案是我在寻找什么和我在发现什么

我要找的是5号的网络图案。当我从图论的角度寻找网络模体时,这意味着我在寻找具有给定邻接矩阵的诱导子图

这个函数的作用是找到与给定图同构的图的子图。不同的是我在寻找诱导子图,而函数只给出子图,所以允许额外的边


这正是我所经历的问题。为了解决这个问题,我最后只是比较了我发现的子图的邻接矩阵和motif的邻接矩阵。希望它能对其他人有所帮助。

除了前面的评论之外,我还注意到,当我试图在一个由四个顶点组成的完整图形中找到类型为210(2条互边和1条不对称)的同构三元组时,函数返回“True”。解决方案是添加:

subgraph_isomorphisms(subgraph, graph, method = "vf2", **induced = TRUE**)

图G的子图是由G的顶点和边的子集构成的另一个图。也就是说,子图不需要包含所有连接到子图的顶点的边,但我正在寻找与给定图同构的子图。我最好的猜测是,关于同构的定义有一些我不理解的地方,或者这个算法做了一些奇怪的事情,但我读了这篇文章,它似乎应该寻找精确的解决方案,所以我很困惑,子图是图G中顶点和边的任何子集。使用顶点1和2的示例数据:[1->2; 2->1], [1->2], [2->1], [1->2; 2->1, 2->2], [1->2, 2->2], [2->1, 2->2]都是有效的子图。这些子图会根据您的模式子图进行搜索。好的。我明白了,我在一个问题中遗漏了一件重要的事情。我要寻找的是一个图的子图,它与外部给定的图同构。您要确定的示例是具有顶点的子图(1,2),但它们不是我要找的。谢谢你的评论,更正了
subgraph_isomorphisms(subgraph, graph, method = "vf2", **induced = TRUE**)