Для того, щоб вирішити, чи мови, породжені двома DFA однаковими, побудуйте DFA для симетричної різниці та перевірте, чи .A1,A2AΔL(A1)ΔL(A2):=(L(A1)∖L(A2))∪(L(A2)∖L(A1))L(AΔ)=∅
Ось ще кілька деталей. Ви можете побудувати за допомогою побудови продукту : побудувати автоматику продукту та використовувати як набір станів, що приймають. ( F 1 × ¯ F 2 ) ∪ ( ¯ F 1 × F 2 )AΔ(F1×F2¯¯¯¯¯)∪(F1¯¯¯¯¯×F2)
Для того, щоб перевірити, чи порожній чи ні, достатньо перевірити, чи є якийсь приймаючий стан доступним від початкового стану, і це можна зробити за допомогою BFS / DFS.L(AΔ)