언어에 컨텍스트가 없음을 증명하는 방법은 무엇입니까?


88

문맥없는 언어 클래스 에 대해 배웠습니다 CFL. 그것은 모두 특징 문맥 자유 문법푸시 다운 오토마타 가 주어진 언어는 문맥 자유 것을 보여 쉽게 있도록.

그래도 어떻게 반대를 보여줄 수 있습니까? 내 TA는 그렇게하기 위해 모든 문법 (또는 오토마타)에 대해 현재 사용중인 언어를 설명 할 수 없다는 것을 보여 주어야한다고 단호했습니다 . 이것은 큰 일처럼 보입니다!

펌핑 보조 정리에 대해 읽었지만 실제로 복잡해 보입니다.


Ntpick : 그것이 결정 불가능한 언어는 문맥 자유인지 여부를 표시합니다.
reinierpost

1
@reinierpost 댓글이 질문과 어떤 관련이 있는지 모르겠습니다. 그것은 관하여 증명 하지 않는 것을 결정 (알고리즘).
Raphael

일반적으로 언어에 컨텍스트가 없다는 것을 보여주기가 쉽지 않다는 점을 지적하십시오 . 프레임이 쉬운 경우 언어를 설명하는 푸시 다운 오토 마톤이 제공되는 것과 같이 일반적으로 언어에 적용되지 않는 특정 특수 조건 때문에 발생해야합니다.
reinierpost

@reinierpost 그 추론의 선은 결정하기 어려운 것은 증명하기 어렵다는 것을 의미한다고 생각하는 것 같습니다. 그것이 사실인지 궁금합니다.
Raphael

답변:


69

내 지식에 펌핑 보조 정리 입니다 지금까지 가장 간단하고 가장 많이 사용되는 기법. 열심히 찾으면 먼저 일반 버전을 사용해보십시오 . 그렇게 나쁘지 않습니다. 문맥이없는 언어에는 다른 방법이 있습니다. 예를 들어, 결정 불가능한 언어에는 사소한 맥락이 없습니다.

즉, 펌핑 보조기구가 아닌 다른 기술에도 관심이 있습니다.

편집 : 다음은 펌핑 보조 정리의 예입니다. 언어 에 컨텍스트가 없다고 가정하십시오 ( P 는 소수 세트). 펌핑 보조기구에는 / 정량자가 많으므로 이것을 게임처럼 만들 것입니다.L={akkP}P/

  1. 펌핑 보조기구는 당신에게 p를 제공합니다p
  2. 당신 은 적어도 p 의 길이의 언어 를 제공합니다sp
  3. 펌핑 보조기구는 다음과 같이 다시 작성합니다. 일부 조건 ( | v x y |p| v y |1 )s=uvxyz|vxy|p|vy|1
  4. 정수 n0
  5. 경우 아닌 L , 당신은 승리, L은 문맥 무료로하지 않습니다.uvnxynzLL

이 특정 언어 어떤 K (와 케이 ≥의 PK 트릭을 할 것입니다 소수이다). 그리고 펌핑 보조 정리는 준다 u는 v에 의 X , Y의 Z를 함께 | v y | 1 . 상황에 여수를 반증 마십시오, 당신은 찾을 필요가 없음을 되도록 | u v n x y n z | 소수가 아닙니다.sakkpkuvxyz|vy|1n|uvnxynz|

|uvnxynz|=|s|+(n1)|vy|=k+(n1)|vy|

그리고 은 다음을 수행합니다. k + k | v y | = k ( 1 + | v y | ) 는 소수가 아니므로 u v n x y n z L 입니다. 펌핑 보조기구를 적용 할 수 없으므로 L 에 컨텍스트가 없습니다.n=k+1k+k|vy|=k(1+|vy|)uvnxynzLL

두 번째 예는 언어 입니다. (물론) 문자열을 선택하고 5 개 부분으로 나눌 수있는 모든 방법이 없으며 모든 파생 된 문자열이 언어로 남아 있음을 보여 주어야합니다.{www{a,b}}

문자열 가이 증명에 적합한 선택입니다. 이제 vy 가 어디에 있는지 살펴 봐야 합니다. 핵심 부분은 v 또는 y에 무언가가 있어야하고 (아마도 둘 다) vy (및 x )가 길이 p 하위 문자열에 포함되어 있으므로 너무 멀리 떨어져서는 안된다는 것입니다.s=apbpapbpvyvyvyxp

이 문자열에는 y 가있을 수 있는 여러 가지 가능성이 있지만 실제로는 여러 경우가 매우 비슷해 보입니다.vy

  1. 또는 v y b . 그래서 그들은 모두 continguous의 섹션 중 하나에 포함하고의 또는 B 의. 종류의 그들이에있어 어떤 문제가되지 않는 한, 주장 할 수있는 비교적 쉬운 경우입니다 가정합니다. | v y | = k p . vyavybab|vy|=kp
    • 그들은의 첫 번째 섹션에 있다면 의, 우리는 펌프 할 때, 새로운 문자열의 첫 번째 절반은 P + K B의 P - 케이 / 2 , 두 번째는 B K / 2 P는 B의 페이지 . 분명히 이것은 형식이 아닌 w w .aap+kbpk/2bk/2apbpww
    • 다른 세 섹션 중 하나에 대한 논쟁은 거의 동일하게 실행되며, k / 2 가 색인에서 끝나는 곳입니다.kk/2
  2. 는 두 섹션에 걸쳐 있습니다. 이 경우 펌핑다운은 친구입니다. 다시 한 번 이런 일이 일어날 수있는 곳이 몇 개 있지만 (정확히는 3 개), 나는 단지 하나의 예시적인 일을 할 것이고 나머지는 쉽게 알아낼 수있을 것입니다. vxy
    • 가 첫 번째 a 섹션과 첫 번째 b 섹션 사이의 경계에 걸쳐 있다고 가정합니다 . 하자 V의 Y를 = K 1 (B)의 K 2 합니다 (어디 정확하게 중요하지 않습니다 s와 (B) 의가에있는 Vy를 하지만, 우리는 그들이 위해 거 알아). 그런 다음 펌프 다운 할 때 (즉, i = 0 인 경우) 새 문자열 s ' = a p - k 1 b p k 2vxyabvy=ak1bk2abvyi=0 , 그러나 만약 S가 ' 으로 분리 될 수 w w , 중간 점은 제 어딘가에 있어야전반이되도록 부 P - k는 1P - k는 2 ( K (1) + K 2 ) / 2 및 후반부는 P - ( K (1) + K (2) ) / 2 (B)의 s=apk1bpk2apbpswwaapk1bpk2a(k1+k2)/2ap(k1+k2)/2bp. 분명히 이것들은 동일한 문자열이 아니므로 y를 넣을 수 없습니다 .vy

나머지 사례는 거기에서 상당히 투명해야합니다 . 첫 번째 인스턴스의 다른 3 자리에 y 를 넣고 두 번째 인스턴스에는 2 개의 자리를 두는 것과 동일한 아이디어 입니다. 그러나 모든 경우에 문자열을 반으로 나눌 때 순서가 엉망이되는 방식으로 펌핑 할 수 있습니다.vy


실제로 kozen의 게임은 이것에 대한 방법입니다.
소크라테스

45

오그 덴의 렘마

렘마 (Ogden). 문맥없는 언어로 하자 . 이어서 상수가 N 매 위해되도록 Z L 중 어느 방식으로 표시하는 N 의 이상의 위치 (심볼) Z를 "고유 위치"로하고 , Z는 로 쓸 수 Z = U V W 의 X , Y , 그러한LNzL Nzzz=uvwxy

  1. 는 하나 이상의 식별 위치를 갖습니다.vx
  2. 는 최대 N 개의 고유 위치를갖습니다.vwxN
  3. 모든 경우 u v i w x i y L 입니다.i0uviwxiyL

