形式语言与自动机_课件_陈有祺第11章 LBA和上下文有关语言.ppt

形式语言与自动机_课件_陈有祺第11章 LBA和上下文有关语言.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 LBA和上下文有关语言 线性有界自动机 线性有界自动机上下文有关文法的关系 上下文有关文法的性质及其与递归集的关系 语言类之间的关系 线性有界自动机 线性有界自动机是一种特殊的图灵机,其主要特征是对图灵机的读/写头移动范围加以限制。 图灵机的基本模型是当在带上放置了输入串以后,就相当于确定了带的左边界,其读/写头永远不能向左越过输入串第一个字符的位置。线性有界自动机则是对其读/写头的左、右移动范围都加以限制,在它的带上明确放置两个特殊的符号—左边界¢和右边界$,开始时,输入串w放在两个边界之间,呈¢w$形式,而以后在运行过程中,其读/写头既不能超过左边界往左,也不能超过右边界往右。 线性有界自动机接受的语言类小于图灵机接受的语言类。 线性有界自动机 定义 11.1 线性有界自动机(Linear Bounded Automata,简记为LBA)是一种特殊的非确定的图灵机,它由9元组表示 M = ( Q,∑,Γ,δ,¢ ,$ ,s,t,r),其中¢ ,$ 分别为左、右端标记,其意义前面已经做了说明。其余符号的意义与图灵机的定义相同,不再重复。 LBA M接受的语言记做L(M),定义为: L(M)={ w∣w∈∑* ,并且s¢w$├M* αtβ,α,β∈Г* } 线性有界自动机 例 11.1 构造一个LBA M,使其接受集合{ ww∣w∈{a,b}+ }。 首先分析一个具体的字符串,看LBA M如何识别形如ww的串。设在LBA M的带上有输入串: ¢aabbaaabba$ M的第一步是找该输入串的“中心”,这个虚拟的中心将把输入串分成长度相等的左右两个部分。办法是M的读/写头在¢和$之间往返移动,每移动一个来回,就对输入串两端的符号打上标记。经往返几次后,输入串的符号变为 打标记的办法是在原来符号的上方打上小箭头,左边的箭头向右,右边的箭头向左。当然还可以有许多“打标记”的办法,现在这样做是为了比较直观,但是 , 等也要作为Г中的符号来看待。M按上面办法工作一段时间以后,所有的符号都打上了标记,最后可能出现两种情况:若输入串长度为偶数,当左、右箭头都成对地打满之后,正好找到“中心”,也就是两个箭头相对的地方。 线性有界自动机 给出的输入串就变为 若输入串长度为奇数,当M从左往右对最后一个未标记的符号打上右箭头之后,再也找不到未标记的符号,如输入串为aabaaaabb时,就会发生 的情况,此时,LBA M就拒绝该输入串。 在LBA M找到中心之后,第二步就是检查左、右两个子串是否相等。由于在第一步已经做了很好的准备工作,将左、右两个子串的字符打上不同的标记,因此检验起来比较方便。 线性有界自动机 可以使用在第九章中介绍的编程技术,M在左边查到一个符号后,将它吸收到状态中,同时消去这个符号;然后由携带该符号的状态到右边找对应符号,若找到则消掉,否则拒绝。例如对于我们开始给出的输入串,在对消几次之后,带上变为 最后,当¢和$中间的符号都消为空白时,M就接受输入串。 有了以上的详细分析,我们很容易写出M的全部δ函数: (1) δ(q0 ,¢)=(q1 ,¢, R) 设q0 为初始状态。 (2) δ(q1 ,X)=(q2 , , R) 打右箭头标记 (X=a,b)。 (3) δ(q2 ,X)=(q2 ,X, R) 向右找边界$或已标记的符号 。 (4) δ(q2 ,$)=(q3 ,$, L) 找到后左移。 δ(q2, )=(q3 , ,L) 线性有界自动机 (5) δ(q3 ,X)=(q4 , , L) 打左箭头标记。 (6) δ(q4,X)=(q4 ,X, L) (7) δ(q4, )=(q1, ,R) 找到有右箭头标记的符号,转(2),循环。 (8) δ(q1, )=(q5 , ,L) 完成打标记,进行下一阶段。 (9) δ(q3, )=(q10, ,0) 输入串长度为奇数,拒绝(q10为拒绝状态) (10)δ(q5, )=(q5, ,L) (11)δ(q5,¢)=(q6 ,¢ ,R) 匹配阶段开始。 (12)δ(q6, )=([q6,X],凵,R) 将X吸收到状态上。 线性有界自动机 (13)δ([q6,X], )=([q6,X], ,R) Y=a,b,与X无关。 (14)δ([q6,X], )=(q7,凵,L) 右边对应位置符号相同,对消。 (15)δ([q6,X],凵)=([q6,X],凵,R) (16)δ([q6,X], )=(q10, ,0)

文档评论(0)

朋友你好 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档