文章目录

  • 第4章 正规文法和正规集的性质
    • 正规文法和有穷自动机
      • RG →\to→ ε\varepsilonε-NFA
      • DFA →\to→ RG
    • 正规集的缩胀定理
    • 正规集的封闭性质和判定性
      • RL 的封闭性质
      • FA 的判定问题
    • 有穷自动机的极小化
    • Myhill-Nerode 定理

第4章 正规文法和正规集的性质

正规文法和有穷自动机

RG →\to→ ε\varepsilonε-NFA

将文法中的变元看作状态,并增加一个新的状态 fff 作为终结状态:

DFA →\to→ RG

将文法中的变元看作状态;对于终结状态 F ,若 F 还有出边,则需要增加两条转移函数:

正规集的缩胀定理

缩胀定理:设 AAA 是一个正规集,则 ∃k≥0\exists k{\ge}0∃k≥0 ,对于任何串 xxx,yyy,zzz 且 xyz∈Axyz{\,}{\in}{\,}Axyz∈A ,只要 ∣y∣≥k|y|{\ge}k∣y∣≥k ,就可以将 yyy 写成 y=uvwy=uvwy=uvw,v≠εv\not={\varepsilon}v​=ε ,并且对于 ∀i≥0\forall i{\geq}0∀i≥0 ,都有 xuviwz∈Axuv^iwz{\,}{\in}{\,}Axuviwz∈A ;

逆否命题:对于一个语言类 AAA ,若对 ∀k≥0\forall k{\ge}0∀k≥0 ,存在字符串 xxx,yyy,zzz 且 xyz∈Axyz{\,}{\in}{\,}Axyz∈A ,只要 ∣y∣≥k|y|{\ge}k∣y∣≥k ,对于将 yyy 写成任意 y=uvwy=uvwy=uvw,v≠εv\not={\varepsilon}v​=ε ,并且 ∃i≥0\exists i{\geq}0∃i≥0 ,使得 xuviwz∉Axuv^iwz{\,}{\not\in}{\,}Axuviwz​∈A ,则 AAA 不是正规集;

证明:取 k=nk=nk=n ,nnn 为对应 DFA 的状态数;在派生出长度大于 nnn 的字符串过程中,必然会出现两个重复的状态(重复状态中间生成的字符串对应 vvv ),则该段可以缩减,也可以反复膨胀

(常用逆否命题证明某个语言类不属于正规集)

:证明集合 L1={0i2∣i∈N+}L_1=\{0^{i^2}|i{\,}{\in}{\,}N^+\}L1​={0i2∣i∈N+} 不是正规集

证明:对 ∀k≥0\forall k{\ge}0∀k≥0 ,取 x=0k(k−1)x=0^{k(k-1)}x=0k(k−1) ,y=0ky=0^ky=0k,z=εz={\varepsilon}z=ε ,显然 ∣y∣=k|y|=k∣y∣=k;对于任意 y=uvwy=uvwy=uvw ,由于 1≤∣v∣≤k1{\le}|v|{\le}k1≤∣v∣≤k ,故取 i=2i=2i=2 ,此时 k2<xuv2wz≤k2+k<(k+1)2k^2<xuv^2wz{\le}k^2+k{\lt}(k+1)^2k2<xuv2wz≤k2+k<(k+1)2 ,故 xuv2wz∉L1xuv^2wz{\not\in}L_1xuv2wz​∈L1​ ,即 L1L_1L1​ 不是正规集

正规集的封闭性质和判定性

RL 的封闭性质

Th 4.5:正规集在并、连接和闭包运算下是封闭的

(由正规集的定义可知)

Th 4.6:正规集在补运算下封闭

(只需将对应的 FA 的终结状态和非终结状态对换)

Th 4.7:正规集在交运算下封闭

( L1∩L2=L1‾∪L2‾‾L_1{\cap}L_2=\overline{\overline{L_1}\cup\overline{L_2}}L1​∩L2​=L1​​∪L2​​​ ,因为并运算和补运算是封闭的,所以交运算也是封闭的)

Th 4.8:正规集与任意集合的商运算是封闭的

(商运算: L1/L2={x∣∃y∈L2,xy∈L1}L_1/L_2=\{x|\exists y{\,}{\in}{\,}L_2,xy{\,}{\in}{\,}L_1\}L1​/L2​={x∣∃y∈L2​,xy∈L1​} )

FA 的判定问题

Th 4.9:具有 nnn 个状态的有穷自动机具有如下性质:

  • 它接受的集合非空,当且仅当它接受一个长度小于 nnn 的字符串;
  • 它接受的集合是无穷的,当且仅当它接受一个长度为 lll 的字符串,这里 n≤l<2nn{\le}l{\lt}2nn≤l<2n ;

(若接受集合非空,则对于其中任意一个字符串,若它长度大于等于 nnn,则接受过程中必然会有重复状态出现,因此可用缩胀定理将其长度缩短至小于 nnn ;若接受一个长度小于 nnn 的字符串,自然接受的集合非空)

