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”是唯一被接受的字符串 @mrahat不客气。谢谢。如果您对生成漂亮的自动机图感兴趣,可以看看这个,我在这里发布了一些相关的LaTeX代码。