나는 비 맥락을위한 푸시 다운 오토 마톤 L = {a^(n) b^(n) c^(n) | n> = 1} 두 가지 접근법을 생각해 보자.L = {a^(n) b^(n) c^(n) | n> = 1에 대한 PushDown 자동화 장치 (PDA)
첫 번째 접근 방식은 : -
나는 모든에 대해 'A'문자열에 내가, 내가 2를 나타납니다 스택에와 문자열의 모든 'B'에 대한 'A'(3)를 밀어 것이라고 생각 스택에서 'a'는 문자열의 모든 'c'에 대해 스택에 여전히 1을가집니다. 첫 번째 방법으로
문제점 : - | 생성 언어이 L = {A^(p)^B (m) C^(n)를 같은 것을진다 p> = 1 는}
번째 접근 방법 m 결정할 수 있고, N을 정의 할 수있다 : -
우리가 알고 L = {A^(n)은 B (^ m) c^(m) d^(n) | n> = 0}은 문맥 - 자유 언어이고 L = {wxw | w∈ (a, b) *} 또한 context-free 언어이다.
그래서 나는 L = {a^(n) b^(m) b^(m) c^(n) | N> = 1, m = 바닥 ((N + 1)/2)}는 두 번째 방식과
문제 - 우리 바닥을 계산할 수 있다면는 (N + 1/2)을 몰라에 스택의 구성 요소를 방해하지 않으면 서 PDA.
첫 번째 방법에서 m과 n을 정의하는 방법과 PDA에서 floor ((n + 1)/2)를 찾는 방법을 결정할 때 도움을주십시오.
필요한 경우 JFLAP 파일을 사용할 수 있습니다.
첫 번째로 나는 다시 " 바보의 심부름 "그리고 두 번째는 PDA가 존재하지 않는다는 것을 알고 있으므로 질문에 대한 설명을 충분히 읽으십시오. – NeoR
아마도 JFlap 이미지를 추가하여 질문을 업데이트해야 할 수도 있습니다. – NeoR
@NeoR 실제 질문을 반영하도록 실제 제목을 변경하고 그 아래에 설명이나 동기 부여가있는 실제 질문을 질문 본문 가까이에 두는 것을 고려해보십시오. – Patrick87