我想确定在单个无向、标记、连接图中重复出现的所有最大尺寸(最大节点数)的子图。我在下面提供了输入和预期输出的示例。
我是图论的新生,所以术语可能不是最合适的。如果您在字里行间阅读,请纠正我。
- 通过标记图,我的意思是节点被标记并且标签可以是冗余的。
- 通过连接图,我的意思是所有节点都是连接的。
- 通过无向图,我的意思是边不是定向/定向的。
- 对于所有最大尺寸的子图,我不确定我是否指的是所有可能的非重叠同构。
所以我有一个我知道将包含一些对称性的图(它包含将在图中重复 N 次的子图)。我想找到重复的模式。
我知道这可能是一个(非常)复杂的问题,但我必须使用的图表永远不会包含超过 150-200 个节点,所以这已经是问题了。
我必须使用 python 3.x 来做到这一点,我可以使用任何库。我尝试了一些蛮力检测,但它很快变得复杂,我觉得我应该使用一些聚类,也许用树表示。可能可以使用networkX之类的软件包中的正确功能来解决它,但我无法弄清楚 atm。
此外,如果有一个中心节点,我真的不在乎它是否包含在多个子组中。
我无法告诉您我对您可能提供的任何见解有多感激:)
但在这一点上,最后一个标准确实是额外的。



