2.5 有限自动机的化简

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 定义 对于语言L⊆Σ*,定义Σ*上的一个右不变关系RL如 下: • x RL y ⇔ (对任何z∈Σ*, xz∈L ⇔ yz∈L) • • • • • • • 易知,RL是右不变的等价关系。 x RL y ⇒( x∈L ⇔ y∈L) 定义 等价关系的指数 米希尔-尼罗德定理 米希尔 尼罗德定理 令L ⊆Σ*,下面3个命题等价: 1)L 是正规语言; 2)L是Σ*上某个指数有限的右不变关系的等价类的并集; 3)RL的指数是有限的。
• 3)⇒ 1)根据右不变等价关系RL 构造识别L的DFA M如下。令M的状态集Q为RL的商集即等价类集合, 其中[ε]为起始状态,L中语句构成的等价类都是终 止状态。 • 再定义转移函数如下: • δ([x], a)=[xa] ∀[x]∈Q,∀a∈Σ ∀ • 则M是识别L的DFA。 □
米希尔-尼罗德定理的应用 米希尔 尼罗德定理的应用
q0 q1 q2 q4 q5 q6 q7
合并等价状态
q0 , q4
q1 , q7
q2
q5
q6
作业
• 习题2.20中的图2.32
Βιβλιοθήκη Baidu
• 定理 定理2.14 设L为一个正规语言,那么识别L的极小 DFA在同构意义下是唯一的。 • 证明 令M为一识别L的极小DFA。 • 按照定理2.13的3)⇒1)的证明中的方法,由右 不变关系RL可以构造出识别L的DFA,记为M’,它 以RL的所有等价类作为状态。 • 根据定理2.13的2)⇒3)的证明得 RM⊆RL ,所以 2.13 2 ⇒3 RM 的等价类个数不少于RL的等价类个数。 • 因此,根据上述引理1,M的状态个数不少于M’的 状态个数。 • 又由于M是极小的DFA,所以M’也是极小DFA,与 M有同样多的状态。因此,由引理1可知 RM=RL 。
证 明
• 1)⇒ 2) 令M是识别L的DFA,则RM是右不变关系。RM
• • • • • • 的每个等价类对应着M中一个唯一的状态,因此RM的指 数是有限的。 此外,对于同一个等价类中的两个串x, y,都有 x∈L ⇔ y∈L。 因此,L是RM的 有限个等价类的并集。 2)⇒ 3) 设R是Σ*上的指数有限的右不变关系,使得L 是其有限个等价类的并集。则 xRy ⇒ 对任何z, xzRyz ⇒ (对任何z, xz∈L ⇔ yz∈L)⇒ xRLy 因此 R⊆RL ,即R是的RL的加细。 由于R的指数有限, RL的指数也是有限的。