(若接受的集合无穷,则必然接受一个长度大于等于 nnn 的串,接受过程中必然会有重复状态出现,将相邻的重复状态删去(每次删去的长度小于等于 nnn ),直至长度小于 2n2n2n ;若接受一个长度为 lll 的字符串,根据缩胀定理,可以不断膨胀,故接受的集合是无穷的)

推论:给定一个有穷自动机 MMM

  • L(M)L(M)L(M) 是否为空是可判定的;
  • L(M)L(M)L(M) 是否有穷是可判定的

(只需遍历所有长度小于 nnn 的字符串)

(只需遍历所有长度大于等于 nnn 且小于 2n2n2n 的字符串)

Th 4.10:两个有穷自动机是否等价是可判定的

(可构造一个有穷自动机,使得 L=(L1∩L2‾)∪(L1‾∩L2)L=(L_1{\cap}\overline{L_2}){\cup}(\overline{L_1}{\cap}L_2)L=(L1​∩L2​​)∪(L1​​∩L2​) (即对称差);若该有穷自动机接受的语言为空集,则这两个有穷自动机等价;而有穷自动机接受语言是否为空是可判定的)

有穷自动机的极小化

等价关系:对于 p,q∈Qp,q{\,}{\in}{\,}Qp,q∈Q ,若对任意 x∈Σ∗x{\,}{\in}{\,}{\Sigma}^{\ast}x∈Σ∗ , δ(p,x)∈F\delta(p,x){\,}{\in}{\,}Fδ(p,x)∈F 当且仅当 δ(q,x)∈F\delta(q,x){\,}{\in}{\,}Fδ(q,x)∈F ,则称 ppp 和 qqq 等价

算法

① 首先画一个这样的阶梯形表格,并且将终结状态和非终结状态对应的位置打上标记;

(标记了意味着不等价)

② 对于上一轮增加的新标记的一对状态,若它们可由另一对状态接受相同字母转移而来,则将前一对状态也打上标记;

③ 重复 ② ,直至没有新的标记产生,最终没有被打上标记的状态是等价的

原理

  • 若 ppp 、qqq 等价,则 δ(p,a)\delta(p,a)δ(p,a) 和 δ(q,a)\delta(q,a)δ(q,a) 等价;
  • 若 δ(p,a)\delta(p,a)δ(p,a) 和 δ(q,a)\delta(q,a)δ(q,a) 不等价,则 ppp 和 qqq 不等价;

:将如图所示 FA 进行极小化,算法结果如右图所示,即状态 1 和状态 2 等价,状态 3 和状态 4 等价:

极小化前 算法草稿
极小化后

Myhill-Nerode 定理

(这个定理比较难,简单讲一讲)

Myhill-Nerode 关系:设 A⊆Σ∗A{\,}{\subseteq}{\,}{\Sigma}^{\ast}A⊆Σ∗ ,RRR 为 Σ∗{\Sigma}^{\ast}Σ∗ 上的等价关系,称 RRR 为关于 AAA 的 Myhill-Nerode 关系,当且仅当 RRR 满足:

  • 是右不变的(即若 xRyxRyxRy ,则 xzRyzxzRyzxzRyz )
  • 细分 AAA
  • 具有有穷指数

RAR_ARA​ :设 A⊆Σ∗A{\,}{\subseteq}{\,}{\Sigma}^{\ast}A⊆Σ∗ ,定义 Σ∗{\Sigma}^{\ast}Σ∗ 上的等价关系 RAR_ARA​ 为:xRAyxR_AyxRA​y 当且仅当对任意 z∈Σ∗z{\in}{\Sigma}^{\ast}z∈Σ∗ ,xz∈A⟺yz∈Axz{\in}A\iff yz{\in}Axz∈A⟺yz∈A ;

Myhill-Nerode 定理:设 A⊆Σ∗A{\,}{\subseteq}{\,}{\Sigma}^{\ast}A⊆Σ∗ ,下列几个命题是等价的:

  • AAA 是一个正规集
  • 在 Σ∗{\Sigma}^{\ast}Σ∗ 上存在一个关于 AAA 的 Myhill-Nerode 关系
  • 关系 RAR_ARA​ 具有有穷指数

(常用第三条反证第一条)

:证明 A=0n1m2m∣n,m≥1A={0^n1^m2^m|n,m{\ge}1}A=0n1m2m∣n,m≥1 不是正规集

证明:考虑一列语句:001200120012,000120001200012,000012000012000012 …… 0n120^n120n12 …… ,其中 i≠ji{\not=}ji​=j 时,有 (0i12+2i−1∈A)(0^i12+2^{i-1}{\,}{\in}{\,}A)(0i12+2i−1∈A) 而 (0i12+2j−1∉A)(0^i12+2^{j-1}{\,}{\not\in}{\,}A)(0i12+2j−1​∈A) ,因此 RAR_ARA​ 的指数是无穷的,由 Myhill-Nerode 定理得,AAA 不是正规集;

