Intersection can be defined in terms of complementation and union. Since we have algorithms to obtain the union and complement of a finite state automaton, we can give a construction to calculate their intersection.
Recall that the intersection of two sets S and T is equal to: (Sc U Tc)c, where Sc is the complement of S.
The algorithm to calculate a finite state automaton which accepts the intersection of the languages accepted by two automatons A1 and A2 is thus the following:
Note that steps 3 and 4 are not necessary, but are done to simplify step 5 (recall that to calculate the complement of a finite state automaton, the original automaton has to be made deterministic, which can be a very messy and error-prone process with large automata).
Consider the following two FSA:
Calculate an automaton which recognises the intersection of the languages recognised by the following two automata: