Para decidir se os idiomas gerados por dois DFAs pelo mesmo, construa um DFA para a diferença simétrica e verifique se .A1,A2AΔL(A1)ΔL(A2):=(L(A1)∖L(A2))∪(L(A2)∖L(A1))L(AΔ)=∅
Aqui estão mais alguns detalhes. Você pode construir usando a construção do produto : construa um autômato de produto e use como o conjunto de estados de aceitação. ( F 1 × ¯ F 2 ) ∪ ( ¯ F 1 × F 2 )AΔ(F1×F2¯¯¯¯¯)∪(F1¯¯¯¯¯×F2)
Para verificar se está vazio ou não, basta verificar se algum estado de aceitação é acessível a partir do estado inicial, e isso pode ser feito usando o BFS / DFS.L(AΔ)