같은 수의 0과 1을 포함하는 단어의 언어는 규칙적이지 않은 반면, 같은 수의 001과 100을 포함하는 단어의 언어는 규칙적입니다 ( 여기 참조 ).
두 단어가 주어 , 그것의 같은 수의 포함 된 단어의 언어 경우 decidable입니다 및 일반입니까?
같은 수의 0과 1을 포함하는 단어의 언어는 규칙적이지 않은 반면, 같은 수의 001과 100을 포함하는 단어의 언어는 규칙적입니다 ( 여기 참조 ).
두 단어가 주어 , 그것의 같은 수의 포함 된 단어의 언어 경우 decidable입니다 및 일반입니까?
답변:
두 개의 단어 , w 2 가 주어지면 , 동일한 수의 w 1 과 w 2를 포함하는 단어 의 언어 L 이 규칙적 인지 결정할 수 있습니까?
먼저 몇 가지 정의 :
보다 간결하게 만들 수 있으며, 증명에 사용하려는 경우 표기법을 개선 할 수 있습니다. 이것은 첫 번째 초안입니다.
두 단어 과 w 2가 주어지면 다음 과 같이 말합니다.
항상 발생하여 w 2 언급 w 1 ◃ w 2 , IFF
항상 cooccurs와 w 이 언급 승 1 ◃ ▹ , iff 각각은 항상 서로 발생합니다.
과 w 2 는 독립적으로 발생하며, 언급 된 w 1 ▹ noted , 어느 쪽도 항상 다른 쪽에서 발생하지 않으면,
항상 발생 m의 회 이상 또는보다 w 2 언급 승 1 ◃ m 승 2 문자열에 대해, IFF를 S 되도록 S = X w 2 (Y) 와 | X | , | Y | | ≥ | 승 1 | + | 승 2 | 있다 해요 다른 분해 S = X I w 1 명 예 I을 위한 되도록 I ≠ j는 의미 X I ≠ X J를 .
이러한 정의는 과 w 2 가 발생 하는 문자열의 끝에서 발생하는 것을 무시할 수 있도록 구성 됩니다. 문자열 끝의 경계 효과는 별도로 분석해야하지만 유한 수의 사례를 나타냅니다 (실제로 아래 첫 번째 분석에서 하나 또는 두 개의 경계 하위 사례를 잊어 버렸지 만 실제로 중요하지는 않습니다). 정의는 중복 발생과 호환됩니다.
고려해야 할 4 가지 주요 경우가 있습니다 ( 과 w 2 사이의 대칭 측정 무시 ).
줄 끝을 제외하고는 두 단어가 반드시 함께 있어야합니다. 이것은 1 i 0 과 01 i 또는 0 i 1 과 10 i 형식의 쌍에만 관련됩니다. 이것은유한 오토 마톤에의해 쉽게 인식되며, 인식될 문자열의 양쪽 끝에서만 발생하는 것을 확인하여 양 끝에서 또는 끝에서 고독이 발생하는지 확인합니다. w 1 = w 2 일 때 변성 사례도 있습니다. 언어 L은 분명히 규칙적입니다.
, w 2 ◃ w 1
2 단어 중 하나는 다른 단어 없이는 발생할 수 없지만 그 반대는 참이 아닙니다 (문자열의 끝 부분을 제외하고). 다음과 같은 경우에 발생합니다.
은 w 2 의 하위 문자열입니다. 그런 다음 유한 오토 마톤은 w 1 이 w 2 인스턴스 외부에서 발생하지 않는지확인할 수 있습니다.
및 w 2 = v 1 j 일부 단어 v ∈ { 0 , 1 } ∗ , v ≠ 01 i : 그런 다음 w 1 이 w 2 와 분리되어 발생하지 않는이전의 경우와 같이 유한 오토 마톤 검사. 그러나, 자동 기계는의 카운트 하나를 추가 예를 허용 w 1 수용을 허용하는 경우 w (2)문자열의 접미사입니다. 세 가지 다른 대칭 사례가 있습니다 (1-0 대칭 및 왼쪽-오른쪽 대칭).
One of the 2 words occurs twice in the other. That can be recognized by an a finite automation that checks that the smaller word never occurs in the string. The is also a slightly more complex variant that combines the two variations of case 2. In this case the automaton checks that the smaller string never occurs, except possibly as part of in the larger one coming as a suffix of the string (and 3 other cases by symetry).
두 단어는 서로 독립적으로 나타날 수 있습니다. 우리는 일반화 순차 머신 (GSM) 구축 G 출력 것을 를 그것의 발생을 인식하면 승 1 및
B 의 발생이 인식 될 때 w (2) , 그 밖의 모든 것을 잊는다. 언어 G ( L ) 가 규칙적인경우에만언어 L 이 규칙적입니다. 그러나 G ( L ) = { w ∈ { a , b } ∗ ∣ ∣ w ∣ a
명확하게 문맥이없고 규칙적이지 않습니다. 따라서 L 은 규칙적이지 않습니다.
실제로 우리는 L = G - 1 ( G ( L ) ) 을가 집니다. 일반 언어와 문맥이없는 언어는 gsm 매핑과 역 gsm 매핑으로 닫혀 있기 때문에 L 에는 문맥이없다는 것도 알고 있습니다.
공식적인 증거를 구성하는 한 가지 방법은 다음과 같습니다. 먼저 언어를 인식하는 PDA를 만드십시오. 실제로 1- 카운터 기계로 수행 할 수 있지만 유한 제어가 중복되는 것을 피하기 위해 두 개의 스택 기호를 갖는 것이 더 쉽습니다. 그런 다음 FA 여야하는 경우 카운터가 두 단어에만 의존하는 상수로 제한 될 수 있음을 보여줍니다. 다른 경우에는 카운터가 임의의 값에 도달 할 수 있음을 보여줍니다. 물론 PDA는 증거를 쉽게 휴대 할 수 있도록 구성해야합니다.
Representing the FA as a 2-stack-symbols PDA is probably the simplest representation for it. In the non-regular case, the finite control part of the PDA is the same as that of the GSM in the proof sketch above. Instead of outputting 's and 's like the GSM, the PDA counts the difference in number with the stack.