Сравнение изоморфных графиков в networkx

#python #graph #networkx #isomorphism #isomorphic

Вопрос:

Если у меня есть два графика, например:

 F = nx.Graph()
G = nx.Graph()
G.add_nodes_from([1,2,3])
G.add_edge(1,2)
F.add_nodes_from([1,2])
F.add_edge(1,2)
 

Эти графики явно не изоморфны и, следовательно,

 nx.is_isomorphic(G,F)
 

вернет значение false.

Теперь я хочу посмотреть, чего не хватает на графике F по сравнению с графиком G.

Я только видел

 from networkx.algorithms import isomorphism as iso
X = iso.GraphMatcher(F,G)
X.mapping
 

но X. отображение возвращает значение dict только в том случае, если графики изоморфны, а не в том случае, если это не так.