Là hệ thống phân cấp Chomsky đã lỗi thời?


45

Hệ thống phân cấp Chomsky (mậtSchützenberger) được sử dụng trong sách giáo khoa khoa học máy tính lý thuyết, nhưng rõ ràng nó chỉ bao gồm một phần rất nhỏ các ngôn ngữ chính thức (REG, CFL, CSL, RE) so với Sơ đồ sở thú phức tạp đầy đủ . Hệ thống phân cấp có đóng vai trò nào trong nghiên cứu hiện tại nữa không? Tôi chỉ tìm thấy một ít tài liệu tham khảo về Chomsky ở đây tại cstheory.stackexchange, và trong Zooity Zoo , tên Chomsky và Schützenberger hoàn toàn không được đề cập.

Là nghiên cứu hiện tại tập trung hơn vào các phương tiện mô tả khác nhưng ngữ pháp chính thức? Tôi đang tìm kiếm các phương pháp thực tế để mô tả các ngôn ngữ chính thức với tính biểu cảm khác nhau, và tình cờ phát triển ngôn ngữ nhạy cảm ngữ cảnh (GCSL) và ngôn ngữ đẩy xuống rõ ràng (VPL), cả hai đều nằm giữa các ngôn ngữ Chomsky cổ điển. Không nên cập nhật hệ thống phân cấp Chomsky để bao gồm chúng? Hoặc không có việc sử dụng lựa chọn một hệ thống phân cấp cụ thể từ tập hợp đầy đủ các lớp phức tạp? Tôi đã cố gắng chỉ chọn những ngôn ngữ có thể phù hợp với những khoảng trống của hệ thống phân cấp Chomsky, theo như tôi hiểu:

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

Tôi vẫn không hiểu được "ngôn ngữ nhạy cảm ngữ cảnh" và "ngôn ngữ được lập chỉ mục" phù hợp (ở đâu đó giữa CFL và CSL) mặc dù dường như có liên quan thực tế để xử lý ngôn ngữ tự nhiên (nhưng có lẽ mọi thứ liên quan thực tế đều ít thú vị hơn trong nghiên cứu lý thuyết ;-). Ngoài ra, bạn có thể đề cập đến GCSL ⊊ P NP ⊂ PSPACE và CSL PSPACE R để hiển thị mối quan hệ với các lớp P và NP nổi tiếng.

Tôi đã tìm thấy trên GCSL và VPL:

  • Robert McNaughton: Chèn vào hệ thống phân cấp Chomsky?. Trong: Đồ trang sức là mãi mãi, những đóng góp về khoa học máy tính lý thuyết để vinh danh Arto Salomaa. S. 204-212, 1999
  • http://en.wikipedia.org/wiki/Nested_word#References (VPL)

Tôi cũng rất vui nếu bạn biết thêm bất kỳ sách giáo khoa nào gần đây về các ngữ pháp chính thức cũng liên quan đến VPL, DCLF, GCSL và các ngữ pháp được lập chỉ mục, thích hợp hơn với các con trỏ cho các ứng dụng thực tế.


7
Một điểm nhỏ: Tôi không xem sự vắng mặt của cái tên Chomsky và Schützenberger trong Sở thú phức tạp là một bằng chứng cho thấy hệ thống phân cấp của Chomsky đã lỗi thời. Hệ thống phân cấp Chomsky là một khái niệm trong lý thuyết ngôn ngữ chính thức. Sở thú phức tạp là một trang web chủ yếu về lý thuyết phức tạp, mặc dù nó chứa một số khái niệm trong lý thuyết ngôn ngữ chính thức như ngôn ngữ không ngữ cảnh. Họ có liên quan nhưng lĩnh vực riêng biệt. Nó sẽ lỗi thời nếu nó không được đề cập trong sách giáo khoa trong lý thuyết ngôn ngữ chính thức, nhưng tôi không biết liệu đó có phải là trường hợp không.
Tsuyoshi Ito

