다음 언어 컨텍스트는 무료입니까?
sdcvvc에 의해 지적 된 바와 같이,이 언어의 단어는 또한 해밍 거리가 2 이상인 동일한 길이의 두 단어의 연결로 설명 될 수있다.
나는 그것이 컨텍스트가 없다고 생각하지만 그것을 증명하는 데 어려움을 겪고 있습니다. 나는이 언어를 일반 언어 (예 : ) 와 교차하려고 시도한 후 펌핑 보조 및 \ 또는 동형을 사용했지만 항상 특성화하고 쓰기에 너무 복잡한 언어를 얻습니다. 내려가는.
다음 언어 컨텍스트는 무료입니까?
sdcvvc에 의해 지적 된 바와 같이,이 언어의 단어는 또한 해밍 거리가 2 이상인 동일한 길이의 두 단어의 연결로 설명 될 수있다.
나는 그것이 컨텍스트가 없다고 생각하지만 그것을 증명하는 데 어려움을 겪고 있습니다. 나는이 언어를 일반 언어 (예 : ) 와 교차하려고 시도한 후 펌핑 보조 및 \ 또는 동형을 사용했지만 항상 특성화하고 쓰기에 너무 복잡한 언어를 얻습니다. 내려가는.
답변:
참고 [2019-07-30] 증거가 잘못되었습니다 ... 질문이 소리보다 복잡합니다.
여기서 실패한 시도는 또 다른 아이디어입니다.
을 일반 언어 과 교차 하면 CF 언어가됩니다.
(정확히 4 1 인 문자열)을 사용하면 더 많은 행운을 얻을 수 있습니다 .
하자 비공식적으로, 절반이 정확히 포함하도록이 두 반쪽으로 분할 될 수 있다면, 또는 두 반쪽 두 포함 의 위치는 일치하지 않습니다.
한다고 가정 CF이고하자 촘스키 정규형의 문법, 그리고하자
우리는 (길이조차도) 및
의 4 개의 1 이 생성 될 수있는 방식으로주의를 제한 하면 그림 1의 상단에 3 개의 경우가 표시됩니다. 그림 1의 중앙 부분은 첫 번째 경우를 보여줍니다 (그러나 다른 것은 유사합니다). .
그림 1 (전체 사진은 여기에서 다운로드 할 수 있습니다 )
우리는 선택할 경우 = E , C = 2 및 B를 , D » 우리 1S 두 쌍의 제로 독립적 펌핑 (도면에서 빨간색 노드)이어야 참조 : 특히, 충분히 큰 대 B » , 내부 하위 트리에 중복 된 비 터미널 노드 (그림 2의 노드 X) 또는 첫 번째 또는 두 번째 1 (그림 2의 노드 Y) 경로의 하위 시퀀스가 반복됩니다. 참고 그림 2는 단순 조금이라고 더 자세한 비단 둘 사이의 노드가있을 수 X 들, 또한 둘 사이에 Y 의 ( Y → . 이지만 를 사용하면 처음 1)의 오른쪽에 0 만 생성됩니다.
그림 2
따라서 임의의 고정한 다음 첫 번째와 두 번째 1 사이의 0 시퀀스에서 독립적으로 펌핑 가능한 노드를 얻을 수 있을만큼 충분히 큰 를 선택 합니다. 세 번째와 네 번째 1 사이의 0의 시퀀스에 대해 d = b를 선택할 수 있습니다 ! + b .
그러나 0 b 는 독립적으로 펌핑 가능하므로 p ≤ b 펌핑 가능한 하위 문자열 y가 있습니다 . 즉 b = x y z , |
및 . 우리가 얻는 문자열은 다음과 같습니다.
그러나 . 따라서 은 CF가 아니며 마지막으로 은 CF가 아닙니다.
증거가 정확하면 (???) 모든 언어로 확장 할 수 있습니다.
@Hendrik Jan (감사합니다)에 의해 반증 된 두 번의 시도가 실패한 후에는 더 성공하지 못한 또 하나의 시도가 있습니다. @Vor는 올바른 경우 동일한 구성이 적용될 결정 론적 CF 언어의 예를 찾았습니다. 이것은 보조 정리의 적용에서 문자열 의 앵커링에서 오류를 식별하는 것을 허용했습니다 . 명예 자체는 잘못한 것처럼 보이지 않습니다. 이것은 너무 단순한 구조입니다. 주석에서 자세한 내용을 참조하십시오.
언어 에 컨텍스트가 없습니다.
특성화 명심하는 것이 도움이된다 여기서 d는 해밍 거리이며 @sdcvvc에서 제안합니다. 생각해야 할 것은 각 반열에서 선택된 두 위치가 해당 기호가 다르다는 것입니다.
그럼 당신은 문자열 고려 그런 내가 < J 와 내가 + j는 심지어입니다. 두 1 사이의 어느 곳에서나 u 와 x 를 자르면 언어 L로 명확합니다 . 우리는 그 문자열을 1 사이의 첫 부분에 펌핑 하여 언어가 아닌 10 j 10 j 가되도록하고 싶습니다 .
우리는 먼저 사용하려고 오그 덴의 보조 정리 펌핑 보조 정리와 비슷하지만, 적용 , 문자열에 표시됩니다 이상의 식별 기호를 , p는 표시 기호 펌핑 길이 인 (그러나 또한 펌프 수 있기 때문에 보조 정리는 더 펌프 수 있습니다 표시되지 않은 기호). 펌핑 표시 길이 p 는 언어에만 의존합니다. 이 시도는 실패하지만 실패는 힌트입니다.
그런 다음 를 선택 하고 i 0의 첫 번째 시퀀스에 기호를 표시 합니다. 우리는 두 개의 1 중 어느 것도 펌프에 들어 가지 않을 것임을 알고 있습니다. 펌프하지 않고 한 번만 펌핑 할 수 있기 때문입니다 (지수 0). 1을 펌핑하면 언어에서 벗어날 수 있습니다.
그러나 우리는 두 번째 1의 양쪽에서 빠르거나 오른쪽에서 더 빠르게 펌핑 할 수 있으므로 두 번째 1은 문자열의 중간을 가로 지르지 않습니다. 또한 Ogden의 기본 정리 는 펌핑되는 것의 크기에 대한 상한을 고정하지 않으므로 펌핑을 구성하여 스트링의 중간을 정확히 오른쪽으로 1을 얻을 수는 없습니다.
우리는 이러한 어려움을 처리 할 수있는 수정 된 버전의 보조 정리 (여기서 Nash 's Lemma)를 사용합니다.
우리는 먼저 정의가 필요합니다 (문헌에 다른 이름이있을 수 있지만 어떤 도움을 환영하는지 모르겠습니다). 문자열 라고가 될 소거 문자열의 V 가로부터 얻어진다 IFF에 V 의 심볼 지워서 V . 우리는 u ≺ v 를 주목할 것 입니다.
내쉬의 보조 정리는 : 경우 컨텍스트가없는 언어는, 두 개의 숫자가 존재 P > 0 및 Q를 > 0 이되도록 모든 문자열에 대한 w 적어도 길이의 페이지 에서 L , 및 "표시"의 모든면 페이지 이상 또는 직책 w , 승 으로 작성 가능 w = u는 X , Y , Z의 절 문자열 U , X , Y , Z , V가 있는지 등을
증명 : Ogden의 명예 증명 과 유사하지만 문자열 및 x z에 해당하는 하위 트리 가 제거되어 동일한 비 터미널이 두 배인 경로를 포함하지 않습니다 (이 두 하위 트리의 루트는 제외). 이것은 필연적으로 생성 된 캐릭터의 크기가 제한 X , Z 및 Y를 상수에 의해 Q . 문자열이 X J 및 Z J를 들어, J ≥ 0 트리 unpruned의 버전에 대응하는, 주로 사용되는 J = 1 기본 정리가 적용될 때 회계를 단순화합니다.
가장 왼쪽에있는 기호를 0 으로 표시하여 위의 시도를 수정 하지만 두 개의 1 사이에 문자열의 왼쪽 부분을 펌핑하기 위해 2 개의 q 기호 0 이옵니다 . 총 만드는 것이 내가 = P + 2 Q 1의 사이에 0의 (실제로 I = P + Q가 충분한 것입니다 우단 1이 될 수 없다 Z 간단히 제거 할 수있는 것이다).
남은 것은 선택 하여 두 시퀀스가 동일하도록 정확한 숫자 0을 펌핑 할 수 있도록하는 것입니다. 그러나 지금까지 j 에 대한 유일한 제약 은 i 보다 커야 합니다. 또한 각 펌핑에서 펌핑되는 0의 수가 1과 q 사이임을 알고 있습니다. 따라서 h 는 첫 q 정수의 곱 이라고하자 . j = i + h를 선택합니다 .
따라서 펌핑 증분 무엇이든지 [ 1 , q ]에 있으므로 h를 나눕니다 . k를 몫으로 하자 . 정확히 k 번 펌핑 하면 언어가 아닌 10 j 10 j 문자열을 얻습니다 . 따라서 L은 컨텍스트가 없습니다.
.
나는
나무처럼 사랑스러운 끈을 보지 못할 것이라고 생각합니다 .
구문 분석이없는 경우
문자열이 잘못되었지만 멀리 있음