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

使用NetworkX中的各种顶点标签检查同构图的相等性

如何解决使用NetworkX中的各种顶点标签检查同构图的相等性

我知道要检查2个图的相等性,而不考虑顶点标签一个可以使用NetworkX中的is_isomorphic()函数。但是,我有一组图,它们具有固定数量的节点,边和连通性,即,它们彼此同构,但是顶点的标签不断变化。在这种情况下,如何检查所有顶点标签也必须相同的图的相等性

每个图如下所示。每个顶点都用一个长字符串标记

enter image description here

解决方法

is_isomorphic文档中所述,您可以为此使用node_match参数。它还有两种已经实现的基于节点属性比较相等性的方法:numerical_node_matchcategorical_node_match。在这两种情况下,您都需要提供节点属性的名称和默认值。

如果您直接想要使用节点标签,即节点ID,例如020000010000 in G == True。然后,您可以将convert_node_labels_to_integerslabel_attribute="label"一起使用,然后再使用categorical_node_match("label",None)或创建自己的node_match函数。

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