确定性有限自动机

形式化定义

  1. 我们用5元组 (Q,,δ,q0,F) ( Q , ∑ , δ , q 0 , F ) 定义确定性有限自动机

  2. Q Q 是状态的有限集

  3. 是字母表
  4. δ δ 是转移函数,映射关系为 Q×Q Q × ∑ → Q
  5. q0 q 0 表示开始状态
  6. FQ F ⊆ Q 是accept状态集
  7. 既然有了以上定义,接下来定义一个DFA M M accepts 字符串 w w ,其中: w=w1w2...wn,wi w = w 1 w 2 . . . w n , w i ∈ ∑ , r0,r1,...,rn r 0 , r 1 , . . . , r n Q Q 状态集元素的一个排列:
  8. r0=q0 r 0 = q 0
  9. δ(ri,wi+1)=ri+1,i=0,...,n1 δ ( r i , w i + 1 ) = r i + 1 , i = 0 , . . . , n − 1
  10. rnF r n ∈ F
  11. A A 是一个包含所有有限自动机 M M accepts的字符串的集合,即 A={wM accepts w} A = { w ∣ M   a c c e p t s   w } ,那么 A A 就是 M M 的语言,记作 L(M)=A L ( M ) = A 。对此,我们称 M M recognizes A A 。注意:一个有限自动机可能会accepts很多字符串,但它只能recognizes一个语言。如果这个有限自动机不接受任何字符串,那它仍然recognizes一个语言,the empty language 。如果一个语言可以被某个有限自动机recognizes,那么这个语言被称为正则语言regular language

正则语言的操作(regular operation)

A A B B 都是正则语言
1. union并:

AB={xxA or xB} A ∪ B = { x ∣ x ∈ A   o r   x ∈ B }

2. concatenation 连接:
AºB={xyxA and yB} A º B = { x y ∣ x ∈ A   a n d   y ∈ B }

3. star:
A={x1x2...xkk0 and each xiA} A ∗ = { x 1 x 2 . . . x k ∣ k ≥ 0   a n d   e a c h   x i ∈ A }

以上三种regular operation都是封闭(closed)的。在另几篇文章中会证明封闭性。

你可能感兴趣的:(计算理论,编译原理)