7
Điểm tốt, Tsuyoshi. Thành thật mà nói, tôi muốn thấy một "Sở thú ngôn ngữ chính thức" với nền tảng lý thuyết tốt (tham khảo các tài liệu nghiên cứu!) Nhưng cũng là tài nguyên thực tế. Chẳng hạn, có hàng tá biến thể cú pháp của Backus-Naur-Form và các biến thể của Biểu thức chính quy (một số trong số chúng thậm chí không thường xuyên). Bên cạnh hệ thống phân cấp Chomsky đơn giản, tôi thấy khó có được một bức tranh rõ ràng về tình trạng nghiên cứu hiện tại bằng các ngôn ngữ chính thức.
Jakob

Bạn cũng có thể thêm các ngôn ngữ không có sao bên dưới các ngôn ngữ thông thường. Họ giống như thường xuyên, nhưng không có ngôi sao Kleene. Nổi tiếng Cư xử tốt.
wren romano

Như nhiều câu trả lời đã cho tôi thấy, ngữ pháp chính thức à la Chomsky là một phương pháp lịch sử để mô tả các ngôn ngữ chính thức, đã đạt đến giới hạn của nó. Tôi vẫn đang tìm kiếm một tổng quan tốt về ngữ pháp chính thức, không tập trung vào lý thuyết phức tạp, nhưng cảm ơn vì tất cả các tài liệu tham khảo thêm! Tôi sẽ chấp nhận câu trả lời của mgalle vì cho đến nay anh ta ít có tiếng tăm nhất.
Jakob

2
Trong khoa học máy tính, thiết kế ngôn ngữ máy tính, thiết kế và lập trình phần mềm, ngữ pháp và ngôn ngữ không ngữ cảnh và các biểu thức và ngôn ngữ thông thường là thiết bị làm việc cơ bản và quan trọng hơn bao giờ hết. Nhưng đối với các ngữ pháp tùy ý, LBA và các ngôn ngữ nhạy cảm theo ngữ cảnh, mặt khác, tôi đã thấy một vài ứng dụng hoặc không có ứng dụng nào cả.
Revierpost

Câu trả lời:


20

Từ những gì tôi đã thấy trong cộng đồng Xử lý ngôn ngữ tự nhiên, ngữ pháp chính thức à la Chomsky không còn được sử dụng nhiều nữa. Họ (cũng) nghĩ rằng Hệ thống phân cấp Chomsky đã lỗi thời so với ngôn ngữ mô hình.

Vị trí của nó là những thứ như quy tắc viết lại (thuật toán Lars), mô hình phụ thuộc (Dan Klein), Ngữ pháp thay thế cây (mô hình DOP), Ngữ pháp nhị phân (Alex Clark).


Đọc lại câu trả lời của tôi, nó nghe có vẻ tiêu cực hơn tôi muốn nó quá âm thanh. RL và CFL không bao giờ được coi là mô hình hiện thực của ngôn ngữ tự nhiên và hầu hết các mô hình "mới" thực sự được truyền cảm hứng trong đó.
mgalle

Tôi nghĩ rằng RL thậm chí không được thiết kế như một mô hình ngôn ngữ tự nhiên, mà là một mô hình của một số hành vi hệ thống. [Văn bản gốc của Kleene cũng không sử dụng thuật ngữ ngôn ngữ chính thức.]
DG_

26

Tóm lại: có.

Đặc biệt hơn: Chomsky là một trong những người đầu tiên chính thức hóa một hệ thống phân cấp liên quan đến ngôn ngữ, ngữ pháp và automata. Cái nhìn sâu sắc này vẫn rất phù hợp và được dạy trong tất cả các khóa học giới thiệu về lý thuyết automata. Tuy nhiên, hệ thống phân cấp cụ thể Chomsky đã đưa ra và tên cho các yếu tố của hệ thống phân cấp không thực sự quan trọng nữa. Kể từ đó, chúng tôi đã phát minh ra nhiều hình thức nằm giữa các cấp bậc của Chomsky, trên nó hoặc dưới nó. Và những cái tên mà Chomsky sử dụng không đặc biệt thú vị, tức là chúng không dựa trên một thước đo thú vị về độ phức tạp hay bất cứ thứ gì, chúng chỉ là những con số. Các ngôn ngữ nhạy cảm ngữ cảnh nhẹ nên là Type-1.5 hay Type-1.7 hay Type-1.3? Ai quan tâm. "Nhạy cảm bối cảnh nhẹ" là một tên nhiều thông tin hơn.

