使用 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