예. 이라고하자 . L 에 문맥이 없다고 가정 하고 N 을 Ogden의 이름으로 주어진 상수 라고 가정하십시오 . z = a N b N + N 이라고합시다 ! c N + 2 N ! (이는에 속하는 L ), 우리는 가정 표시L={aibjck:ij,jk,ik}LNz=aNbN+N!cN+2N!L기호 의 모든 위치 (즉, z 의 첫 번째 N 위치 ) 를 구별한다 . z = u v w x y 를 Ogden의 정리에서 나온 조건을 만족시키는 z 의 분해라고 하자 .aNzz=uvwxyz

  • 경우 또는 (X)은 다른 문자, 그 다음 u는 v에 2 w X 2 , Y의 ∉의 L을 잘못된 순서로 심볼이있을 것이기 때문에.vxuv2wx2yL
  • a 와 구별 되기 때문에 x 중 적어도 하나 에는 기호 a 만 포함해야합니다 . 따라서 x L ( b * ) 또는 x L ( c * ) 이면 v L ( A + ) 입니다. 하자 P는 = | v | . 그런 다음 1 p N 이므로 pN을 나눕니다 ! . q 하자vxaaxL(b)xL(c)vL(A+)p=|v|1pNpN! . 그런 다음 z ' = u v 2 q + 1 w x 2 q + 1 y L에 속해야합니다. 그러나 v 2 q + 1 = a 2 p q + p = a 2 N ! + p . 이후 U Y는 정확히 갖는 N - (P)의 기호후 Z를q=N!/pz=uv2q+1wx2q+1yLv2q+1=a2pq+p=a2N!+puwyNpa 2 N이 있습니다 ! + N 기호 a . 그러나 v x 에는 c가 없으므로 z ' 2 N입니다 ! + N 기호 c z 'L 을 의미하며, 이는오그 덴 (Ogden)의 명칭 과 모순됩니다. x L ( A + ) 또는 x L ( c * ) 인 경우 유사한 모순이 발생합니다. 우리는 L을 결론z2N!+Navxcz2N!+NczLxL(A+)xL(c)L 컨텍스트가 없습니다.

운동. Ogden의 Lemma를 사용하여 에 컨텍스트가 없음을 보여줍니다.L={aibjckd:i=0 or j=k=}

펌핑 렘마

이것은 모든 위치가 구별되는 Ogden의 Lemma의 특별한 경우입니다.

렘마. 문맥없는 언어로 하자 . 이어서 상수가 N 매 위해되도록 부터 Z ∈의 L , Z는 로 쓸 수 Z = U V W 의 X , Y , 그러한LNzLzz=uvwxy

  1. .|vx|>0
  2. .|vwx|N
  3. 모든 경우 u v i w x i y L 입니다.i0uviwxiyL

파리 크 정리

이것은 Ogden의 Lemma보다 훨씬 기술적입니다.

정의. 이라고하자 . 우리는 정의 Ψ Σ : Σ *N , N 에 의해 Ψ Σ ( w ) = ( m 1 , ... , m의 N ) , m의 의 외관의 개수 I 에서 w .Σ={a1,,an}ΨΣ:ΣNn

ΨΣ(w)=(m1,,mn),
miaiw

SNn

S={u0+1ikaiui: for some set of uiNn and aiN}

SNn

LΣL

ΨΣ[L]={ΨΣ(w):wL}

L={0m1n:m>n or (m is prime and mn)}

운동. Parikh 'Theorem을 사용하여 단항 알파벳을 통한 문맥없는 언어도 규칙적임을 보여줍니다.


1
질문에 Pumping Lemma가 명시 적으로 언급되어 있기 때문에 jmad의 답변을 수락했습니다. 그래도 귀하의 답변에 감사드립니다. 여기에 모든 주요 방법을 수집하는 것이 좋습니다.
Raphael

1
괜찮습니다. 그러나 펌핑 보조는 오그 덴의 보조의 특별한 경우입니다. ;-)
Janoma

물론이야. 그래도 대부분의 사람들은 PL을 먼저 시도합니다. 많은 사람들은 OL조차 모른다.
Raphael

1
Ginsburg와 Spanier의 정리는 Parikh의 정리에 기반을두고 있으며, 제한된 경우 상황에 따라 자유롭고 충분한 조건을 제공합니다. math.stackexchange.com/a/122472
sdcvvc

다른 작업과 관련하여 "구별 위치"를 정의 할 수 있습니까? 아니면 적어도 비공식적으로? 나는 여러 곳에서 OL 복사 된 그대로의 표현을 찾았지만, 지금까지 그 중 어떤 것도 그 의미를 설명하지 않았습니다.
wvxvw

34

폐쇄 속성

CFL

LCFLLCFLLCFLLCFL

이것은 사전 지식이 적은 다른 결과 중 하나를 사용하는 것보다 종종 더 짧고 (종종 덜 오류가 발생하기 쉽습니다). 또한 모든 종류의 객체에 적용 할 수있는 일반적인 개념입니다.

