이 질문은 교수님이 해결책을 입력하기에는 너무 게으른 표본이며, 나는 매우 나 빠지다. 도와 주셔서 미리 감사드립니다. 다음 언어를 문맥에 사용할 수 없음을 증명하십시오 :
는 다음과 같은 언어는 문맥 자유 입증 할 수{x is an element of {a,b,c}* | the number of a's in x is greater than the number of b's or the number of c's in x}
이 질문은 교수님이 해결책을 입력하기에는 너무 게으른 표본이며, 나는 매우 나 빠지다. 도와 주셔서 미리 감사드립니다. 다음 언어를 문맥에 사용할 수 없음을 증명하십시오 :
는 다음과 같은 언어는 문맥 자유 입증 할 수{x is an element of {a,b,c}* | the number of a's in x is greater than the number of b's or the number of c's in x}
{X는의 엘리먼트는 {A, B, C} * |
a
'(S)의 개수보다 더 크다 (: X에서의 수는 B 형의 수 또는이 두 방법을 해석 할 수있다 (X)에서의 C}의
수보다 크 b
수 년대 플러스 c
수 년대) a
의
c
수보다 크의) 또는 a
의 (수의은 b
수보다 크 년대 에스).1 : PDA에 대한 힌트 PDA는 다음과 같이 작동 할 수 있습니다. 스택이 비어 있고 입력에 a
이 표시되면 a
을 스택에 추가하십시오. 스택이 비어 있고 입력에 b
또는 c
이 표시되면 b
을 스택에 추가하십시오. 맨 위에있는 스택 기호가 b
이고 입력에 a
이 표시되면 스택에서 b
을 제거하십시오. 맨 위에있는 스택 기호가 b
이고 입력에 b
또는 c
이 표시되면 스택에 b
을 추가하십시오. 맨 위에있는 스택 기호가 a
이고 입력에 a
이 표시되면 a
을 스택에 추가하십시오. 맨 위에있는 스택 기호가 a
이고 입력에 b
또는 c
이 표시되면 스택에서 a
을 제거하십시오. 이제는 그 PDA가 a
의 수가 b
의 수와 c
의 수의 합과 같은 경우 (1) 빈 스택을 갖는 인수를 생성하십시오. (2) 더 a
을 보았을 때 스택 맨 위에 a
이 있고 b
또는 c
의 것 (결합 된 것)보다 큽니다. (b
) 또는 c
(조합 됨)보다 적은 수의 a
을 보았을 때 스택 상단에 b
이 있습니다. 2
힌트 : 첫째, S '의 모든 c
무시 S'의 a
년대, b
년대 및 b
보다 S c
'의 더 a
갖는 S'의 임의의 문자열을 수락하는 PDA를 구성합니다 (PDA 상술 1에 대한 힌트에서 쉽게 c
의를 무시하도록 수정할 수 있습니다. 그런 다음 a
의 문자열 인 b
의 문자열과 c
의 문자열을 받아들이는 PDA를 구성하고 b
(방금 만든 것과 비슷 함)을 무시하고 의 문자보다 의 문자가 더 많습니다. 마지막으로, 당신이 문맥이없는 것을 증명하려고 노력하고있는 언어가이 오토마타에 의해 받아 들여지는 언어들의 결합체라는 것을 증명하십시오; 간단한 논증이면 충분합니다.컨텍스트 프리 언어가 노동 조합에 의해 닫히기 때문에,이 표현은 컨텍스트 프리를 증명하기 위해 설정 한 언어가 실제로 컨텍스트 프리라는 주장을 입증합니다.
추가 설명을 요청하십시오. 또한 새 사이트에서 https://cs.stackexchange.com/과 같은 질문을 확인하십시오. 해당 사이트의 향후 질문에 대해 더 나은 답변을받을 수도 있습니다.
작업이 언어는 문맥 자유 문법에 의해 생성 될 수 있음을 보여주는 것입니다.
힌트 :
가A -> aabAc | B
B -> B|epsilon
힌트 : DFA는 계산할 수 없습니다. – cHao
Math.SE에서 더 나은 응답을 얻으실 수 있습니다. –
@KendallFrey [CSTheory] (http://cstheory.stackexchange.com/)를 제안하겠습니다. –