DFA与NFA的区别与联系

概念

记号

      有字母表中的符号组成的有限长度的序列。记号s的长度记为|s|.长度为0的记号成为空记号,记为∑。

有限自动机(Finite State Automaton)

      为研究某种计算过程而抽象出的计算模型。拥有有限个状态,根据不同的输入每个状态可以迁移到其他的状态。

非确定有限自动机(Nondeterministic Finite Automaton)

       简称NFA,由以下元素组成:

       1.有限状态集合S;

        2.有限输入符号的字母表∑;

        3.状态转移函数move;     

        4.开始状态sSUB{0};

        5.结束状态集合F, F∈S。

        自动机初始化状态为sSUB{0},逐一读入输入字符串中的每一个字母,根据当前状态,读入的字母,由状态转移函数move控制进入下一个状态。如果输入字符串读入结束时自动机的状态属于结束状态集合F,则说明该自动机接受该字符串,否则为不接受。

确定有限自动机(Deterministic Finite Automaton)

       简称DFA,是NFA的一直特例,有以下两条限制:

       1. 对于空输入∑,状态不发送迁移;

       2.某个状态对于每一种输入最多只有一种状态转移。

 

 

 

你可能感兴趣的:(正则表达式)