[工学]有限自动机理论CH3PART2.ppt

  1. 1、本文档共195页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]有限自动机理论CH3PART2

3.4 不确定的有限状态自动机 每个FSL都是右线性语言 (定理3-1) 问题 每个右线性语言是不是一个FSL? 例 接收语言{aa,ab}的FA 省略陷阱状态 该自动机识别的语言L={aa,ab} 是右线性语言; 但自动机不是DFA。 δ(q0,a)={q1,q2} 即没有到达确定的惟一的状态。 不确定的有限状态自动机--NFA 3.4.1不确定的有限状态自动机 定义3-10 NFA是一个五元式, NFA =(Q,∑,δ,Q0,F) 其中: Q 是一个有限状态的集合 ∑ 是字母表 Q0 ? Q 是开始状态集合 F ?Q 是接收状态集合 δ是Q×∑→2Q的状态转换函数 即 δ(q,a) ? 2Q NFA在状态q,扫描字母a后到达 可能的下一状态集合。 NFA与DFA NFA有一个可能的开始状态集合和可能的下一状态集合 其余的同DFA。 NFA与DFA的重要区别在于 转移函数的不同。 δ(q,x)对应的是状态的一个子集 FA处于状态q DFA对每个字母只有一个状态的转移。 NFA对某个字母可以有多个状态转移; NFA接收该字母时,从多个状态转移中非确定地选择任意一个。 具体地 对于NFA, (q,a)∈ Q×∑ δ(q,a) 有3种可能 δ(q,a) =Φ δ(q,a) ={q1} δ(q,a) ={q1 ,q2,…,qn} δ(q,a)仍是一个状态转换函数,只是其值域发生了改变。 所有δ(q,a)对应的所有子集元素个数都为1时,NFA退化为DFA NFA停机 NFA在两种情况下自动停机: 将输入串扫描结束 δ(q,a)=Ф(即对应δ没有定义) 在扫描一个串w时,NFA的状态发生转换,可能会有多种情况: 可能在接收状态时终止; 可能在非接收状态时终止; 也可能在中途停止。 若至少存在一条路径可以使NFA在扫描串w后到达接收状态 则串w能被NFA所识别。 对于字母表∑上的NFA,它能识别的所有串的集合,称为NFA能识别的语言。 记为 L(NFA) 问题 如何形式化定义L(NFA)? 定义3-11NFA扩展状态转换函数 给定NFA,扩展的状态转换函数 δ*:2Q×∑*→2Q 为 δ*(p,w)= Q′ 即NFA在状态集合p时,扫描串w后到达可能的的状态集合Q′。 NFA扩展状态转换函数 若p={ q1,q2,…qn}; δ*(p,ε)=p a∈∑ δ*(p,a) = ∪ {δ(q,a)|q∈p} ={δ(q1, a),δ(q2, a),…,δ(qn, a)} 对于串w w=αa δ*(p, w) =δ*(p,αa) =∪ {δ(q,a)| q∈δ*(p,α)} 或 w= aα δ*(p, w ) =δ*(p, aα ) = ∪{δ*(q,α)| q∈δ*(p, a )} L(NFA)表示被NFA所接收的语言 L(NFA)={w|w∈∑*且 δ*(Q0, w)∩F≠Φ} 它表示所有串w的集合 在NFA的状态图中,至少存在一条路径 以w为标记,能使NFA从某个开始状态到达某个接收状态。 3.4.2 NFA的确定化 DFA可以转换为NFA NFA可以转换为DFA(确定化) A的充分条件为B A的必要条件为B A当且仅当B 即A的充要条件为B 定理3-3 ∑*的一个子集L是一个FSL, 充要条件为 存在NFA,使得L(NFA)=L。 证明:= 必要性 若L是FSL,则有L=L(DFA) DFA=(Q , ∑,δ , q0 , F) 构造 NFA=(Q,∑,δ1,{q0},F) δ1(q,a)={δ(q,a)} 即把DFA的一个状态 当作 NFA的一个状态集合 则 L=L(DFA)=L(NFA) 证明: = 充分性 NFA=(Q,∑,δ,Q0,F) 语言L=L(NFA)?∑* 构造 DFA′=( Q′,∑,δ′,q0′,F′) 其中 Q′=2Q q0′= Q0∈Q′ F′? Q′ ={p′|p′∈Q′ 且 p′∩F≠Φ} δ′(p,a)= ∪ {δ(q,a)|q∈p} 其中, p∈Q′,a∈∑ 即δ′({q1,q2,…qn},a) ={δ(q1,a),δ(q2,a),…,δ(qn,a)} 即把NFA的一个状态集合当作是DFA的一个状态。 则

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档