예 1 : 정규 언어를 사용한 교차

L(e)e

L={ww{a,b,c},|w|a=|w|b=|w|c}

LL(abc)={anbncnnN}CFL

CFLLCFL

실시 예 2 : (역) 동형

L={(ab)2ncmd2nm(aba)nm,nN}

ϕ(x)={ax=aεx=bbx=cx=d

ϕ(L)={a2nb2na2nnN}.

이제

ψ(x)={aax=ax=cbbx=bandL1={xnbnynx,y{a,c}nN},

L1=ψ1(ϕ(L)))

L1L2=L(abc)L3={anbncnnN}

L3=L2ψ1(ϕ(L))

LCFLL3L3LCFL


인터체인지 렘마

교환 명제 [1]보다 강한 상황 여수위한 필요 조건 제시 오그의 렘마 . 예를 들어,

{xyyzx,y,z{a,b,c}+}CFL

많은 다른 방법에 저항합니다. 이것은 정리이다 :

LCFLcLn2QnLn=LΣnmnm2k|Qn|cLn2ziQn

  1. zi=wixiyii=1,,k
  2. |w1|=|w2|==|wk|
  3. |y1|=|y2|==|yk|
  4. m|x1|=|x2|==|xk|>m2
  5. wixjyiLn(i,j)[1..k]2

n,mQn

현재로서는 자유롭게 구할 수있는 참고 자료가 없으며 위의 공식은 1981 년의 [1] 양식에서 발췌 한 것입니다. 같은 속성이 최근에 재발견 된 것으로 보입니다 [2].


기타 필요한 조건

Boonyavatana와 Slutzki [3]은 Pumping and Interchange Lemma와 유사한 몇 가지 조건을 조사했습니다.


  1. W. Ogden, RJ Ross 및 K. Winklmann의 문맥이없는 언어위한“교류 간극”(1985)
  2. T. Yamakami (2008)에 의해 규칙적이고 문맥이없는 언어위한 렘마 교환
  3. R. Boonyavatana와 G. Slutzki (1988)의 문맥없는 언어대한 교환 또는 펌프 (DI) 레마


19

설정된 비 문맥 언어는 반 결정 가능하지 않기 때문에 일반적인 방법은 없습니다 (일명). 일반적인 방법이 있었다면,이 방법을 사용하여이 세트를 반 결정할 수 있습니다.

두 개의 CFL이 주어지기 때문에 상황이 더욱 악화됩니다. 교차점이 CFL인지 여부를 결정할 수는 없습니다.

참조 : Hopcroft and Ullman, "Automata 이론, 언어 및 계산 소개", 1979.


2
흥미로운 (그러나 아마도 더 진보적이고 개방적인 질문)은 특정 방법을 사용하여 CFL이 아닌 것으로 입증 될 수있는 비 CFL의 하위 클래스를 분류하는 것입니다.
Kaveh

계산 가능한 방법을 찾지 않고 펜 및 종이 교정 기술을 찾고 있습니다. 후자는 반드시 전자를 의미하지는 않습니다.
Raphael

13

Ogden의 상태 ( OC ) 의 강력한 버전은

바더 무라의 상태 (BMC)

LΣnzLd(z)e(z)d(z)>ne(z)+1z=uvwxy

  1. d(vx)1e(vx)=0
  2. d(vwx)ne(vwx)+1
  3. i0uviwxiyL

LBMC(Σ)L

CFL(Σ)BMC(Σ)OC(Σ)

참조 : Bader, C., Moura, A., Ogden 's Lemma의 일반화. JACM 29, 아니오 2, (1982), 404–407


2
이유는 단지 Dömösi 및 Kudlek의 일반화로 모든 길을 갈 dx.doi.org/10.1007/3-540-48321-7_18 ...
안드라스 살 라몬

@ AndrásSalamon : 몰랐어요! :-) ... 아마도 당신은 OC, BMC, PC가 특별한 경우라고 말하는 새로운 답변으로 게시 할 수 있습니다 (모두 구별되거나 제외되지 않은 위치).
Vor

게시 할 수 있습니다. 지금 시간이 없습니다.
András Salamon

이 답변은 예에서 이익을 얻습니다.
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.