When I want to judge whether two regular forms represent the same language, I have learned the next method:
create the (non-deterministic) finite-state automata which accepts the language the given regular form represents for two regular forms respectively.
convert the two NFA into DFAs.
Judge whether the two DFAs are isomorphic.
However, I don't really know how to do 3.
Are there any algorithms to do 3? In more general, how to judge whether two given graphs is isomorphism. (If both graph is non-labeled, I think it is very difficult and I'm not sure how to do it.)
Notation There is already a question regarding algorithms to judege the equivalence of two automata and the method is different from above one. Although that way is much smarter, I am wondering whether it is possible to judge the equivalence of two automata in the direction above.
Thus, I want to just learn about the algorithms to judge whether two DFAs (or graphs) are isomorphic.
What I want to do is to distinguish automata by whether their shape, that is, if two given automata is not isomorphic, then they should be regarded as "different", even if they accept the same language.