이 언어가 문맥에 맞지 않다는 것을 어떻게 증명할 수 있습니까?


11

다음 언어가 있습니다

{0나는1제이2케이0나는제이케이}

어떤 Chomsky 언어 클래스가 적합한 지 결정하려고합니다. 상황에 맞는 문법을 사용하여 어떻게 만들 수 있는지 알 수 있으므로 상황에 맞는 것이 거의 없습니다. 문맥이없는 문법으로는 불가능할 것 같지만이를 증명하는 데 문제가 있습니다.

가 모든 단어의 세 번째 부분 ( 초 모두가있는 섹션)에 배치 되기 때문에 포크 펌핑 보조 정리를 통과하는 것 같습니다 . 와 를 원하는만큼 여러 번 펌핑 할 수 있으며 언어를 유지합니다. 내가 틀렸다면 왜 옳은지, 왜이 언어가 상황에 맞지 않다고 생각하는지 어떻게 알 수 있습니까?2 v xV엑스와이2V엑스


나는 그것을 공식적인 증거로 만드는 방법을 모르겠지만, i <= j <= k를 보장하려면 컨텍스트 (이전 변수의 값)가 필요합니다.
Kevin


@Raphael, 나는이 게시물 이전에 그 게시물을 읽었으며 그것이 추상적이기 때문에 내 예제에 적용하는 방법을 몰랐습니다. 각 문자의 관계가 이전 문자의 수보다 크거나 같으면 uxyzv를 단어로 분리하여 Ogden의 음모를 사용하는 방법을 알 수 없었습니다. BlueMagister와 jmad는 저의 예를 명확히하기 위해 다른 게시물에서 확장했습니다.
justausr

@Raphael 나는 이것이 일반적인 경우의 사소한 적용이라는 것에 동의하지 않는다. 사용할 방법과 적용 할 예를 선택하는 것은 쉽지 않습니다.
Gilles 'SO- 악마 그만'

답변:


7

예를 들어, 모든 0을 표시 하여 Ogden의 lemma를 사용하여 일부 장소에 펌핑을 강제 할 수 있습니다 .

문맥이 없다고 가정하면 Ogden의 기본 정리는 을 제공 하고 언어에있는 w = 0 p 1 p 2 p 을 부여하고 모든 0을 "표시"합니다. 그런 다음 임의의 인수 분해 w =는 u는 X , Y , Z의 V는 존재하도록 있어야 0 에서 X 또는 Z . 또한 생각할 수 X = KZ =를 b를 m 보낸 X XZ의 Z>0=012=엑스와이V0엑스엑스=케이=미디엄엑스엑스 언어의 하위 문자열이어야합니다.

  1. 만약 = u는 X 2 , Y , Z (2) (V)이 갖는보다 0의 1 개보다는=0 ... 0=엑스2와이2V

  2. 만약 Z = 1..1 다음 w = u는 X 2 , Y , Z 2 V가 더 이상 1 개의 2의있다.엑스=0..0=1..1=엑스2와이2V

  3. 만약 Z = 2..2 다음 w = u는 X 2 , Y , Z (2) (V)이 더 이상 하나의 '0'을 갖는다.엑스=0..0=2..2=엑스2와이2V

따라서 는 당신의 언어가 아닙니다. 따라서 컨텍스트가 없습니다.엑스2와이2V

다른 기술에 대해서는 토론을 참조하십시오 : 언어에 컨텍스트가 없음을 증명하는 방법?


내가 가지고있는 것과 같은 언어입니까? 0과 1, 2가 모두 같은 길이 인 비슷한 언어 인 것 같습니다. 이 언어는 2의 수> = 1의 수> = 0의 수
justausr

1
그렇습니다. 그러나 모든 펌핑 보조 정리를 사용하면 단어를 선택하게됩니다 (그리고 나는 선택했습니다 ). 012
jmad

Gotcha, 나는 ogden의 정리에 대해 들어 본 적이 없으므로 그것을 조사해야합니다. 나는 그것이 펌핑 보조기구에 실패했다고 말하고 있습니까?
justausr

@justausr은 최근까지도 없었습니다 (내가 언급 한 토론 덕분에). 그렇습니다. 펌핑 보조기구는 거의 똑같이 작동 하지만 펌프 위치를 선택하지 않으면 여기에서 쓸모가 없습니다.
jmad

5

펌핑 보조기구는 단어의 세 번째 부분과 관련된 문제를 해결해야합니다. 참고 스플릿 때 의 조합 u는 v에 NX N Y는 , 언어도 포함 할 때 N = 0 . 해봐=V엑스와이V엑스와이=0

편집 : jmad 는 Pumping Lemma는 게임과 같습니다.

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

그래서 당신이해야 할 일은 단어를 말하고, 3을 사례로 세분화하고, 각각의 경우에 대해 결과 단어가 언어가 아닌 찾을 수 있음을 보여줍니다 .

분할 할 때 v x y 가 들어갈 수있는모든 경우를 생각해보십시오. 다음과 같은 경우주의 V는 X , Y는 2의에 속하지 않는 경우는 2의 압도적 그들이 때까지 0과 1 개의 펌프 쉽게, 그리고 당신은 언어에없는 단어가 있습니다. 내 제안은 v x y 가 2 영토에 빠지면 n = 0 을 설정하여 v y를 사라지게할 수있으므로 u v n x y n z = u에스=V엑스와이V엑스와이V엑스와이V엑스와이V와이=0 . 그런 다음 2를 제거하면 언어에 해당되지 않는 단어에 도달 할 수 있습니다.V엑스와이=엑스


2와 함께 섹션에 모든 uvwxy를 넣었다고 말하고 있습니까?
justausr

그것이 올바른 단어가 주어진다면. 나는 대답을 자세히 설명 할 것이다.
Blue Magister

여기, 지금 시도하십시오. 펌핑 보조기구가 펌핑 보조기구와 같은지 확실하지 않으므로 Wikipedia에 호소합니다 .
Blue Magister
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.