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