Sở thú phức tạp có một chút khác biệt bởi vì nó có đầy đủ các loại tương đương có điều kiện và tương tự. Một hệ thống phân cấp hiện đại hơn cho lý thuyết automata sẽ không phải là tuyến tính (ví dụ, so sánh CFG với PEG) nhưng nó vẫn sẽ có một cấu trúc liên kết nổi tiếng. Để có được một viễn cảnh về lý thuyết automata hiện đại, bạn nên xem xét công việc trên các thư viện kết hợp bộ phân tích cú pháp và một số nội dung về lý thuyết hợp nhất và loại (mặc dù cả hai đều phân nhánh xa).


4
Chúng tôi tìm thấy tên tốt hơn, vâng. Điều đó không có nghĩa là kết quả đã lỗi thời.
Raphael

4
@Raphael: Sự lỗi thời không phải vì tên, vì nó được phân cấp cụ thể do Chomsky giới thiệu không còn được sử dụng nữa. Các vùi được mô tả bởi hệ thống phân cấp Chomsky là (a) vẫn đúng và (b) trong số các vùi trong bất kỳ hệ thống phân cấp hiện đại nào; nhưng hệ thống phân cấp Chomsky như vậy , không liên quan lắm, ngoại trừ việc nó xảy ra để đạt được một số điểm cao nổi tiếng. Mọi người không nghiên cứu về hệ thống phân cấp Chomsky nữa, họ thực hiện nghiên cứu ở nơi khác. Đây không giống như tháp đa thức có lý do cho tên / cấu trúc của nó.
wren romano

26

Nếu bất cứ điều gì trong TCS đã lỗi thời, thì đó là hệ thống phân cấp bao gồm các tập hợp nhỏ của các lớp phức tạp đã được biết đến / được coi là thú vị vào năm 1956.

Nghỉ ngơi trong hòa bình, Chomsky HVELy, và có thể bạn ám ảnh chương trình giảng dạy lý thuyết chưa tốt nghiệp.


12
Như Juris Hartmanis đã từng hét lên: "Thế còn các lớp Chomsky ?? Các lớp Chomsky là một điều kinh tởm !!"
Ryan Williams

1
Ryan: Tôi cũng nhớ Juris gọi CH là "gớm ghiếc"! Khi tôi viết câu trả lời của mình, tôi đã tranh luận liệu anh ấy có muốn nhận xét của mình được công khai hay không. Nhưng bạn biết anh ấy tốt hơn tôi ... :-D
Scott Aaronson

Nhận xét này cũng có thể được thúc đẩy ít nhất một chút bởi quan điểm sai lầm của một số nhà khoa học máy tính và nhà toán học lý thuyết đối với ngôn ngữ học và các ngành khoa học "yếu" khác: xkcd.com/435 . Nhưng chắc chắn rằng hệ thống phân cấp Chomsky ngày nay che khuất quan điểm đối với lý thuyết phức tạp hiện đại, vì vậy điều này trả lời câu hỏi của tôi. Tuy nhiên, sẽ rất tốt nếu có một số thay thế được cập nhật để bắt đầu với chương trình lý thuyết đại học, đặc biệt nếu bạn quan tâm hơn đến ngôn ngữ chính thức và ngữ pháp cho các ứng dụng thực tế.
Jakob

1
Hệ thống phân cấp Chomsky liệt kê các lớp ngôn ngữ được sắp xếp theo độ phức tạp của mô tả, không phức tạp về tính toán thường được ngụ ý khi bạn sử dụng thuật ngữ "lý thuyết phức tạp". Họ có liên quan, rõ ràng. Dù sao, tôi vẫn không thấy làm thế nào một hierachy (thô) có thể che khuất các lớp tinh chế hơn mà khó có thể hiểu được nếu không đến từ Chomsky HVELy. Họ là cửa ra vào!
Raphael

20

Nếu bạn xem xét Phân cấp của Chomsky với các tên "hiện đại" (ví dụ: REG, LIN, CFL, CSL, RE resp. DFA / NFA, PDA, LBA, TM), tôi nói: Không, nó không bị lỗi thời!

Lý do 0 : Vẫn đúng theo nghĩa là các định nghĩa và kết quả của nó không mâu thuẫn với kiến ​​thức mới hơn.

