Чи може мова має більше DFA?


17

Наприклад, коли ми розглядаємо DFA, який дозволяє рядкам, що не мають підрядів, 00або 11я можу створити наступні два DFA:

введіть тут опис зображення

Відповіді:


37

Перш за все, ваш лівий DFA неправильний - він приймає, наприклад, 011.

По-друге, DFA можна канонічно мінімізувати , тому в цьому сенсі ви завжди можете знайти одну канонічну DFA для певної мови.

Але загалом існує нескінченна кількість різних DFA для кожної мови, тому ви можете отримати різні правильні відповіді.


І це навіть нескінченно багато до ізоморфізму.
Г. Бах

N

Нескінченно багато різних DFA навіть для кінцевих мов?
Бергі

1
@ Бергі: Безумовно - ви можете додати скільки завгодно зайвих станів. Це може здатися "дурним", і це справді безглуздо, коли ви самі конструюєте автомат. Однак багато разів автомати будуються за допомогою перекладу з іншого формалізму (наприклад, визначення NFA), і в цьому випадку ви, ймовірно, отримаєте надлишкові стани.
Шауль

@Shaull: Ви маєте на увазі ε-переходи або недоступні стани? Гаразд, я не вважав це.
Бергі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.