Two graphs are homeomorphic if one can be transformed into the other by subdividing edges (adding degree-2 nodes along edges).
đąī¸ left-click to add node
đī¸ right-click node to remove
đ click two nodes to connect
âļ ctrl+z undo | ctrl+y redo
Graph A
Graph B
About
Interactive tool for checking graph homeomorphism and isomorphism. Draw graphs and see if they're topologically or structurally equivalent.
Algorithms
Homeomorphism
Two graphs are homeomorphic if one can be transformed into the other by subdividing edges (adding degree-2 nodes). The algorithm removes all degree-2 nodes from both graphs, then checks if the simplified versions are isomorphic.
Isomorphism
Two graphs are isomorphic if there's a one-to-one mapping between nodes that preserves connections. The algorithm uses quick rejection tests (node count, edge count, degree sequence) followed by backtracking search for small graphs.
How to Use
Add node: left-click empty space
Remove node: right-click on node
Create edge: click source node, then click target node
Undo/Redo: Ctrl+Z / Ctrl+Y or use buttons
Export: save graphs as JSON or PNG image
Tech
Built with vanilla JavaScript and Cytoscape.js for graph rendering.