Почему этот NFA не принимает пустую строку? - PullRequest
0 голосов
/ 21 сентября 2018

Нам дали определение NFA и сказали построить эквивалентный DFA, используя процесс преобразования.У меня не было никаких проблем, однако, наш профессор продолжал говорить нам после задания, что оригинальный NFA не принимает пустую строку.Я немного сбит с толку, почему это не так.

Вот NFA:

δ(q0, a) = {q0, q1}
δ(q1, b) = {q1, q2}
δ(q2, a) = {q2}
δ(q0, λ) = {q2}

with initial state q0 and final state q2

Почему пустая строка не принимается NFA или эквивалентным DFA?Последнее правило гласит, что если вы встретите лямбду, находясь в q0, перейти в состояние q2, которое является конечным состоянием.У меня сложилось впечатление, что если мы примем пустую строку, машина останется в состоянии q0 и перейдет в q2, и поскольку один из них является конечным состоянием, он будет принят.

1 Ответ

0 голосов
/ 21 сентября 2018

Предполагая, что λ является символом из алфавита, появляющимся в конце вашей входной строки - ваш автомат принимает пустую строку.

...