L = {a^n b^n c^n},이 언어가 규칙적이지 않은 생산 규칙을 보지 않고 어떻게 직접 말할 수 있습니까? 나는 펌핑 보조 정리를 사용할 수 있지만, 어떤 사람들은 이것이 규칙적인 것이 아니라는 문법을보고 있다고 말하고 있습니다. 그게 어떻게 가능해?언어가 일반이 아닌 것을 직접 볼 수있는 방법
0
A
답변
1
알파벳에는 3 개의 문자가 있습니다. 그것들 모두는 같은 변수에 의존합니다 : n. 자, 두 개 밖에 없다면 {a^n b^n}을 상상해보세요.이 생산물로 쉽게 작업을 수행 할 수 있습니다 :
S -> ab | aSb
하지만 그 중 3 개가 있으며 동일한 변수에 모두 연결할 수있는 방법이 없습니다. 두 가지 구문 범주를 사용해야하지만, 그렇게하면 연결이 끊어 지므로 각 범주에서 다른 문자열을 생성 할 수 있습니다. 그 (것)들을 연결하는 유일한 방법은 단 하나의 구문 범주를 가지고 있으며 그것은 불가능합니다.
당신은 할 수 없습니다
S를 -> ABC | aSbc
사실, 최종 문자열에는 구문 범주를 사용할 수 없으므로 문자열이 아닙니다. 다시 변환해야합니다. 그리고 그 시점에서 무엇을 할 수 있습니까?
aabcbc
또는 당신이 할 수 있습니다 : 당신은 할 수
aaSbcbc
첫 번째 문자열이며, 언어의 일부가 아닙니다. 두 번째는 아직 문자열이 아닙니다. 그러나 그것으로부터 허용 된 문자열을 관리 할 수 없다는 것을 보는 것은 매우 쉽습니다.
관련 문제
- 1. 문자열에 일반이 아닌 IEnumerable
- 2. 카메라가 뷰에서 볼 수있는 것을 표시합니다.
- 3. 직접 URL로 볼 수있는 공유 폴더 보안
- 4. 일반이
- 5. 일반 객체의 일반이 아닌 멤버에 액세스
- 6. 컴퓨터에 설치된 언어가 변경되는 것을 방지하는 방법
- 7. 매개 변수가있는 일반이 아닌 기본 클래스로 생성자를 선언하는 방법
- 8. angularjs에서보기가 바뀌는 것을 볼 수있는 추적
- 9. .JSP 파일을 볼 수있는 방법
- 10. IIS 로그를 볼 수있는 웹 기반 도구가 아닌 것은 무엇입니까?
- 11. 일반 언어가 아닌 텍스트 프로토콜?
- 12. Unity 2.1 - 제네릭 형식을 일반이 아닌 인터페이스에서 해결 하시겠습니까?
- 13. 쿠키 폴더를 볼 수있는 방법
- 14. DDoS로 사이트를 볼 수있는 방법
- 15. 프로그램에서 동일한 프로그래밍 언어가 아닌 다른 프로그램을 사용하는 방법
- 16. 나는 프로그래밍 다음 나는 내가 가진 것을 볼 수있는
- 17. htaccess로 - 디렉토리보기를 차단하지만 파일은 여전히 직접 볼 수있는 수
- 18. Java JDK 6에서 일반이 아닌 레거시 코드를 허용합니까?
- 19. HTML 노드를 조작하는 것을 볼 수있는 방법이 있습니까?
- 20. 2 + 3 * 5가 17이 아닌 언어가 있습니까?
- 21. 언어가 무엇인지 아는 방법?
- 22. -textStorageDidProcessEditing에서 볼 수있는 문자 범위를 얻는 방법 :
- 23. javen과 함께 jboss 콘솔을 볼 수있는 방법
- 24. 내 지점에서 트렁크의 내역을 볼 수있는 방법
- 25. 스퀵이 스크립트 언어가 아닌 경우 트리 데이터 구조는 어디에 있습니까?
- 26. 변수 유형을 변경할 수있는 언어가 있습니까?
- 27. 스크립트 대신 사용할 수있는 저수준 언어가 있습니까?
- 28. 웹 페이지의 언어가 영어인지 아닌지 아는 방법?
- 29. CSS가 "볼 수있는 정도"
- 30. 형태가 0^n 인 언어가 n이 소수라는 것을 증명하는 것은 규칙 적이거나 컨텍스트가없는 언어가 아닙니다.
이 질문은 http://cs.stackexchange.com에 속해 있으며 [이 질문에 대한 답변] (http://cs.stackexchange.com/questions/1031/how-to-prove-that-a-language -is-not-regular)는 팁과 기술을 제공합니다. (기술 3이 적용됩니다 : Myhill-Nerode 정리를 사용하십시오.) –