1.确定的有穷自动机——DFA
1.1 形式定义
: “确定”的含义是:状态的改变是由当前状态和输入唯一确定的
1.2 例题
- 设计DFA,在任何由0、1构成的字符串中,接受含有01子串的字符串
- 若Σ={0,1},给出接受全部含有奇数个1的串DFA
- 若Σ={0,1},给出接受全部含有偶数个0和偶数个1的DFA
- 设计DFA接受{0,1}上的字符串ω,且ω是3的倍数的二进制表示
1.3 扩展转移函数
- 定义
- 例题
1.
2.
1.4 DFA的语言与正则语言
-
DFA语言
-
正则语言
如果语言L是某个DFA D的语言,即L=L(D),则称L是正则语言- ∅,{ε}都是都是正则语言
- 若Σ是字母表,Σ*,Σⁿ都是Σ上的正则语言
-
2. 非确定的有穷自动机——NFA
同一个状态在相同的输入下,可以有多个转移状态。自动机可以处在多个当前状态
- 对比
可接受串的限制:
DFA | NFA |
---|---|
跳转的状态必须是终结状态 | 跳转的状态中有终结状态 |
例:由0和1构成的串中,接受全部以01结尾的串,如何设计DFA
2.1 形式定义
唯一区别于DFA的是状态转换函数δ:
2.2 例题
- 接受全部以01结尾的串的NFA,识别字符串00101的过程