形式化定义
我们用5元组(Q,∑,δ,q0,F)(Q,∑,δ,q0,F)定义确定性有限自动机
QQ是状态的有限集
- 是字母表
- δδ是转移函数,映射关系为Q×∑→QQ×∑→Q
- q0q0表示开始状态
- F⊆QF⊆Q是accept状态集
- 既然有了以上定义,接下来定义一个DFAMM accepts 字符串,其中:w=w1w2...wn,wi∈∑w=w1w2...wn,wi∈∑, r0,r1,...,rnr0,r1,...,rn是QQ状态集元素的一个排列:
- δ(ri,wi+1)=ri+1,i=0,...,n−1δ(ri,wi+1)=ri+1,i=0,...,n−1
- rn∈Frn∈F
- AA是一个包含所有有限自动机accepts的字符串的集合,即A={w∣M accepts w}A={w∣M accepts w},那么AA就是的语言,记作L(M)=AL(M)=A。对此,我们称MM recognizes 。注意:一个有限自动机可能会accepts很多字符串,但它只能recognizes一个语言。如果这个有限自动机不接受任何字符串,那它仍然recognizes一个语言,the empty language ∅∅。如果一个语言可以被某个有限自动机recognizes,那么这个语言被称为正则语言regular language。
正则语言的操作(regular operation)
设AA和都是正则语言
1. union并:
A∪B={x∣x∈A or x∈B}A∪B={x∣x∈A or x∈B}
2. concatenation 连接:
AºB={xy∣x∈A and y∈B}AºB={xy∣x∈A and y∈B}
3. star:
A∗={x1x2...xk∣k≥0 and each xi∈A}A∗={x1x2...xk∣k≥0 and each xi∈A}
以上三种regular operation都是封闭(closed)的。在另几篇文章中会证明封闭性。