第五讲正则表达式与有限自动机
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 3.1 (P47) 设 ∑={a, b}, 则 正规式 正规集 ba* b为首后跟任意多 a 的字 a(a|b)* ∑ 上以 a 为首的字 注: 正规式与正规集不是一一对应的. 如 (a | b)*, (a*|b*)*指同 一个正规集. 问: UØ = ØU = Ø ? 说明之
4 5
若两个正规式表示的正规集同,则认为二者等价 (P47) 确定有限自动机 (DFA M) (P47) 一个确定有限自动机 DFA M是一五元式 M=(S, ∑, f, S0, Z). 其中: a. S为有限状态集 b. ∑为字母表 c. f: S * ∑ -> S 的单射. f(s, a)= s’ 意味: 当现行状态为s,输入字 符为 a 时,将转换到下一状态 s’. 此时 s’ 称为 s 的后继状态. d. S0 属于 S, 是唯一初态 e. Z 为S的子集, 叫终态集(可以空)
定义(∑上的DFA) 如果一个DFA M的输入字母表为∑,则称M是 ∑上的一个DFA.
DFA M的确定性表现为: f: S* ∑ -> S 是一部分单值函数. 如果 说允许 f 是一多值函数,则得非确定自动机概念.
6
非确定有限自动机 (NFA M) 一个非确定有限自动机(NFA M) M是一五元式 M = (S, ∑, f, S0, Z) 其中: a. S为状态集 (有穷) b. ∑字母表 2 * S c. f: S * ∑ ->2 d. S0 为 S的子集, 非空初态集 ε e. Z 为S 的子集, 叫终态集 0 a 1
I)
DFA M 可以用矩阵表示,矩阵的行为状态,列为输入字符. 矩阵 元素表示 f(s, a)的值 a b 0 1 2 1 3 2 2 1 3 3 3 3 状态转换图表示 P48
II.
定义(识别) 对∑*中任何字α ,若存在一条从初态结到某一终态 结的道路,且这条路上所有弧的标记连接成的字等于α ,则称α 可 为DFA M识别.
第五讲 正则表达式与有限自动机
1 基本概念及术语
a. b. c. d. e. f. 字母表 字符 上的字 空字 * {a,b,…} {begin,end,…} 中元素 上字符构成的有穷序列 不含任何字符的序列() 上所有字的全体 {}
2 基本运算
*的子集U、V的连接或积 UV={| U且V} 一般而言 UV VU 但(UV)W=U(VW) b. Vn=VV…V V0={} c. V的闭包 V*= V0V1 … Vn … V的正则闭包 V+ =V V* V*中每个字都是由V中字经有限次连接而成 a.
3 正规式与正规集的递归定义 (P46-47)
I. II. III. 、 都是上的正规式,所代表的正规集为{}、 ; 任何 a 属 ∑, a 是∑上的一个正规式,它所表示的正规集分别为 {a} 设U、V是∑上的正规式,它们所表示的正规集分别为L(U)和 L(V), 则 (U|V)、 (U.V)和(U)*也都是正规式. 它们所表示的正 规集分别为L(U) U L(V), L(U)L(V) 和(L(U))* (闭包). 仅由上述三步之有限次实施而得∑上正规式,它所表示的 字集为∑上正规集. 运算符顺序: *, . , | 注意 “.” 一般不写
问: 有ε 弧,则非确定. 例 f(0,a)= 1, 2 f(0,aε )
∑* 的字能为NFA M识别 当且仅当存在一条从某一初态到某 一终态结的道路,且每条道路上所有弧的标记连接成的字等于 α . 语言 定义(有限自动机等价) 对任何有限自动机 M1, M2, 如果 L(M1)=L(M2),则说 M1, M2等价.