- 自动机理论教程
- 自动机理论 - 首页
- 自动机理论 - 入门
- 自动机理论 - 历史
- 自动机理论 - 应用
- 自动机理论术语
- 自动机中字符串的基础知识
- 自动机的集合论
- 语言和文法
- 计算理论中的文法
- 由文法生成的语言
- 乔姆斯基文法分类
- 有限自动机
- 确定性有限自动机 (DFA)
- 非确定性有限自动机 (NFA)
- 从 NFA 到 DFA 的转换
- DFA 的最小化
- Moore 机与 Mealy 机
- DFA 的补集
- 正则表达式
- 自动机中的正则表达式
- 自动机中的 Arden 定理
- 将正则表达式转换为有限自动机
- 正则文法的泵引理
- 计算理论中的正则集
- 上下文无关文法
- 上下文无关文法 (CFG)
- 上下文无关文法中的二义性
- 上下文无关语言的闭包性质
- 简化上下文无关文法
- 乔姆斯基范式 (CNF)
- 格雷巴赫范式 (GNF)
- 上下文无关文法的泵引理
- 下推自动机
- 下推自动机 (PDA)
- 下推自动机的接受
- 由 CFG 构造 PDA
- 下推自动机和语法分析
- 图灵机
- 图灵机 (TM) 基础
- 图灵机接受的语言
- 多磁带图灵机
- 多轨迹图灵机
- 非确定性图灵机
- 半无限带图灵机
- 线性有界自动机 (LBA)
- 可计算性和不可判定性
- 图灵语言的可判定性
- 不可判定语言
- 图灵机停机问题
- 计算理论中的 Rice 定理
- Post 对应问题 (PCP)
- 自动机理论资源
- 自动机理论 - 快速指南
- 自动机理论 - 资源
- 自动机理论 - 讨论
正则文法的泵引理
定理
设 L 为正则语言。则存在常数 ‘c’ 使得对于 L 中的每个字符串 w −
|w| ≥ c
我们可以将 w 分解为三个字符串 w = xyz,使得 −
- |y| > 0
- |xy| ≤ c
- 对于所有 k ≥ 0,字符串 xykz 也在 L 中。
泵引理的应用
泵引理用于证明某些语言不是正则语言。它不应该用于证明语言是正则语言。
如果 L 是正则的,则它满足泵引理。
如果 L 不满足泵引理,则它是非正则的。
证明语言 L 不是正则的方法
首先,我们假设 L 是正则的。
因此,泵引理应该适用于 L。
使用泵引理得出矛盾 −
选择 w 使得 |w| ≥ c
选择 y 使得 |y| ≥ 1
选择 x 使得 |xy| ≤ c
将剩余的字符串赋给 z。
选择 k 使得生成的字符串不在 L 中。
因此 L 不是正则的。
问题
证明 L = {aibi | i ≥ 0} 不是正则的。
解答 −
首先,我们假设 L 是正则的,n 是状态数。
设 w = anbn。因此 |w| = 2n ≥ n。
根据泵引理,设 w = xyz,其中 |xy| ≤ n。
设 x = ap,y = aq,z = arbn,其中 p + q + r = n,p ≠ 0,q ≠ 0,r ≠ 0。因此 |y| ≠ 0。
设 k = 2。则 xy2z = apa2qarbn。
a 的个数 = (p + 2q + r) = (p + q + r) + q = n + q
因此,xy2z = an+q bn。由于 q ≠ 0,xy2z 不是 anbn 的形式。
因此,xy2z 不在 L 中。因此 L 不是正则的。
广告