q0 q1 q2 q3
p0
p2
p3
p1
极小有限自动机
• 定义2.12 设M为识别L的所有DFA中状态数最少的一 定义 个,则称M为识别语言L的极小 极小DFA。 极小 • 易知,极小DFA中没有不可达状态 不可达状态。 不可达状态 • 引理 1 设L为一个正规语言,M是识别L的极小DFA, 则M的状态集合与RM的等价类集合之间存在双射 • f(q)= {x|δ(q0, x)=q} • 证明 对于M的任何状态q,令f(q)={x|δ(q0,x)=q}。因 为q是可达的 ,所以f(q)非空,根据定义f(q)是RM的 一个等价类。显然,若p≠q,则f(p)与f(q)不相交。 因此, f是M的状态集合到RM的等价类集合上的双 射。
• 定义2.14 设M为一个DFA,p,q是M的两个状态。若 定义 对∀z∈Σ*,都有δ(p, z)∈F ⇔ δ(q, z)∈F, • 则称p和q是 M中的两个等价状态,记为p≡q。 • 注:蓝字部分相当于说,任何x,y,若δ(q0, x)=p且 δ(q0, y)=q,则xRLy。 • 这等于说,状态p和q所对应的RM的等价类属于RL 的 同一个等价类。因此把M中的状态p和q定义为等价 状态是合理的。
极小有限自动机
• Myhill-Nerode定理 定理:米希尔-尼罗德定理,用字 定理 符串等价关系给出了正规语言的两个特征。是DFA 化简的理论依据。 • 极小有限自动机的唯一性 极小有限自动机的唯一性:正规语言的极小有限 自动机是同构的。 • 极小有限自动机的构造方法 极小有限自动机的构造方法:将给定的DFA转化为 等价的极小DFA。
• 可以应用米希尔-尼罗德定理证明一个语言是正规 的或者不是正规的。 • 例 证明{0n1n|n ≥0}不是正规语言。 • 提示:找出RL的无限多个等价类。
练习
• 第49页习题2.11
有限自动机同构
• 定义 定义2.11 设两个DFA M1与 M2有相同多的状态,并且存在 一个一一对应保持两个DFA中的转移关系,则称M1与 M2是 同构的。 同构的 • 例2.15 • 两个DFA同构当且仅当两者的状态转移图同构。
• 定义2.9 设 M 是一个DFA,其起始状态为q0。 对于两个字 定义 符串x, y,若 δ(q0,x)= δ(q0,y),则称x与 y等价 等价,记为 xRMy 等价 • • 显然, RM是一个等价关系(即满足自反性、对称性和传 递性),并且RM 还是右不变关系。 • 定义 定义2.10 设R是 上的一个等价关系,如果对任何串x,y,z都 有 xRy ⇒ xzRyz 称R为一个右不变关系 右不变关系。 右不变关系 • 易知,R M 是右不变的。
• 例2.16 求第41页图2.23所示的DFA的极小DFA。
q0
q1
q2
q3
q4
q5
q6
q7
• 首先,删除不可达状态 q3 。 • 然后,用填表算法求出所有等价状态对。 • 最后,合并等价状态,得到极小DFA。
删除不可达状态
q0
q1
q2
q4
q5
q6
q7
用填表法求等价状态对
q0 q1 q2 q4 q5 q6 q7
• 根据引理1,在M的状态集合与RM的等价类集合之间 存在双射f 满足 f(q)= {x|δ(q0, x)=q} 其中δ是M的转移函数。 • 设δ(q, a)=p并令[x]=f(q),则 xa∈f(p)即[xa]=f(p)。 • 另一方面,令δ’为M’的转移函数,根据定义 • δ’([x], a)= δ’[xa],从而 δ’(f(q), a)= δ’(f(p)) 。这表明f 保持M与M’中的转移关系。 • 因此是M与M’同构。
填表算法
• 给定一个DFA M,找出相互等价的状态对。 • 用一个二维图表记录各个状态对是否等价,行标 与列标分别是M的各个状态。 • Step 1. 标记每个终结状态p与非终结状态q构成的 对(p,q)。 • Step 2. 对于尚未标记的状态对(p, q) ,若存在字母 a使得 (δ(p, a), δ(q, a)) 是已标记的对,则标记(p, q)。 • Step 3. 重复执行Step 2, 直到对任何尚未标记的(p, q)以及任何字母a, (δ(p, a), δ(q, a))都是未标记的状 态对时为止。 • Step 4. 此时未加标记的状态对就是所求的等价状 态对。
DFA的极小化算法 的极小化算法
• 给定一个DFA,将它转化为等价的极小DFA。 • 根据前面的定理的证明,我们看到 • 1) 由RL可以构造出识别L的极小DFA,其中RL的等 价类构成极小DFA的各个状态。如何计算RL的等价 类? • 2) 由RM⊆RL的启发,可以考虑合并RM的等价类来 获得RL 的等价类。若x,y来自RM 的两个不同的等价 类,且∀z∈Σ*,xz∈L 当且仅当xz∈L ,则xRL y,因 此RM 的两个等价类[x]与[y]应当合并。这相当于合 并[x]与[y]所对应的两个状态。
相关文档
最新文档