Chomsky 계층은 구식입니까?


44

Chomsky (–Schützenberger) 계층은 이론적 컴퓨터 과학 교과서에 사용되지만 전체 복잡도 동물원 다이어그램 과 비교했을 때 공식 언어 (REG, CFL, CSL, RE)의 아주 작은 부분 만 포함합니다 . 계층 구조가 더 이상 현재 연구에서 어떤 역할을합니까? cstheory.stackexchange에서 Chomsky에 대한 언급은 거의 없었으며 Complexity Zoo 에서는 Chomsky와 Schützenberger라는 이름이 전혀 언급되지 않았습니다.

현재의 연구는 다른 서술 수단이 아닌 공식적인 문법에 더 집중되어 있습니까? 나는 표현력이 다른 공식 언어를 설명하는 실용적인 방법을 찾고 있었고, 고전적인 촘스키 언어 사이에있는 문맥 인식 언어 (GCSL)와 눈에 띄는 푸시 다운 언어 (VPL)가 생겨났다. Chomsky 계층을 포함하도록 업데이트해서는 안됩니까? 아니면 전체 복잡한 클래스 세트에서 특정 계층을 선택하지 않아도됩니까? 내가 이해하는 한 Chomsky 계층 구조의 틈에 맞는 언어 만 선택하려고했습니다.

REG (= Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL ⊊ CSL (= Chomsky 1) ⊊ R ⊊ RE

자연 언어 처리와 실질적으로 관련이있는 것처럼 보이지만 (약간의 맥락에 민감한 언어)와 "색인 언어"(CFL과 CSL 사이)에 맞는 곳은 여전히 ​​얻지 못합니다 (그러나 실제 관련성이있는 것은 덜 흥미 롭습니다) 이론적 연구에서 ;-). 또한 유명한 클래스 P 및 NP와의 관계를 표시하기 위해 GCSL ⊊ P ⊂ NP ⊂ PSPACE 및 CSL ⊊ PSPACE ⊊ R을 언급 할 수 있습니다.

GCSL과 VPL에서 찾았습니다.

VPL, DCLF, GCSL 및 색인 문법을 다루는 공식 문법에 대한 최신 교과서를 알고 있으면 실제 응용 프로그램에 대한 포인터로 선호됩니다.


7
사소한 점 : 저는 Complexity Zoo에 Chomsky와 Schützenberger라는 이름이 없다는 것이“Chomsky 계층 구조가 오래되었다”는 증거로 보지 않습니다. Chomsky 계층 구조는 공식 언어 이론의 개념입니다. Complexity Zoo는 복잡한 이론에 관한 웹 사이트이지만 컨텍스트없는 언어와 같은 공식 언어 이론에 대한 개념을 포함하고 있습니다. 그들은 관련되어 있지만 별개의 분야입니다. 공식 언어 이론의 교과서에 언급되지 않으면 구식이 될 것입니다. 그러나 그것이 사실인지 모르겠습니다.
Tsuyoshi Ito

7
좋은 지적입니다. 솔직히 저는 이론적 인 근거가 좋은 "공식 언어 동물원"을보고 싶습니다 (연구 논문 참조!). 예를 들어 Backus-Naur-Form의 수십 가지 구문 변형과 정규 표현식의 변형 (일부는 정규적이지 않음)이 있습니다. 간단한 Chomsky 계층 구조 외에도 공식 언어로 된 현재의 연구 상태에 대한 명확한 그림을 얻는 것이 어렵다는 것을 알았습니다.
Jakob

일반 언어보다 엄격하게 별표가없는 언어를 추가 할 수도 있습니다. 그들은 규칙적이지만 Kleene 스타가 없습니다. 잘 알려져 있습니다. 잘 행동했다.
렌 로마노

몇 가지 답변에서 알 수 있듯이 공식 문법 인 la Chomsky는 공식 ​​언어를 설명하는 역사적인 방법으로 한계에 도달했습니다. 나는 여전히 복잡도 이론에 초점을 맞추지 않지만 공식적인 문법에 대한 좋은 개요를 찾고 있지만 모든 추가 참조에 감사드립니다! 나는 지금까지 명성이 가장 낮기 때문에 mgalle의 대답을 받아 들일 것입니다.
야콥

2
컴퓨터 과학, 컴퓨터 언어 설계, 소프트웨어 설계 및 프로그래밍, 문맥없는 문법 및 언어, 정규식 및 언어는 기본적인 작업 장비이며 그 어느 때보다도 중요합니다. 그러나 임의의 문법, LBA 및 상황에 맞는 언어의 경우 응용 프로그램이 거의 없거나 전혀 없습니다.
reinierpost

답변:


19

