第三章 自动机基础.ppt

第 3 章 自动机基础 3.1 正规语言及其描述方法 3.1 正规语言及其描述方法 ※ 正规语言判定示例: 3.1.1 正规语言的正规式表示法 ※ 正规式表示正规语言示例: 正规式描述语言的简单运算例: L(a)={a} L(a|b)=L(a)+L(b)={a,b} L(a.b)=L(a).L(b)={a}.{b}={ab} L(a(a|b)c )=L(a).L(a|b).L(c) ={a}.{a,b}.{c}={aac,abc} 5. L(b*)=(L(b))*={b}*={ε,b,bb,bbb,… } = { bn |n≥0 } 6. L(ab*)=L(a).L(b*)={a,ab,abb,…} ={abn|n≥0} 7. L((a|b)*)= (L(a|b))*={a,b}* 即:由a,b组成的所有符号串(包括空串)集合。 ※有限自动机表示法说明: ※ 正规语言的三种表示法综合示例: 【例3.5】 L ={ abnc, bn| n≥0 },∑= {a,b,c}; 【注】 凡是能由上述三种方法表示的语言,一定 是正规语言;反之,凡是不能由上述三种方法表示 的语言,一定不是正规语言。 3.2 有限自动机的定义和分类 3.2.1 有限自动机的定义 ?:变换(二元函数): 3.2.2 有限自动机怎样描述语言 令 L(FA)为自动机FA所描述的正规语言;则 ※ L(FA)的生成(或识别)过程示例: 3.2.3 有限自动机的两种表现形式 【例3.6】有限自动机 :FA=( Q,∑,S,F,? ) 其中: Q={1,2,3,4},∑={a,b,c}, S={1,2}, F={3,4} ※ 有限自动机的构造示例1 ※ 有限自动机的构造示例2 ※ 有限自动机的分类示例 3.3 有限自动机的等价变换 3.3.1 有限自动机的确定化 ※ 消除?边算法示例: Ⅱ. 的确定化算法( =DFA ): ※ 确定化示例: 3.3.2 有限自动机的最小化1 ※ 无用状态和等价状态示例: Ⅰ.删除无用状态算法 Ⅱ. 合并等价状态原理与算法1 Ⅱ. 合并等价状态原理与算法2 ※ 有限自动机化简示例: ※ (接上页) : 3.4 正规语言描述方法间的相互转换 ※ 正规文法 与 DFA间转换示例: ※ 正规式 与 DFA间转换示例: 3.5 有限自动机的实现问题 用计算机完成有限自动机的功能,其核心是“变换”的实现技术。这里介绍的是把变换表按某种方式存贮起来,作为知识源,实现机制是: 3.5.1 控制程序设计 3.5.2 变换表存贮结构设计 ※有限自动机实现示例: 谢谢收看! s f e + - Ⅱ. 正规式 = DFA 设 e 为正规式 , DFA=(Q,∑,s,F,?) 转换机制: ※ e = DFA 分解过程 ( 其逆过程为合成过程): 则有: 合成 分解 i j e1|e2 i j e1.e2 i j e* i j e2 e1 i j e1 k e2 i j e k ? ? 实践中,可简化为其中一种: i e j ? j e i ? e i e j 或 或 或 【例3.18】正规式 = 自动机 设 e = a*b|bc* 则: ① ⑨ a*b bc* + - a* c* ① + ⑨ - ② ③ b b + - a a a a c ① + ⑨ - ② ③ b b b - + a a c A + B b b D - C E c - - 等价! Ⅰ Ⅱ a ? c ① + ⑨ - ② ③ b b ? Ⅲ b c ① + ⑨ - ② ③ b b ? + - Ⅳ Ⅴ 确定化2 DFA: 确定化1 b c a Ⅵ A{1,2} + D{9} C{3,9} B{2} B{2} D{9} E{3} C{3,9} B{2} E{3} E{3} - - - ⑶ 令 getchar(ch) 读符号函数。 【三点说明】 ⑴ 假定自动机只作为识别器,即 对待识别的符号串: 仅回答 是(接受)或 否(拒绝)。 ⑵ 为便于处理,可令 为此,扩展自动机如下: … … ok 4 ok 5 … … … … 6 3 1 ≮ b a + - - ‘空’ 则 no 控制程序 变换表 + ③ ① + ⑥ ⑤ - a ④ - b - ≮ ≮ 作为待识别的符号串的泛指后继符。 ≮ 开始 结束 state:=1 getchar(ch) 查变换表: ?(state,ch)= ? ?=? ?=ok 回答:ok 回答:no y n y state:

文档评论(0)

1亿VIP精品文档

相关文档