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

如何过滤两个图之间的相同子网? [网络x]

如何解决如何过滤两个图之间的相同子网? [网络x]

我正在尝试创建两个图形,并删除它们之间的相同网络。

图 1:

graph1

图 2:

graph2

为了证明我想做什么:

  1. 在两个图中,我用红色突出显示一个网络,它有几个相似的节点(例如 B Arg 511、B Asp 513 ...)。但是,图 2 连接的节点更多,连接它们的边也不同。
  2. 以绿色突出显示相同的网络。

基本上,我想保留不同的网络并排除相同的网络。

我尝试使用 networkx.algorithms.operators.binary.difference() 但它不起作用,因为它们没有相同的节点集。

一个潜在的解决方案可能是为每个图制作一组节点网络集并取差异。然后试着用图表代替?

感谢任何帮助。

解决方法

看起来您正在寻找属于两个父图的所有最大子图的列表。假设你没有关于你正在寻找什么样的子图的先验信息,我认为没有更好的方法来解决它,除了......尝试所有可能的子图。它在理论上很好用,但由于组合爆炸,在实践中绝对不可能。如果你要寻找同构子图——那些具有相同结构但由可能的不同顶点和/或边集组成的子图,问题会变得更加困难。

否则,您必须使用您对要查找的子图的其他了解来扩展您的问题,这可能有助于也可能无助于找到解决问题的更好方法。

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