Чи рівноправність двох DFA є вирішальною проблемою?


11

Отже, з огляду на два DFA, чи є проблема пошуку, якщо вони генерують одну й ту ж мову, вирішальну проблему?

Я вже знаю, що рівність двох КФЛ не вирішується

а як щодо рівності двох DFA? враховуючи, що більшість проблем з DFA вирішуються, чи це також вирішується?


1
Так, це визначається за лінійним часом drona.csa.iisc.ernet.in/~deepakd/atc-common/…
abc

1
Ласкаво просимо до інформатики! Що ви пробували? Де ти застряг? Ми не хочемо просто передавати вам рішення; ми хочемо, щоб ви зрозуміли. Однак ми не знаємо, у чому полягає ваша основна проблема, тому ми не можемо почати допомагати. Дивіться тут поради по задавати питання про проблеми здійснення. Якщо ви не впевнені, як поліпшити своє питання, чому б не розпитати в « Комп'ютерному чаті» ?
Рафаель

Відповіді:


22

Для того, щоб вирішити, чи мови, породжені двома 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Δ)


3

Враховуючи два DFA і , рівність і і перевірка того, чи і генерують одну і ту ж мову - це однакові речі.D 2 D 1 D 2 D 1 D 2D1D2D1D2D1D2

Так, ця проблема вирішується. Ви можете мінімізувати як і та порівнювати їх функції переходу. Враховуючи DFA, алгоритм мінімізації зменшує кількість станів до мінімальної кількості, і цей DFA є унікальним. Ось альтернативний підхід.D 2D1D2


1
Я вважаю, що ви плутаєте "еквівалентність" DFA та їх рівність.
einpoklum

@einpoklum так, я використовую термін "рівність" як синонім "еквівалентності", оскільки ОП використовує термін "рівність".
fade2black

2
Два, однак, не однакові. Навіть після мінімізації автомати не рівні . Ми знаємо, що вони є ізоморфними, що, безумовно, можна вирішити (якщо це може бути важче рівності).
Рафаель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.