Graph Theory isn't my strongest area in mathematics and I wish to implement it - so the simpler the description, the better. Thank you for any responses in advance.
The problem: I wish to compare chemical molecules or specifically reactive groups in a chemical molecule. These molecules are stored as adjacency lists of nodes and edges, however the ordering of the nodes is arbitrary, i.e. I must use the actual connectivity information itself. Nodes obviously also contain an atom type, e.g hydrogen, carbon, etc. - and edges can be single bonds, double bonds etc. - so effectively there is "type information" there too. (Writing an adjacency matrix does not work as nodes can be numbered differently in the two groups.)
So how can I compare two groups/graphs that are defined only by their adjacency list?
I tried searching for algorithms, but typical questions are "what is the shortest rout from A to B" or "how to visit all nodes" - or maybe I was using the wrong search terms... I can (with a lot of convoluted code) do a brute force comparison on one atom - but how would I then go on? Obviously using brute force is very expensive... (though potentially manageable in my case...)
Edit: Following the comments and searching around a bit, I believe this would be identifying an edge & vertex (node) induced subgraph. - I.e. what is the associated algorithm or a pointer at specific literature. (The simpler the better)