Skip to main content
`Ctrl`+`K`

# Similarity Measures

Functions measuring similarity using graph edit distance.

The graph edit distance is the number of edge/node changes needed to make two graphs isomorphic.

The default algorithm/implementation is sub-optimal for some graphs. The problem of finding the exact Graph Edit Distance (GED) is NP-hard so it is often slow. If the simple interface `graph_edit_distance` takes too long for your graph, try `optimize_graph_edit_distance` and/or `optimize_edit_paths`.

At the same time, I encourage capable people to investigate alternative GED algorithms, in order to improve the choices available.

`graph_edit_distance`(G1, G2[, node_match, ...]) | Returns GED (graph edit distance) between graphs G1 and G2.
`optimal_edit_paths`(G1, G2[, node_match, ...]) | Returns all minimum-cost edit paths transforming G1 to G2.
`optimize_graph_edit_distance`(G1, G2[, ...]) | Returns consecutive approximations of GED (graph edit distance) between graphs G1 and G2.
`optimize_edit_paths`(G1, G2[, node_match, ...]) | GED (graph edit distance) calculation: advanced interface.
`simrank_similarity`(G[, source, target, ...]) | Returns the SimRank similarity of nodes in the graph `G`.
`panther_similarity`(G, source[, k, ...]) | Returns the Panther similarity of nodes in the graph `G` to node `v`.
`generate_random_paths`(G, sample_size[, ...]) | Randomly generate `sample_size` paths of length `path_length`.