形式语言与自动机 第4章 正规文法和正规集的性质相关推荐

  1. 【第三章 有限自动机与右线性文法】形式语言与自动机第三章个人总结复习笔记分享!(含文件、持续更新...)

    目录 前言 一.总览 二.章节展示 3.1 [有限自动机] 3.2 [不确定的有限自动机] 3.3 [DFA和NFA的等效] 3.4 [有ε转换的不确定的有限自动机] 3.5 [正则集与正则式] 3. ...

  2. 形式语言与自动机——第三章 上下文无关文法与下推自动机

    文章目录 3.1 推导树与二义性 3.2 上下文无关文法的改写 3.2.1 CFG的最简化 3.2.2 CFG的变换 3.2.2.1 去除可零化的非终结符 3.2.2.2 去除单产生式 3.2.2.3 ...

  3. 形式语言与自动机 第6章 上下文无关语言的性质

    文章目录 第6章 上下文无关语言的性质 CFL 的缩胀定理和 Ogden 定理 CFL 缩胀定理 Ogden 定理 CFL 的封闭性质和判定性质 CFL 封闭性质 CFL 判定性质 CFL 的成员资格 ...

  4. 形式语言与自动机 第5章 上下文无关文法与下推自动机

    文章目录 第5章 上下文无关文法与下推自动机 CFG 的化简 无用符号 CNF 和 GNF 范式 CNF 范式 GNF 范式 PDA 与 CFG 下推自动机 CFG →\to→ PDA PDA →\t ...

  5. 形式语言与自动机——第四章 图灵机

    文章目录 图灵机 1 定义: 2 动作 3 瞬时描述 4 转移符号 5 图灵机的语言 6 图灵机的变形 6.1 状态中存储 6.2 多道 6.3 半无穷带图灵机 6.4 多带图灵机 6.5 非确定图灵 ...

  6. 形式语言与自动机——第二章 自动机

    文章目录 第二章 目录 [2.1] 有穷自动机(有限自动机) [2.2] 不确定有穷自动机(NFA) [2.3] 确定的有穷自动机 [2.4] 格局 [2.5] DFA与NFA等效 [2.6] 有ε转 ...

  7. 【第二章 语言及文法】形式语言与自动机第二章个人总结复习笔记分享!(含文件、持续更新...)

    目录 一.总览 二.2.1 [语言的定义与运算] 2.2 [文法] 2.3 [文法的分类] 说明 网盘链接 参考教材 有用的话请点个赞吧,后续有时间会持续更新. 提示:本文内容全是我一人学习总结而来, ...

  8. 形式语言与自动机及其在NLP中的应用

    摘要 形式语言与自动机是计算机科学的理论基础,对于计算机科学与技术专业人才的计算思维能力培养极其重要.本文首先从Chomsky谱系出发,对形式语言的概念和类别进行了阐述,然后按照形式文法与自动机之间的 ...

  9. 计算理论 形式语言与自动机_下推式自动机(PDA)| 计算理论

    计算理论 形式语言与自动机 Pushdown Automaton (PDA) is a kind of Automaton which comes under the theory of Comput ...

最新文章

  1. abb样本-感应电机与发电机手册_防爆电机如何选?
  2. 【Cocosd2d实例教程六】Cocos2d实现屏幕背景的自动滚动
  3. Xcode 修改系统的代码块样式 Code Snippet
  4. 《系统集成项目管理工程师》必背100个知识点-90信息系统安全属性
  5. 怀旧服服务器怎么调整显卡性能,用顶级配置玩wow怀旧服是怎样的体验?
  6. SQLCE 3.5 部署打包
  7. ipa解包打包工具_ios打包ipa的四种实用方法(.app转.ipa)
  8. VS2010制作dll
  9. QQ抢车位外挂(续)
  10. 12 项目收尾管理:项目验收、项目总结、系统维护、项目后评价
  11. 独行侠作风之CRM实施阻力
  12. 词云图制作:15张炫酷的词云图海报、PPT报告词云图、3D词云图,MagicCloud词云图一键制作软件
  13. SAP Fiori Elements SmartLink 创建实例的单步调试
  14. MOSS SDK学习(3)
  15. linux mv移动文件到指定目录,Linux mv命令使用示例-移动或重命令文件/目录
  16. 全面解密阿里新零售供应链
  17. 最好的vsftpd配置教程
  18. Android 拖拽球吸附动画,android可拖动,展示菜单,能自动吸边和半隐藏的悬浮球...
  19. 什么是智能电话机器人有哪些优势?
  20. Linux之显示系统相关信息

热门文章

  1. iphone 存图片和视频到iPhone相册
  2. 用CSS正确显示人民币符号的HTML转义字符
  3. 腾讯AI开放平台使用尝试:代理后的文本翻译API使用方式
  4. pion demo运行
  5. Python中open函数的各个mode的理解
  6. 怎么在多层循环中直接跳出循环
  7. 毕业设计 stm32智能温控风扇系统 - 单片机 嵌入式
  8. c语言小车程序,循迹小车的C语言程序(带注释)
  9. 拉钩招聘信息爬取以及可视化
  10. AI+工业互联网:百度AI专利讲述“中国智造”