1. 将δ扩充成:δ:K×∑*→2K,定义为: x∈∑*, δ(q,x)={p1,p2,…,pn}({p1,p2,…,pn}∈2K ) 表示在状态q下,读符号串x后,可以达到状态pi (1≤i≤n)。 一般地表示: δ(q,ε)={q} q∈K
δ:K×∑→2K 为:
0,1
01
q0 {q0,q3} {q0,q1}
q1 Φ
{q2}
q2 {q2} {q2}
q3 {q4} Φ
q4 {q4} {q4}
q0 0
1
0
q3
q4
q1
0,1
1
q2
0,1
图2-2.1 NFA M状态转移图
二.状态转移函数δ定义的扩充 原来δ:K×∑→2K,下面对它进行两次扩充。与确 定的有穷自动机相类似,扩充以后的状态转移函数仍 然用δ。因为这样做, 在计算时也不会引起错误。
读头是将输入带上的符号读到有限控制器中,每次读
一个单元的符号。
3.有限控制器 有限控制器是有限自动机的核心。 有限自动机有多个状态,有一个开始状态,还
有若干个终止状态。 自动机每读带上一个符号,状态可能发生变化,
然后读头右移一个单元。 自动机如何从开始状态出发,识别完带上的整
个符号串后,要进入某个终止状态,这个过程就 是由有限控制器控制的。
2.设计二个FA M1和M2,分别满足 T(M1)={02i∣i是自然数} T(M2)={02i+1∣i=0,1,2,3,4,…}
2.2 不确定的有限自动机(NFA)
(Non-deterministic Finite Automaton)
DFA是在每个状态下,读一个符号后的下一个状态是 唯一确定的,下面讨论的有限自动机是在某个状态下, 读一个符号后的下一个状态可能不是唯一确定的,这就 是不确定的有限自动机。 一.不确定的有限自动机(NFA)的形式定义 定义:不确定的有限自动机M,用一个有序五元组表示: M=(K,∑,δ,q0 ,F) 其中,