为什么这个 NFA 不接受空字符串?

Why Doesn't This NFA Accept Empty String?

我们得到了 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 中遇到 lambda,则转到状态 q2,这是最终状态。我的印象是,如果我们接受空字符串,机器将保持状态 q0 并转换到 q2,并且由于其中一个是最终状态,它会被接受。

假设 λ 是出现在输入字符串末尾的字母表外符号 - 您的自动机确实接受空字符串。