• pumping lemma


    正规语言版本

    L L L是正规语言,则存在整数 p ≥ 1 p\ge 1 p1
    对于任意长度大于等于 p p p的字符串 w ∈ L w\in L wL,存在一种分解 w = x y z w=xyz w=xyz,满足下面3个条件
    ∣ y ∣ ≥ 1 \left|y\right|\ge 1 y1
    ∣ x y ∣ ≤ p \left|xy\right|\le p xyp
    ∀ n ≥ 0 , x y n z ∈ L \forall n\ge 0,xy^nz\in L n0,xynzL


    ( ∀ L ⊆ Σ ∗ ) (  regular  ( L ) ⇒ ( ( ∃ p ≥ 1 ) ( ( ∀ w ∈ L ) ( ( ∣ w ∣ ≥ p ) ⇒ ( ( ∃ x , y , z ∈ Σ ∗ ) ( w = x y z ∧ ( ∣ y ∣ ≥ 1 ∧ ∣ x y ∣ ≤ p ∧ ( ∀ n ≥ 0 ) ( x y n z ∈ L ) ) ) ) ) ) ) )

    (LΣ)( regular (L)((p1)((wL)((|w|p)((x,y,zΣ)(w=xyz(|y|1|xy|p(n0)(xynzL))))))))" role="presentation">(LΣ)( regular (L)((p1)((wL)((|w|p)((x,y,zΣ)(w=xyz(|y|1|xy|p(n0)(xynzL))))))))
    (LΣ)( regular (L)((p1)((wL)((wp)((x,y,zΣ)(w=xyz(y1xyp(n0)(xynzL))))))))

    证明:
    根据Myhill–Nerode theorem,正则语言可以转为有限自动机
    设这个有限自动机由 p p p个状态

    对于一个长度大于等于 p p p字符串 w w w,进入自动机需要经过 p + 1 p+1 p+1个状态
    根据抽屉原理,至少有一个状态被访问两遍,如图
    在这里插入图片描述
    ∣ y ∣ ≥ 1 \left|y\right|\ge 1 y1,因为要有环
    ∣ x y ∣ ≤ p \left|xy\right|\le p xyp,(因为还没走完?
    显然 x y i z ∈ L xy^i z\in L xyizL

    举个例子,比如 L = { 0 n 1 n ∣ n > 0 } L=\left\{0^n1^n|n>0\right\} L={0n1nn>0}不是正则语言
    w = 0 p 1 p w=0^p1^p w=0p1p
    因为 ∣ x y ∣ ≤ p \left|xy\right|\le p xyp,所以 y ∈ 0 ∗ y\in 0^* y0
    x = 0 p − m , y = 0 m , z = 1 p ( m ≥ 1 ) x=0^{p-m},y=0^m,z=1^p\left(m\ge1\right) x=0pm,y=0m,z=1p(m1)
    于是 w = x y z = 0 p − m 1 m 1 p w=xyz=0^{p-m}1^m1^p w=xyz=0pm1m1p
    x y 0 z = x z = 0 p − m 1 p ∉ L xy^0z=xz=0^{p-m}1^p\notin L xy0z=xz=0pm1p/L

    另一个例子 L = { a b c d } L=\left\{abcd\right\} L={abcd}
    p = 5 p=5 p=5,因为没有 ∣ w ∣ ≥ 5 \left|w\right|\ge5 w5,所以成立

    反过来不一定成立:
    L = { a b n c n ∣ n ≥ 1 } ∪ { a k ( b ∣ c ) ∗ ∣ k ≠ 1 } L=\left\{ab^nc^n|n\ge1\right\}\cup\left\{a^k(b|c)^*|k\neq 1\right\} L={abncnn1}{ak(bc)k=1}
    选定 p = 2 p=2 p=2
    对于 w = a b n c n w=ab^nc^n w=abncn,选择 x = ϵ , y = a , z = b n c n x=\epsilon,y=a,z=b^nc^n x=ϵ,y=a,z=bncn
    对于 w = ( b ∣ c ) ∗ w=\left(b|c\right)^* w=(bc),选择 x = ϵ x=\epsilon x=ϵ, y y y选择第一个/前两个字符, z z z选择剩下的
    对于 w = a k ( b ∣ c ) ∗   k ≥ 2 w=a^k\left(b|c\right)^*\ k\ge 2 w=ak(bc) k2,选定 x = ϵ , y = a a x=\epsilon,y=aa x=ϵ,y=aa, z z z选择剩下的
    即可满足pumping lemma

    但是显然 { a b n c n ∣ n ≥ 1 } ∩ { a k ( b ∣ c ) ∗ ∣ k ≠ 1 } = ∅ \left\{ab^nc^n|n\ge1\right\}\cap\left\{a^k(b|c)^*|k\neq 1\right\}=\empty {abncnn1}{ak(bc)k=1}=
    并且 { a b n c n ∣ n ≥ 1 } \left\{ab^nc^n|n\ge1\right\} {abncnn1}不是正则语言,所以 L L L不是正则语言

    https://cs.stackexchange.com/questions/9181/languages-that-satisfy-the-pumping-lemma-but-arent-regular

  • 相关阅读:
    XJY-220/43AC220V静态信号继电器
    【计组】指令系统
    leetcode1302. 层数最深叶子节点的和
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java抗包虫病药物查询与推荐系统rx40p
    做纺织品进出口的都知道它的含金量--OEKO-TEX 100
    聊一聊关于手机Charge IC的电流流向
    为什么HttpContextAccessor要这么设计?
    蓝桥杯day7——DFS&&BFS
    单目3D目标检测[基于几何约束篇]
    LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent
  • 原文地址:https://blog.csdn.net/qq_39942341/article/details/127906924