形式语言复习五
# RL 的泵引理
# 泵引理
- 设 L 为 RL,则存在仅依赖与 L 的正整数 N,对于∀z∈L,如果∣z∣≥N,则存在u,v,w 满足
- z=uvw;
- ∣uv∣≤N
- ∣v∣≥1;
- 对于任意的整数i≥0,uviw∈L;
- N 不大于接受 L 的最小 DFA M 的状态数
RL 的泵引理
- 用来证明一个语言不是 RL,不能用泵引理证明一个语言是 RL
- 由于泵引理给出的是 RL 的必要条件,所以,在用它证明一个语言不是 RL 时,使用反证法
- 泵引理中提到的仅依赖与 L 的正整数不用给出具体的数值,只需用符号 N 来表示即可
- z 的选择是关键,在保证∣z∣≥N 的前提上,使得根据∣uv∣≤N,u,v,w 的取值很容易得出
- 当一个特意被选来用作 "发现矛盾" 的 z 确定后,就必须依照∣uv∣≤N,∣v∣≥1 的要求,说明 v 不存在
- 与选 z 时类似,在寻找 i 时,我们也仅需要找到一个表明矛盾的具体的值
例:证明{0n1n∣n≥1} 不是 RL
证明:假设 L={0n1n∣n≥1} 是 RL,z=0n1n
按照泵引理所述,v=0k,k≥1,此时有u=0N−k−j,w=0j1N
从而有uviw=0N−k−j(0k)i0j1N=0N+(i−1)k1N
当i=2 时,有uv2w=0N+(2−1)k1N=0N+k1N
注意到k≥1,所以N+k>N
即0N+K1N∈/L,与泵引理矛盾,所以 L 不是 RL
# RL 的封闭性
定理:RL 在并,乘积,闭包运算下是封闭的
定理:RL 在补运算下式封闭的
定理:RL 在交运算下封闭
正则代换:
设Σ,Δ 是两个字母表,映射f:Σ→2Δ 被称为是从Σ 到Δ 的代换,如果对于∀a∈Σ,f(a) 是Δ 上的 RL,则称f 为正则代换
f 是正则代换,则:
- f(ϕ)=ϕ
- f(ϵ)=ϵ
- 对于∀a∈Σ,f(a) 是Δ 上的 RE
- 如果 r,s 是Σ 上的 RE,则f(r+s)=f(r)+f(s),f(rs)=f(r)f(s),f(r∗)=f(r)∗ 是Δ 上的 RE
定理:设 L 是Σ 上的一个 RL f:Σ→2Δ 是正则代换,则f(L) 也是 RL
同态映射:
设Σ,Δ 是两个字母表f:Σ→Δ∗,f 为映射,如果对于∀x,y∈Σ∗,f(xy)=f(x)f(y) 则称 f 为Σ 到Δ∗ 的同态映射
对于∀L⊆Σ∗,L 的同态像f(L)=x∈L⋃f(x)
对于∀w⊆Δ∗,w 的同态原像是一个集合f−1(w)={x∣f(x)=w,x∈Σ∗}
对于∀L⊆Δ∗,L 的同态原像是一个集合f−1(L)={x∣f(x)∈L}
推论:RL 的同态像是 RL
定理:RL 的同态原像是 RL
商:
- 设L1,L2⊆Σ∗,L2 除以L1 的商定义为:L1/L2={x∣∃y∈L2,xy∈L1}。
- 计算语言的商主要是考虑句子的后缀。只有当L1 句子的后缀在L2 中时,其相应的前缀才属于L1/L2。所以,当ϵ∈L2 时,L1⊆L1/L2
定理:L1,L2⊆Σ∗,如果L1 是 RL,则L1/L2 也是 RL
# Myhill-Nerode 定理与 DFA 的极小化
# Myhill-Nerode 定理
DFA M 确定的等价关系RM:
- 对于M=(Q,Σ,δ,q0,F),∀x,y∈Σ∗,xRMy⇔δ(q0,x)=δ(q0,y)
- xRMy⇔∃q∈Q,x,y∈set(q)
L 确定的Σ∗ 上的关系RL:
对于∀x,y∈Σ∗,xRLy⇔ (对∀z∈Σ∗,xz∈L⇔zy∈L)
对于∀x,y∈Σ∗,如果xRLy,则 x 和 y 无论接Σ∗ 中的任何串 z,xz 和 yz 要么都是 L 中的句子,要么都不是 L 的句子
关系RM:
设DFA M=(Q,Σ,δ,q0,F),M 所确定的Σ∗ 上的关系RM 定义为:对于∀x,y∈Σ∗
- xRMy⇔δ(q0,x)=δ(q0,y)
- 即xRMy⇔∃q∈Q,x,y∈set(q)
- 或者:M 从q0 开始读入 x 和 y 以后进入同一个状态
关系RL:
设L⊆Σ∗,L 确定的Σ∗ 上的关系RL 定义为:对于∀x,y∈Σ∗
- xRLy⇔ (对∀z∈Σ∗,xz∈L⇔yz∈L)
对于RL:
- 如果xRMy,则必有xRL(M)y,可以证明
- 如果xRL(M)y,则不一定有xRMy
右不变的等价关系
设 R 是Σ∗ 上的等价关系,对于∀x,y∈Σ∗,如果xRy,对于∀z∈Σ∗, 则必有xzRyz 成立,则称 R 是右不变的等价关系
命题:对于任意DFA M=(Q,Σ,δ,q0,F),M 所确定的Σ∗ 上的关系RM 为右不变的等价关系
命题:对于任意L⊆Σ∗,L 所确定的Σ∗ 上的关系RL 为右不变的等价关系
# DFA 的极小化
判断哪些状态不能合并
- 终止状态和非终止状态不能合并
- 如果两个状态读入同一个字符所进入的状态不能合并,那么这两个状态不能合并
可区分:设DFA M=(Q,Σ,δ,q0,F),如果∃x∈Σ∗,使得 Q 中的两个状态 q 和 p,δ(q,x)∈F 和δ(p,x)∈F 中有且仅有一个成立,则称 q 和 p 是可以区分的;否则称 q 和 p 等价,记作q≡p
算法:DFA 极小化算法