내가 자연 언어 처리 커뮤니티에서 본 것으로부터 공식 문법 (a La Chomsky)은 더 이상 사용되지 않습니다. 그들은 또한 Chomsky Hierarchy가 언어를 모델링하기에는 구식이라고 생각합니다.

대체 된 규칙은 재 작성 규칙 (Lars 알고리즘), 종속성 모델 (Dan Klein), 트리 대체 문법 (DOP 모델), 이진 기능 문법 (Alex Clark)과 같은 것들입니다.


내 대답을 다시 읽으면 너무 원했던 것보다 더 부정적입니다. RL과 CFL은 결코 사실적인 자연어 모델이 아니어야했으며, 대부분의 "새로운"모델은 실제로 영감을 받았습니다.
mgalle

RL은 자연 언어 모델이 아니라 일부 시스템 동작 모델로 설계되었다고 생각했습니다. [클린의 원본은 공식 언어 용어도 사용하지 않습니다.]
DG_

26

한마디로 그렇습니다.

좀 더 구체적으로 설명하자면 : Chomsky는 언어, 문법 및 오토마타와 관련된 계층 구조를 공식화 한 최초의 사람 중 하나입니다. 이 통찰력은 여전히 ​​매우 관련이 있으며 오토마타 이론에 대한 모든 소개 과정에서 진행됩니다. 그러나 Chomsky의 특정 계층 구조가 나타 났으며 계층 구조 요소의 이름은 더 이상 중요하지 않습니다. 우리는 그 후 Chomsky의 계층 구조 수준, 상위 또는 하위 수준으로 분류되는 수많은 형식주의를 발명했습니다. 그리고 Chomsky가 사용한 이름은 특히 흥미롭지 않습니다. 즉, 복잡한 복잡성이나 그 밖의 어떤 것에 대한 흥미로운 척도에 기반하지 않고 단지 숫자 일뿐입니다. 문맥에 민감한 언어가 유형 1.5 또는 유형 1.7 또는 유형 1.3이어야합니까? 누가 신경 쓰겠 어? "가벼운 문맥 인식"은 훨씬 유익한 이름입니다.

Complexity Zoo는 모든 종류의 조건부 등가로 가득 차 있기 때문에 약간 다릅니다. automata 이론에 대한보다 현대적인 계층은 선형 적이 지 않지만 (예 : CFG와 PEG 비교) 여전히 잘 알려진 토폴로지를 갖습니다. 현대 오토마타 이론에 대한 관점을 얻으려면 파서 콤비 네이터 라이브러리에 대한 작업과 통일 및 유형 이론에 대한 내용을 살펴보십시오 (둘 다 멀리 떨어져 있지만).


4
우리는 더 나은 이름을 찾았습니다. 그렇다고 결과가 오래되었다는 것을 의미하지는 않습니다.
Raphael

4
@Raphael : 구식은 이름 때문이 아니라 Chomsky가 도입 한 특정 계층 구조가 더 이상 사용되지 않기 때문입니다. Chomsky 계층에 의해 기술 된 포함은 (a) 여전히 정확하고, (b) 현대의 모든 계층에 포함되어 있습니다. 하지만 촘스키 계층 구조 등은 , 잘 알려진 높은 포인트의 일부를 공격하는 일 것을 몹시 관련 ... 말고는 없습니다. 사람들은 더 이상 Chomsky 계층 구조에 대해 연구하지 않고 다른 곳에서 연구합니다. 이름 / 구조에 대한 이유가있는 다항식 타워와 다릅니다.
렌 로마노

26

TCS의 어떤 것이 구식 이라면 , 1956 년에 알려 지거나 흥미로운 것으로 여겨지는 복잡한 클래스의 작은 부분 집합이 포함 된 계층 구조입니다.

Chomsky Hierarchy는 안심하고 휴식을 취하십시오.


12
Juris Hartmanis가 한 번 소리 쳤다 : "Chomsky 클래스는 어떻습니까? Chomsky 클래스는 가증합니다!"
라이언 윌리엄스

1
Ryan : 또한 Juris가 CH를 "증상"이라고 부르는 것을 기억합니다! 내가 답을 썼을 때, 그가 그의 발언을 공개하고 싶은지 토론하고 있었다. 그러나 당신은 내가하는 것보다 그를 더 잘 안다 ... :-D
Scott Aaronson

이 의견은 또한 일부 이론적 컴퓨터 과학 및 수학자의 언어학 및 기타 "약한"과학에 대한 세속적 인 견해에 의해 조금이라도 동기 부여 될 수있다 : xkcd.com/435 . 그러나 오늘날 Chomsky 계층은 현대의 복잡성 이론에 대한 견해를 모호하게합니다. 특히 실제 응용을위한 공식 언어와 문법에 더 관심이있는 경우 저학년 이론 커리큘럼에서 시작하기 위해 업데이트 된 대체품을 사용하는 것이 좋습니다.
Jakob

