Download presentation
Presentation is loading. Please wait.
1
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学
2
最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s A* ,这个附加的状态 是新自动机的初始状态,终止状态 集合 F A* 包含 F A 的所有状态以及初始 状态 s A* ,因为 λ 必须被识别。为了 识别 A 中的任意符号串的串联,新自动机要包括 M A 中的所有转换以及从 s A* 出发的与 s A 一样的 转换,从每个终止状态出发的与 s A 一样的转换 。有了这个转换集合, A 中符号串的串联将在 第一个 A 中符号串被读入的时候把状态从 s A* 变 到一个终止状态,当第二个 A 中的符号串被读 入的时候,又变到一个终止状态,依次类推。 图 (c) 表明了这种构造。
3
M A* (c) S A* SASA … MAMA i 开始开始 i i 终止状态包括 M A 的所有终止状态 S A* 是一个新的状 态,它是一个终止 状态
4
例 9.4.2 构造一个能识别正则集 合 1* ∪ 01 的非确定的有限状态自动机。 解:我们先构造识别 1* 的自动机。 首先构造识别 1 的自动机,然后根 据定理证明中构造 M A* 的方法来构造 1* 的自动机。接着构造识别 01 的自 动机,先构造识别 0 和 1 的自动机, 然后根据定理证明中构造 M AB 的方法来构造 01 的自动机。最后根据定理证明中构造 M A ∪ B 的方法来构造 1* ∪ 01 的自动机。 下图 表示了这个构造过程。其中我们给状态标 上了不同的标号。值得注意的是,这里得 到的自动机不是最简单的自动机, (b) 给 出了识别 1* ∪ 01 的更简单的自动机。
5
(a) 自动机识别的集合 S2S2 S1S1 开始开始 1 1 1 1 S4S4 S5S5 S3S3 开始开始 1 1*
6
开始开始 S6S6 0 S7S7 0 1 0 开始开始 S8S8 S9S9 S 10 S 11 01 0
7
1* ∪ 01 1 1 s 15 s 13 1 1 0 s 16 s 17 s 18 s 19 0 开始开始 s 12 s 14 1 0 0
8
1 0 S2S2 S1S1 开始开始 S0S0 (b) 1* ∪ 01 1
9
定理 9.4.2 一个集合是由 一个正则语法产生的当且仅 当它是正则集合。 证明:首先我们来证明正则 语法产生的集合是正则集合。 设 G=(V , T , S , P) 是正则语法, 产生的集合是 L(G) ,为了证明 L(G) 是正则集合,我们构造一个可以识别 L(G) 的非确定的有限状态自动机 M=(S , I , f , s 0 , F) 。设状态集合 S 包括对 应每个 G 中的非终止符号 A 的状态 s A 以及 一个附加的终止状态 s F ,初始状态是对应 初始符号 S 的状态 s 0 , M 的转换是以下列 方式由 G 的产生式得到,如果有产生式 A→a ,则有对于输入 a 从状态 s A 到 s F 的转 换,
10
如果有产生式 A→aB ,则有对 于输入 a 从状态 s A 到 s B 的转换, 如果有产生式 S→λ ,则终止 状态集合包括 s F ,也包括 s 0 。 不难证明被 M 识别的语言和语 法 G 产生的语言是一样的, 即 L(M)=L(G) 。 在证明充分性之前,我们先来 看一个例子,这个例子说明了如何构造一个 识别与正则语法产生的集合一样的集合的 非确定的有限状态自动机。
11
例 9.4.3 构造一个非确定的 有限状态自动机能识别由正 则语法 G=(V , T , S , P) 产生的 语言,其中 V={0 , 1 , A , S} , T={0 , 1} , P={ S→1A , S→0 , S→λ , A→0A , A→1A , A→1 } 。 解:识别 L(G) 的非确定的有 限状态自动机如下图所示。其中, s 0 是对应 S 的状态, s 1 是对应 A 的状态, s 2 是终止状 态。
12
0,1 0 1 s2s2 开始开始 s0s0 s1s1 1 识别 L(G) 的非确定的有限状态自动机
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.