Networkx同构return一一对应

Networkx isomorphism return one-to-one correspondence

使用 python 库 networkx 可以使用函数 is_isomorphic(G1, G2) 检查同构,其中 G1 和 G2 是两个图 (https://networkx.github.io/documentation/stable/reference/algorithms/isomorphism.html)。

但是如何得到同构的节点一一对应的同构呢?

假设我们专门执行节点匹配。

这是要走的路,实际上就在这里:https://networkx.github.io/documentation/stable/reference/algorithms/isomorphism.vf2.html

import networkx as nx
from networkx.algorithms import isomorphism
G1 = nx.path_graph(4) # create super simple graphs
G2 = nx.path_graph(4)
GM = isomorphism.GraphMatcher(G1,G2)
GM.is_isomorphic()
GM.mapping # prints the matching/mapping