两个图G1和G2是同构的(is_isomorphic(G1,G2)=> True),但每个节点的属性不同。如何获得图G1上节点Y的属性X值和“结构等效”节点Y'的属性X值之间的映射或字典。

最好,
埃里克

最佳答案

使用VF2同构算法的高级接口。
https://networkx.readthedocs.io/en/stable/reference/algorithms.isomorphism.vf2.html

它将为您提供匹配。

>>> from networkx.algorithms import isomorphism
>>> G1 = nx.path_graph(4)
>>> G2 = nx.path_graph(4)
>>> GM = isomorphism.GraphMatcher(G1,G2)
>>> GM.is_isomorphic()
True

GM.mapping stores the isomorphism mapping from G1 to G2.

>>> GM.mapping
{0: 0, 1: 1, 2: 2, 3: 3}

关于python - 生成两个同构图之间的映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43423965/

10-12 14:13