泵引理与正则语言的封的闭性.ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 即0N-k1N22N L – 这个结论与泵引理矛盾;
• 所以,L不是 RL。
2019/10/3
16
RL的泵引理的应用 (cont.)
• 小结:使用泵引理证明一个语言不是 RL的注意事项
– 在用泵引理证明一个语言不是 RL 时,使用反证法; – 泵引理指出,
• 如果L是 RL ,则对任意的zL,只要|z|N,一定会存在u、v、 w,使uviwL对所有的i成立;
2019/10/3
6
RL的泵引理 (cont.)
• 设有句子z=a1a2…am,
– 假设DFA识别z需经过的状态为q0,q1,…qm; – 由重叠原理,
• 如果m>N(N为DFA可达状态总数)时, • 这些状态中至少存在一对重复的状态qk和qj (k≠j);
2019/10/3
7
RL的泵引理 (cont.)
– RL关于基本运算下的封闭性
• 并、乘积、闭包 • 补、交、差 • 反转
– RL关于其它运算的封闭性
• 正则代换:将一个字符映射到一个正则语言; • 同态:将一个字符映射成一个串; • 逆同态: •商
2019/10/3
19
RL的封闭性 (cont.)
• RL的封闭性的证明
– RL具有不同的等价的表示方法; – 为方便,不同的封闭性证明拟采用不同的表示方
p0=q
p1='(q, a1) p2='(q, a1a2)

pn='(q, a1a2…an ) pn+1='(q, a1a2…an+1 )

pm='(q, a1a2…am )
由重叠原理, p0, p1, p2, …, pn中 至少有两个状态是重复的,即 存在 i, j, 0ijn, pi=pj .

