DFA
DFA的形式定义:
其中,Q是有限状态集合
T是有限的输入字母表
F是终止状态集合
其中,
以后所有拓展过的状态转移函数,输入为字符串的,默认记作
NFA
和DFA相比,只是转换函数有所不同,它允许Q
子集构造法 NFA-DFA
如何将NFA转化为DFA?
可以预想到这在期中肯定是一个必考点
先从NFA的
将其中的状态作为接续转移表的起始状态,然后根据原表,求并集得到新的状态表
遍历反复,直到记录的所有状态都出现在起始状态集合中。
以例题为例
得到结果:
这种NFA具有一种特殊的能力,即同一时刻,即使无输入,他可能处于多个不同的状态。相比于NFA,它更加的“无条件”了一些。
那么显然,他天然的具有一个功能,即一个状态可以代表多个状态。这话有些绕,
但是我想说明白的是,通过
为了更清晰的描述这些状态,我们做出如下的定义
对于已知状态q,仅用
到NFA的转换
其实本质上,这种转换方式很好理解
我们需要明确一个前提:一个含有
也就是到达的点的
但是,这还不算完全,因为,它的出发点也分为两种。一种是q,另一种是q通过
综上,我们得到转换函数:
我们对所有的(q,a)对遍历以上算法,即得结果
如果您喜欢我的文章,可以考虑打赏以支持我继续创作.