dominikbraun / graph

A library for creating generic graph data structures and modifying, analyzing, and visualizing them.
https://graph.dominikbraun.io
Apache License 2.0
1.82k stars 96 forks source link

Add graph isomorphism computation #47

Open dominikbraun opened 2 years ago

dominikbraun commented 2 years ago

Graph isomorphism can be used to determine whether two given graphs are structurally equal, or simply put "the same".

It may look like a trivial check at first glance, but it is one of the hardest problems to solve in graph theory.

There are a couply of algorithms for computing isomorphisms of two graphes, and I don't have a strong opinion on which one of them I would like to see implemented in this library.

At this time, I would prefer a simpler implementation that works for 80% of use cases and graph sizes over a more complex implementation that covers 99% of possible graphs.