Ничего утвердительного по этому поводу найти не могу. И NFA с любым эпсилон-переходом является эпсилон-NFA? Спасибо.
Может ли DFA иметь переходы эпсилон/лямбда?
Ответы (3)
DFA не имеет эпсилон-переходов. Если бы он был, он мог бы переходить из текущего состояния в другое состояние без каких-либо входных данных, то есть без ничего, даже {} или фи. И как определение, мы знаем, что ввод должен быть из набора ввода. Надеюсь, это рассеяло ваши сомнения...
Из определения DFA: «Детерминированные конечные автоматы — это машина, которая не может перейти в другое состояние, не получая никаких входных данных». И поскольку эпсилон ничего не значит. Следовательно, DFA не может двигаться по эпсилон-движениям.
Принимая во внимание, что из определения NFA «Недетерминированные конечные автоматы - это машина, которая может переходить в другое состояние без получения каких-либо входных данных». Таким образом, NFA может двигаться по эпсилон-ходам.
DFA должен иметь определенный входной символ для перехода из одного состояния в другое. Перемещение эпсилон не разрешено в DFA, так как оно изменит DFA на NFA. Например, предположим, что вы находитесь в состоянии Q1, и у вас есть переход (Q1, e) = Q2, в этом случае вы можете напрямую перейти в Q2 без каких-либо входных данных или вы можете остаться в состоянии Q1, поэтому у вас есть две возможности выбора. в состоянии Q1. В случае DFA у вас не должно быть никаких критериев выбора. Вот почему в DFA нет эпсилон-движений.