问题描述
图 1:
图 2:
为了证明我想做什么:
基本上,我想保留不同的网络并排除相同的网络。
我尝试使用 networkx.algorithms.operators.binary.difference() 但它不起作用,因为它们没有相同的节点集。
一个潜在的解决方案可能是为每个图制作一组节点网络集并取差异。然后试着用图表代替?
感谢任何帮助。
解决方法
看起来您正在寻找属于两个父图的所有最大子图的列表。假设你没有关于你正在寻找什么样的子图的先验信息,我认为没有更好的方法来解决它,除了......尝试所有可能的子图。它在理论上很好用,但由于组合爆炸,在实践中绝对不可能。如果你要寻找同构子图——那些具有相同结构但由可能的不同顶点和/或边集组成的子图,问题会变得更加困难。
否则,您必须使用您对要查找的子图的其他了解来扩展您的问题,这可能有助于也可能无助于找到解决问题的更好方法。