Automata 如何ɛ-转换在不确定有限自动机中工作?

Automata 如何ɛ-转换在不确定有限自动机中工作?,automata,nfa,Automata,Nfa,我对自动机实现一种语言感到困惑。如果存在ɛ-转换,自动机是否直接进入下一个状态?假设我有一个由三种状态组成的自动机,a,b和c(其中a是初始状态,c是接受状态),字母表为{0,1}。以下是如何工作的 a----ɛ--->(b----0---->a) (b----1---->c) 是否接受字符串“1”?如果我们有呢 a---1--->b----ɛ--->c ??是否接受字符串“1” 如果存在ɛ-转换,自动机是否直接进入下一个状态

我对自动机实现一种语言感到困惑。如果存在ɛ-转换,自动机是否直接进入下一个状态?假设我有一个由三种状态组成的自动机,
a
b
c
(其中
a
是初始状态,
c
是接受状态),字母表为{0,1}。以下是如何工作的

 a----ɛ--->(b----0---->a)
             (b----1---->c)
是否接受字符串“1”?如果我们有呢

   a---1--->b----ɛ--->c
??是否接受字符串“1”

如果存在ɛ-转换,自动机是否直接进入下一个状态

粗略地说,是的。ɛ-转换(简称a或NFA)是与任何符号的使用无关的转换(
0
1
,在这种情况下)。一旦您理解了这一点,就很容易(在本例中)派生出与NFA等价的(或简称DFA),并识别后者描述的语言

假设我有一个自动机[…]字符串“1”是否被接受

对。以下是您第一次参加NFA的一张更好的示意图(乳胶和
tikz
):

等效的DFA为:

一旦你有了它,很容易看出NFA所接受的语言就是

  • 从零个或多个
    0
    开始
  • 仅以一个
    1
    结束
字符串“1”是可以接受的,因为它以0开头,以1结尾

如果我们有[…]呢?是否接受字符串“1”

对。以下是您的第二次NFA的更好示意图:

等效的DFA为:


事实上,这里很容易看出“1”是唯一被接受的字符串

@mrahat不客气。谢谢。如果您对生成漂亮的自动机图感兴趣,可以看看这个,我在这里发布了一些相关的LaTeX代码。