networkx.algorithms.similarity.optimize_graph_edit_distance
的用法。用法:
optimize_graph_edit_distance(G1, G2, node_match=None, edge_match=None, node_subst_cost=None, node_del_cost=None, node_ins_cost=None, edge_subst_cost=None, edge_del_cost=None, edge_ins_cost=None, upper_bound=None)
返回图形 G1 和 G2 之间的 GED(图形编辑距离)的连续近似值。
图形编辑距离是一种图形相似性度量,类似于字符串的 Levenshtein 距离。它被定义为将图 G1 转换为与 G2 同构的图的编辑路径(节点和边编辑操作的序列)的最小成本。
- G1, G2: graphs:
两个图形 G1 和 G2 必须属于同一类型。
- node_match:可调用的
如果在匹配期间应将 G1 中的节点 n1 和 G2 中的 n2 视为相等,则返回 True 的函数。
该函数将被称为
node_match(G1.nodes[n1], G2.nodes[n2])。
也就是说,该函数将接收 n1 和 n2 的节点属性字典作为输入。
如果指定了node_subst_cost,则忽略。如果既没有指定node_match 也没有指定node_subst_cost,则不考虑节点属性。
- edge_match:可调用的
如果 G1 中的节点对 (u1, v1) 和 G2 中的 (u2, v2) 的边属性字典在匹配期间应被视为相等,则返回 True 的函数。
该函数将被称为
edge_match(G1[u1][v1], G2[u2][v2])。
也就是说,该函数将接收正在考虑的边的边属性字典。
如果指定了edge_subst_cost,则忽略。如果既没有指定edge_match 也没有指定edge_subst_cost,则不考虑边属性。
- node_subst_cost, node_del_cost, node_ins_cost:可调用的
分别返回节点替换、节点删除和节点插入成本的函数。
这些函数将被称为
node_subst_cost(G1.nodes[n1], G2.nodes[n2]), node_del_cost(G1.nodes[n1]), node_ins_cost(G2.nodes[n2])。
也就是说,函数将接收节点属性字典作为输入。这些函数应返回正数值。
如果指定,函数 node_subst_cost 会覆盖 node_match。如果既没有指定node_match 也没有指定node_subst_cost,则使用默认节点替换成本 0(匹配期间不考虑节点属性)。
如果未指定node_del_cost,则使用默认节点删除成本 1。如果未指定node_ins_cost,则使用默认节点插入成本 1。
- edge_subst_cost, edge_del_cost, edge_ins_cost:可调用的
分别返回边替换、边删除和边插入成本的函数。
这些函数将被称为
edge_subst_cost(G1[u1][v1], G2[u2][v2]), edge_del_cost(G1[u1][v1]), edge_ins_cost(G2[u2][v2])。
也就是说,函数将接收边属性字典作为输入。这些函数应返回正数值。
如果指定,函数 edge_subst_cost 会覆盖 edge_match。如果既没有指定 edge_match 也没有指定 edge_subst_cost,则使用默认的边替换成本 0(匹配期间不考虑边属性)。
如果未指定edge_del_cost,则使用默认的边删除成本 1。如果未指定edge_ins_cost,则使用默认的边插入成本 1。
- upper_bound:数字
要考虑的最大编辑距离。
- 图形编辑距离的连续近似值的生成器。
参数:
返回:
参考:
- 1
Zeina Abu-Aisheh, Romain Raveaux, Jean-Yves Ramel, Patrick Martineau. An Exact Graph Edit Distance Algorithm for Solving Pattern Recognition Problems. 4th International Conference on Pattern Recognition Applications and Methods 2015, Jan 2015, Lisbon, Portugal. 2015, <10.5220/0005209202710278>. <hal-01168816> https://hal.archives-ouvertes.fr/hal-01168816
例子:
>>> G1 = nx.cycle_graph(6) >>> G2 = nx.wheel_graph(7) >>> for v in nx.optimize_graph_edit_distance(G1, G2): ... minv = v >>> minv 7.0
相关用法
- Python NetworkX optimal_edit_paths用法及代码示例
- Python NetworkX open_file用法及代码示例
- Python NetworkX overlap_weighted_projected_graph用法及代码示例
- Python NetworkX negative_edge_cycle用法及代码示例
- Python NetworkX voronoi_cells用法及代码示例
- Python NetworkX numerical_edge_match用法及代码示例
- Python NetworkX inverse_line_graph用法及代码示例
- Python NetworkX LFR_benchmark_graph用法及代码示例
- Python NetworkX write_graph6用法及代码示例
- Python NetworkX DiGraph.__contains__用法及代码示例
- Python NetworkX average_degree_connectivity用法及代码示例
- Python NetworkX eulerian_circuit用法及代码示例
- Python NetworkX single_source_dijkstra_path_length用法及代码示例
- Python NetworkX from_dict_of_dicts用法及代码示例
- Python NetworkX weisfeiler_lehman_subgraph_hashes用法及代码示例
- Python NetworkX transitive_closure_dag用法及代码示例
- Python NetworkX intersection用法及代码示例
- Python NetworkX MultiGraph.size用法及代码示例
- Python NetworkX Graph.size用法及代码示例
- Python NetworkX from_scipy_sparse_array用法及代码示例
- Python NetworkX local_and_global_consistency用法及代码示例
- Python NetworkX number_of_selfloops用法及代码示例
- Python NetworkX single_source_bellman_ford用法及代码示例
- Python NetworkX all_simple_paths用法及代码示例
- Python NetworkX Graph.to_undirected用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.similarity.optimize_graph_edit_distance。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。