1
Chomsky Hierarchy는 "복잡성 이론"이라는 용어를 사용할 때 일반적으로 암시되는 계산의 복잡성이 아니라 설명의 복잡성에 따라 정렬 된 언어 클래스를 나열합니다. 그들은 분명히 관련이 있습니다. 어쨌든, 나는 여전히 하나의 거친 계층이 어떻게 Chomsky Hierarchy에서 온 것이 아니라 이해하기 어려운 더 세련된 클래스를 가릴 수 있는지 알지 못합니다 . 그들은 입구 문입니다!
Raphael

20

"현대"이름 (예 : REG, LIN, CFL, CSL, RE, DFA / NFA, PDA, LBA, TM)을 사용하는 Chomsky의 계층을 고려하면 다음과 같이 말합니다. 아니요. 구식이 아닙니다!

이유 0 : 정의와 결과가 새로운 지식과 모순되지 않는다는 점에서 여전히 습니다.

이유 1 :이 클래스 / 계산 모델은 여전히 ​​간단하고 잘 연구 되었기 때문에 가장 먼저 가르치는 것입니다. DFA / DPDA를 먼저 다루지 않고 LR 오토 마톤을 저학년에게 가르치십시오.

이유 2 : 클래스는 여전히 새로운 발명에 대한 첫 번째 / 주요 벤치 마크입니다 (물론 CFG 이상, CSG 미만인 다중 CFG에 대한 논문을 생략했습니다). 그들은 먼저 가르쳐 때문에, 또한 그들이 있기 때문 부분적으로 할 수 있는 간단하고 잘 공부했습니다.

반 추론 3 : 새로운 클래스 / 모델이 발견 되었기 때문에 결과가 오래 되지 않습니다 . 그들은 연구 프론티어에 적극적으로 사용되지 않더라도 그 분야의 기초로서 가치를 유지합니다.


10
"수학이되지 않는 오래된 이되고, 고전 ." (나는이 따옴표가 불행하게도에 기인 사용자가 누구인지 알 수 없습니다.)
하인리히 Apfelmus에게

"DPDA"대신 "NPDA"를 의미합니까? 문맥이없는 일부 언어는 비 결정적 푸시 다운 오토마타 만 인식합니다.
Zsbán Ambrus

@ ZsbánAmbrus 아주 맞습니다; 나는 단지 "PDA"를 써야했다. 감사!
Raphael

마지막 이유는 전혀 설득력이 없습니다 (반드시 이유 인 것 같습니다). 많은 결과가 주제에 대한 다른 접근 방식에 의해 포섭되거나 때로는 사소 해지기 때문에 구식이됩니다. 나는 여기 에이 사건을 말하지 않고 언급 된 이유가별로 말하지 않는다는 것입니다. 또한 문법적인 nitpick : "outdate"는 동사가 아닙니다.
Sasho Nikolov

10

나는 그것이 계산 모델에 달려 있다고 생각합니다. 유한 / 푸시 다운 등을 고려한다면. 오토마타를 계산 모델로 사용하면 Chomsky 계층이 중요해집니다 (예 : Sipser 's book 참조). 반면에, 그것은 튜링 계산 모델에서 거의 역할을하지 않습니다.

다음 그림이 도움이 될 수 있습니다.

편집 : 공식 언어는 컴퓨터 언어 (예 : Java) 및 컴파일러를 설계하고 자연어 처리 (NLP)에서 중요한 역할을합니다.


죄송합니다. András, 귀하의 의견을 이해할 수 없습니다. OP는 Chomsky 계층이 구식인지 묻습니다. 그의 추론은 그가 복잡한 동물원 등에서 그것을 보지 못했다는 것이었다. 나는 그가 오토마타를 컴퓨팅 모델로 생각한다면, Chomsky 계층은 관련성이 있다고 대답했다. 또한이 계층의 클래스는 컴파일러 디자인 및 NLP 알고리즘에 중요하다고 언급했습니다. IMHO, 그것은 질문과 완전히 관련이 있습니다.
MS Dousti

2
Chomsky 계층 구조가 실제로 구식이 아닌 것은 이론적 컴퓨터 과학, 공식 언어, 컴파일러 디자인 등의 대부분의 소개에서 찾을 수 있습니다. REG와 CFL 사이와 CFL 사이의 언어도 중요하다고 생각합니다. Chomsky 계층 구조가 현재 연구에서 중요하지 않은 "오래된"냄새가 나기 때문에 이러한 언어로 계층 구조를 확장하는 것은 나쁜 생각입니까?
Jakob

새로운 확장에 맞는 응용 프로그램을 찾아야하지만 나쁜 생각은 아닙니다.
MS Dousti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.