Lý do 1 : Những lớp học / mô hình tính toán này vẫn là những người đầu tiên bạn dạy - bởi vì chúng đơn giản và được nghiên cứu kỹ lưỡng. Hãy thử dạy tự động LR cho một sinh viên chưa tốt nghiệp mà không bao gồm DFA / DPDA trước.

Lý do 2 : Các lớp vẫn là điểm chuẩn đầu tiên / chính cho các phát minh mới (tôi đã đọc lướt qua một bài báo về nhiều CFG, tất nhiên, cho biết: nhiều hơn CFG, ít hơn CSG). Đó có thể là một phần vì họ được dạy đầu tiên, mà còn vì họ đơn giản và cũng được nghiên cứu.

Anti-Lý do 3 : Kết quả không quá hạn sử dụng chỉ vì lớp mới / mô hình đã được tìm thấy. Họ giữ giá trị của họ như là những điều cơ bản của lĩnh vực mặc dù chúng không được sử dụng tích cực trên biên giới nghiên cứu.


10
"Toán học không trở nên , nó trở thành cổ điển ." (Tôi không biết trích dẫn này được gán cho ai, thật không may.)
Heinrich Apfelmus

Ý bạn là "NPDA" thay vì "DPDA"? Một số ngôn ngữ không ngữ cảnh chỉ được công nhận bởi automata đẩy xuống không điều kiện.
Zsbán Ambrus

@ ZsbánAmbrus Khá đúng; Tôi chỉ nên viết "PDA". Cảm ơn!
Raphael

Lý do cuối cùng không thuyết phục chút nào (tôi đoán đó là lý do tại sao đó là lý do chống đối?). Rất nhiều kết quả bị lỗi thời bởi vì chúng bị lún hoặc đôi khi thậm chí tầm thường hóa bởi một cách tiếp cận khác nhau đối với chủ đề này. Tôi không nói trường hợp này ở đây, chỉ là lý do như đã nêu không nói nhiều. Ngoài ra, một từ khóa ngữ pháp: "lỗi thời" không phải là một động từ.
Sasho Nikolov

11

Tôi nghĩ rằng nó phụ thuộc vào mô hình tính toán. Nếu bạn xem xét hữu hạn / đẩy xuống / vv. automata như một mô hình tính toán, sau đó hệ thống phân cấp Chomsky trở nên quan trọng (xem ví dụ về cuốn sách của Sipser). Mặt khác, nó đóng một vai trò nhỏ trong mô hình tính toán Turing.

Hình minh họa sau đây có thể hữu ích:

Chỉnh sửa: Ngôn ngữ chính thức đóng vai trò quan trọng trong việc thiết kế ngôn ngữ máy tính (như Java) và trình biên dịch, cũng như trong xử lý ngôn ngữ tự nhiên (NLP).


Xin lỗi András, tôi không thể hiểu bình luận của bạn. OP hỏi liệu hệ thống phân cấp Chomsky đã lỗi thời. Lý do của anh ta là anh ta đã không nhìn thấy nó trong sở thú phức tạp, v.v. Tôi đã trả lời rằng nếu anh ta coi automata là một mô hình điện toán, hệ thống phân cấp Chomsky trở nên có liên quan. Ngoài ra, tôi đã đề cập rằng các lớp của hệ thống phân cấp này rất quan trọng đối với thiết kế trình biên dịch và thuật toán NLP. IMHO, điều đó hoàn toàn liên quan đến câu hỏi.
MS Dousti

2
Chắc chắn hệ thống phân cấp Chomsky không thực sự lỗi thời, nó được tìm thấy trong hầu hết các giới thiệu về khoa học máy tính lý thuyết, ngôn ngữ chính thức, thiết kế trình biên dịch, vv Nhưng bên cạnh đó, dường như không có gì mới để nói. Tôi nghĩ các ngôn ngữ cảm ơn giữa REG và CFL và giữa CFL cũng có thể có tầm quan trọng. Có phải chỉ là một ý tưởng tồi để mở rộng hệ thống phân cấp với các ngôn ngữ này bởi vì hệ thống phân cấp Chomsky có mùi "lỗi thời" không quan trọng đối với nghiên cứu hiện tại?
Jakob

Tôi không nghĩ rằng đó là một ý tưởng tồi, mặc dù người ta phải tìm một số ứng dụng mà tiện ích mở rộng mới phù hợp.
MS Dousti
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.