• 关于并、乘积、闭包等运算的封闭性证明
– 宜采用RE为RL的描述模型;
• 关于补、交、差等运算的封闭性证明
– 宜采用DFA作为RL的描述模型;
• 正则代换的封闭性证明
– 可采用FA或RE作为RL的描述模型;
• 同态:作为正则代换的特例由正则代换的封闭性推出; • 逆同态:用DFA作为RL的描述模型; • 商:宜以DFA作为RL的描述模型
第五章 正则语言的性质
泵引理与正则语言的封闭性
付国宏
黑龙江大学计算机科学技术学院 ghfu@hlju.edu.cn
提纲
• 主要内容
– 泵引理及其应用
– RL性质 • 并、乘积、闭包、补、交 • 正则代换、同态、逆同态的封闭性
• 重点:
– 泵引理及其应用、 RL性质
• 难点:
– 正则代换、同态、逆同态的封闭性证明
2019/10/3
11
RL的泵引理的应用 (cont.)
例 5-1 证明{0n1n|n1}不是 RL。 证明:
• 假设L={0n1n|n1} 是 RL • 取z=0N1N
– N为泵引理所指的仅依赖于L的正整数 – zL
• 按照泵引理,一定存在z=uvw, • 取v=0k(k1),此时
– u=0N-k-j – w=0j1N
– 设pk='(p0, a1a2…ak), 0km; – 若假定p0 = q0 , pm='(p0, a1a2…am)F,
• 则wL(M);
• 令 w = xyz, 其中:
– x = a1a2…ai , y = ai+1ai+2…aj , z = aj+1aj+2…am
• 则对任何k 0,都有 xykz L(M) y = ai+1ai+2…aj
2019/10/3
8
RL的泵引理 (cont.)
• 对于任意的整数i0
– (qk, (ak+1…aj)i)= (qk, (ak+1…aj) (ak+1…aj)i-1) = ((qk, (ak+1…aj)), (ak+1…aj)i-1) = (qk, (ak+1…aj)i-1) …
= (qk, ak+1…aj) =qk
• 取DFA M=(Q1Q2, 12, , (q01, q02), F1F2) • 设计: a 12, (p, q) Q1Q2,
((p, q), a)= (1(p, a), 2(q, a))
2019/10/3
22
RL关于交运算的封闭性 (cont.)
(2) 证明((q01, q02), x)=(1(q01, x), 2(q02, x)) – 施归纳于|x|
2019/10/3
13
RL的泵引理的应用 (cont.)
例 5-2 证明{0n|n为素数}不是 RL。 证明: • 假设L={0n|n为素数} 是 RL • 取 z=0N+p L; • 显然N+p为素数 • 不妨设v=0k(k≥1),此时,
– u=0N+p-k-j – w=0j
• 从而有
– uviw=0N+p-k-j(0k)i0j =0N+p+(i-1)k
泵特性:DFA处理任一长度不 小于状态数目的字符串所经历
的状态序列中上,必然出现重
复的状态。
3
DFA的泵特性 (cont.)
• 形式化
– 设 DFA M=(Q, , , q0 , F ), |Q|=n, – 设句子w = a1a2…am, 且mn, –则
• 存在 i, j, 0ijn, pi=pj,
• 在选择z时,需要注意到论证时的简洁和方便;
– 当一个特意被选来用作“发现矛盾”的z确定以后,
• 就必须依照|uv|N和|v|1的要求,说明v不存在(对“存在u、v、 w”的否定);
– 与选z时类似,在寻找i时,
• 只需要找到一个表明矛盾的“具体”值就可以了(对“所有i”的 否定);
– 在证明过程中,一般不使用泵引理的第(5)条;
– 故当i=N+p+1时,
• uvN+p+1w=0(N+p)(1+k) L
• 这与泵引理矛盾,
– 所以L不是 RL。
2019/10/3
15
RL的泵引理的应用 (cont.)
例 5-3 证明{0n1m2n+m|m,n1}不是 RL。 证明:
– 假设L={0n1m2n+m|m, n1} 是 RL。 – 取z=0N1N22N – 设v=0k(k1),此时u=0N-k-j, w=0j1N22N – 从而有:uviw=0N-k-j(0k)i0j1N22N=0N+(i-1)k1N22N – 当i=0时,uviw=0N+(0-1)k1N22N=0N-k1N22N – 注意到k1,则N-k+N=2N-k<2N
• 故,
– (q0, a1a2…ak(ak+1…aj)i aj+1…am) = ((q0, a1a2…ak), (ak+1…aj)i aj+1…am) = (qk, (ak+1…aj)i aj+1…am) = (qk, aj+1…am) =qmF
• 即:a1a2…ak(ak+1…aj)i aj+1…amL(M)
2019/10/3
2
DFA的泵特性
• DFA是一个无穷语言的有穷描述模型
– 设 DFA D = (Q, , , q0 , F ), |Q|=n – 对于任一长度不小于 n 的字符串 w = a1a2…am ,
• 即mn, ak (1 k m), qQ , • 考察如下状态序列
2019/10/3
2019/10/3
12
RL的泵引理的应用 (cont.)
• 从而有,
– uviw=0N-k-j(0k)i0j1N=0N+(i-1)k1N
• 当i=2时,有:
– uv2w=0N+(2-1)k1N = 0N+k1N
• 注意到k1,所以,
– N+k>N
• 即:0N+k1NL • 这与泵引理矛盾; • 因此,L不是 RL。
– 不能用去证明一个语言是 RL; – 可用来证明一个语言不是 RL。
• 证明方法:反证法 • 证明步骤
– (1) 假设给定的语言L是正则语言 – (2) 选任意的n. – (3) 找到一个满足以下条件的串wL (|w|n).
• w=xyz • y • |xy| n
– (4) 找到一个 k 0, 使 xykz L.
2019/10/3
Start
p0 x = a1a2…ai
pi z=aj+1aj+2…am pm
4
RL的泵引理
• 引理5-1 泵引理(pumping lemma)
设L为一个 RL ,则存在仅依赖于L的正整数N,对于 zL,如果|z|N,则存在u、v、w,满足
(1) z=uvw; (2) |uv|N; (3) |v|1; (4) 对于任意的整数i0,uviwL; (5) N不大于接受L的最小DFA M的状态数。
2019/10/3
20
RL关于补运算的封闭性
定理 5-2 RL 在补运算下是封闭的。
证明:
• 设M=(Q, , , q0, F) L(M)=L, • 取DFA M= (Q, , , q0, Q-F) • 显然,对于任意的x*,
– (q0, x)=fF (q0, x)=fQ-F – 即 xL(M) xL(M) – L(M)= *-L(M)。
• 当|x|=1, x=a12
– ((q01, q02), x)=((q01, q02), a) = ((q01, a), (q02, a)) = (1(q01, x), 2(q02, x)) – 结论成立。
// 定义 // 定义 // 1, 2定义
• 设|x|k时结论成立,往证|x|=k+1时结论也成立
• 设L是一个RL • DFA M=(Q, , , q0, F)满足
– L(M)=L – |Q|=N – 假设QBiblioteka Baidu含任何不可达状态
• 取L的句子z= a1a2…am(m≥N)
– 令(q0, a1a2…ah)=qh
• 识同:别qLk的=q状j 态序列q0,q1,…,qN中,至少有两个状态是相
– (q0, a1a2…ak)=qk – (qk, ak+1…aj)=qj=qk – (qj, aj+1…am)=qmF
• 事实上,引理所要求的|uv|N并不是必须的; • 但这个限制为简化相应的证明提供了良好支撑—扩充了的泵引理。
2019/10/3
17
RL的封闭性
• 封闭性(closure property)
– 如果任意的、属于同一语言类的语言在某一特定 运算下所得的结果仍然是该类语言,
– 则称该语言类对此运算是封闭的
2019/10/3
5
RL的泵引理 (cont.)
• 证明:
– 基本要点
• DFA在处理一个足够长的句子的过程中,必定会重复地经 过某一个状态;
• 换句话说,在DFA的状态转移图中,必定存在一条含有回 路的从启动状态到某个终止状态的路;
• 由于是回路,所以,DFA可以根据实际需要沿着这个回路 循环运行,相当于这个回路中弧上的标记构成的非空子串 可以重复任意多次。
2019/10/3
9
RL的泵引理 (cont.)
•取
– u= a1a2…ak, – v=ak+1…aj, – w= aj+1…am
• 对于任意的正整数i,
– uviwL
• 由于0k<jN,那么
– |uv|N – |v| 0
• 引理5-1得证
2019/10/3
10
RL的泵引理的应用
• 泵引理给出的是正则语言的必要条件
2019/10/3
14
RL的泵引理的应用 (cont.)
• 当i=N+p+1时,
– N+p+(i-1)k=N+p+(N+p+1-1)k = N+p+(N+p)k
素数:除了1和自身外, 沒法被其他自然数整除
= (N+p)(1+k)
的大于1的自然数!
– 注意到k1,所以
• N+p+(N+p+1-1)k=(N+p)(1+k)不是素数。
• 所以, RL 在补运算下是封闭的;
• 定理得到证明。
2019/10/3
21
RL关于交运算的封闭性
• 定理 5-3 RL 在交运算下封闭 • 证明:以DFA作为描述工具
– 设L1和L2是两个正则语言; – 设DFA M1=(Q1, 1, 1, q01, F1), L(M1)=L1; – 设DFA M2=(Q2, 2, 2, q02, F2), L(M2)=L2; (1) 构造DFA M使得L(M)=L1L2
• 有效封闭性(valid closure property)
– 给定一个语言类的若干个语言的描述,如果存在 一个算法,它可以构造出这些语言在给定运算下 所获得的运算结果的相应形式的语言描述,
– 则称此语言类对相应的运算是有效封闭的。
2019/10/3
18
RL的封闭性 (cont.)
• RL的主要封闭性
相关文档
最新文档