Skip to content

documentation improvemnt for algorithms in petgraph::algo::isomorphism #600

@raphaelahrens

Description

@raphaelahrens

Summary

The documentation for all algorithms in petgraph::algo::isomorphism is vague in regards to multigraphs.

Motivation

For all functions there is the statement "The graphs should not be multigraphs.", without an explanation of what that means.
I looked into the paper for VF2 and was able to find that .

From the analysis of the table, it appears that Nauty is more
convenient on randomly connected graphs that exhibit no regular
structure, especially when the edge density becomes high. This kind
of graph, anyway, does not adequately represent the graph
structures found in many applications, where the graphs often
show some form of regularity. On the other hand, for graphs with a
more regular structure, VF2 is more efficient, especially for large
graph sizes

But to be honest this does not say much either, there is no statement on how much faster the algorithm was, only that one algorithm was faster than another.

Details

I would propose to remove the sentence "The graphs should not be multigraphs" and add a more detailed explanation.
From the paper I assume the algorithm does work with multigraphs, but will not perform well.
So the new statement could be something like.

Note: While it is possible to use the algorithm with [multigraphs](https://en.wikipedia.org/wiki/Multigraph), it might perform poorly.

Maybe some guidance on how to trigger the worst case for the algorithm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions