내 경험상, 문맥 인식 언어와 선형 경계 오토마타는 계산 이론 이론에서 자주 건너 뛰거나 삐걱 거리며, 유한하고 푸시 다운 오토마타는 많은 관심을받지 만 주목할만한 교과서에서 제외됩니다. LBA가 상대방보다 집중력이 떨어지는 이유는 분명할까요?
내 경험상, 문맥 인식 언어와 선형 경계 오토마타는 계산 이론 이론에서 자주 건너 뛰거나 삐걱 거리며, 유한하고 푸시 다운 오토마타는 많은 관심을받지 만 주목할만한 교과서에서 제외됩니다. LBA가 상대방보다 집중력이 떨어지는 이유는 분명할까요?
답변:
"적절한"수정으로 이러한 클래스를 복잡한 클래스로 바꿀 수 있습니다. 유한 오토마타, CFL은 LogCFL로, LBA는 PSPACE로
이제 우리가 왜 LBA보다 처음 두 가지에 더 관심이 있는지 분명히 알 수 있습니다. 처음 두 가지는 자연스럽게 가능한 계산의 일반적인 정의에 적합합니다. 그러나 PSPACE는 그렇지 않습니다.
CSG뿐만 아니라 CFG도 ... 요즘 유행이 아닌 것 같습니다. 나는이 일 오토마타 및 PDA는 일반적으로 계산 가능성 / 복잡성 이론 과정에서 생각 생각 (전혀 경우) 그리고 그들은 거기에 포함 하지 자신을 위해 그러나 튜링 기계를 소개.
문법은 아마도 컴파일러 이론에 흥미가 있지만 계산 / 복잡성이 입문 과정에 포함될 정도로 그리 많지는 않습니다. 다루고 싶은 주제가 너무 많지만 한 학기 과정이 너무 짧아 선택해야하며 시간 제한으로 인해 다루지 못하는 주제는 LBA보다 훨씬 흥미 롭습니다.
정규식과 CFG는 실제로 코드를 구문 분석하는 데 (즉, 프로그래밍 언어) 사용됩니다. 그 이유는 파싱을위한 매우 효율적인 알고리즘이 있기 때문입니다. 반면에 LBA는 해당 컨텍스트에서 실제로 사용하기에는 너무 강력합니다.
오토마타 이론의 역사적 기원 중 하나는 컴파일러 구성의 주제입니다. 위에서 언급 한 이유 때문에 정규 언어와 CFG 만 컴파일러를 구성하는 데 유용합니다 (속성 문법이 실제로 CFG가 아니며 CFG 구문 분석 알고리즘이 CFG의 전체 클래스를 실제로 구문 분석하지 않는다는 사실에도 불구하고). LBA는 평범한 언어와 "영어"사이의 중간 수준의 복잡성으로 Chomsky에 의해 발명되었을 수 있습니다. 아마도 그들에게 가르 칠 수있는 적절한 장소는 컴퓨터 과학보다는 언어 과정 일 것입니다!