Tại sao automata giới hạn tuyến tính không phổ biến như các automata khác?


9

Theo kinh nghiệm của tôi, các ngôn ngữ nhạy cảm theo ngữ cảnh và automata giới hạn tuyến tính thường bị bỏ qua hoặc vượt qua trong các khóa học lý thuyết tính toán, và thậm chí bị loại khỏi một số sách giáo khoa đáng chú ý, mặc dù automata hữu hạn và đẩy xuống nhận được rất nhiều sự chú ý. Chắc chắn phải có một lý do chính đáng cho lý do tại sao các LBA được tập trung ít hơn so với các đối tác của họ?



Bạn có thể giải thích làm thế nào các câu hỏi liên quan liên quan, Kaveh? (Bởi vì tôi không nghĩ giai điệu của nó hữu ích ở đây, nhưng câu trả lời riêng lẻ có thể)
Raphael

2
@Raphael: Các câu trả lời cho câu hỏi Kaveh liên kết để giải thích tại sao các ngôn ngữ nhạy cảm theo ngữ cảnh không được coi là quan trọng như trước đây: tóm lại, có những mô hình khác, thú vị hơn để xem xét. (còn nữa)
Tsuyoshi Ito

2
(tiếp theo) Lý do tương tự áp dụng cho automata giới hạn tuyến tính. Thật buồn cười là tôi chưa bao giờ nghe đến cái tên đó. Đối với tôi chúng chỉ là các máy Turing xác định / không xác định không gian O (n) và tôi không thể hiểu tại sao chúng ta nên chọn các máy không gian O (n) (thay vì không gian đa thức hoặc không gian đa thức O (log n) hoặc bất cứ thứ gì), mặc dù phải có một lý do lịch sử Ngoài ra, cả DSPACE (O (n)) và NSPACE (O (n)) đều không bị đóng dưới các lệnh gọi chương trình con .
Tsuyoshi Ito

1
Tsuyoshi, cách giải thích của tôi cho câu hỏi là FA, PDA và phần còn lại của Phân cấp Chomsky (bởi lý do của bạn / câu trả lời không kém phần nhàm chán) được dạy, nhưng LBA thì không.
Raphael

Câu trả lời:


13

NC1

Bây giờ nên khá rõ ràng lý do tại sao chúng ta quan tâm đến hai đầu tiên nhiều hơn LBA. Hai đầu tiên tự nhiên phù hợp với định nghĩa thông thường về tính toán khả thi. Nhưng PSPACE thì không.


1
biến một LBA thành PSPACE nghe gần giống như không gian tuyến tính là tất cả những gì bạn cần để nắm bắt PSPACE, điều này rõ ràng không thể đúng. Vì vậy, lỗi của tôi trong suy nghĩ là gì?
Suresh Venkat

2
@Suresh: Có các kết nối sau. Loại vấn đề có thể giảm (NC1-) đối với các ngôn ngữ thông thường là NC1, loại vấn đề (không gian log-) có thể giảm đối với CFL là LogCFL và loại vấn đề (NC1- hoặc log-space-) có thể giảm theo LBA là PSPACE. Tôi không chắc chắn nếu chúng ta có thể sử dụng cùng một khái niệm về khả năng giảm trong cả ba trường hợp này.
Tsuyoshi Ito

MộtC0

3

Vâng, hỏi giáo sư của bạn tại sao ông làm điều đó. Tôi chỉ có thể đoán.

Chúng không thú vị như các mô hình hoàn chỉnh của Turing và PDA vì chúng ở trong tình trạng vô dụng * tất nhiên, chúng chia sẻ với ngôn ngữ tương đương: không mạnh mẽ nhất có thể, nhưng đã rất khó hiểu.

Một lý do khác có thể là không biết nhiều về chúng (đoán ở đây) về chúng, nhưng điều đó có thể dẫn đến vấn đề trứng gà.

NLBMột= =DLBMột

(*) phóng đại có chủ ý


2

Dường như không chỉ CSG mà cả CFG, ... đã lỗi thời trong những ngày này. Tôi nghĩ những ngày này automata và PDA thường được nghĩ đến trong các khóa học lý thuyết tính toán / độ phức tạp (nếu có) và chúng được đưa vào không phải vì lợi ích riêng của chúng mà là để giới thiệu Turing Machines.

Grammars có thể thú vị cho lý thuyết trình biên dịch nhưng không quá nhiều cho tính toán / độ phức tạp được đưa vào một khóa học giới thiệu. Có quá nhiều chủ đề mà một người muốn đề cập nhưng một khóa học trong một học kỳ quá ngắn và chúng tôi phải chọn và nhiều chủ đề mà chúng tôi không thể đề cập vì giới hạn thời gian thú vị hơn LBA.


1
Tôi ước bạn là phổ quát đúng! Lớp giới thiệu về TCS được dạy trong univ của tôi là một nửa automata / CFL. Tôi đang học lớp này và các sinh viên dường như không còn hứng thú nữa. Đây có thể là một lý do khác khiến CFL / CSL không còn được trình bày: có những chủ đề thú vị hơn.
Michaël Cadilhac

1
Vâng, lý thuyết CS không chỉ phức tạp. Đặc biệt CFG cũng như các mô hình tự động liên quan là rất quan trọng (ít nhất là nền tảng) trong nhiều nhánh của CS. Một khóa học giới thiệu sẽ chuẩn bị cho bạn cho tất cả các chi nhánh. Xin lỗi, nhưng câu trả lời này có mùi như vô minh. Ngoài ra, nó không trả lời câu hỏi.
Raphael

@Raphael, tôi đang nói về các khóa học lý thuyết tính toán / tính phức tạp , đó là nơi mà lý thuyết automata đang được nghĩ đến trong các trường đại học mà tôi biết ngay bây giờ. Không ai nói bất cứ điều gì về các khóa học lý thuyết nói chung. Tôi nghĩ bạn nên đọc bài viết cẩn thận trước khi buộc tội người khác về sự thiếu hiểu biết. Bài viết của tôi không trả lời câu hỏi: tại sao LBA không được nghĩ đến trong các khóa học lý thuyết tính toán / tính phức tạp? Đó là lý do, và đó là lý do tại sao sách giáo khoa lý thuyết tính toán phức tạp và phức tạp không bao gồm nhiều về LBA, cho dù bạn có thích hay không.
Kaveh

Vì vậy, bạn là riêng tư với lý do cá nhân của mỗi tác giả và giảng viên trên toàn thế giới? Đúng rồi. Dù sao, xin lưu ý rằng từ "phức tạp" hoàn toàn không xảy ra trong câu hỏi được đăng. Cũng lưu ý rằng bằng nhận xét và chỉnh sửa của ngạc nhiên ở trên, bạn đã không trả lời câu hỏi. Thực tế, bạn có thích hay không.
Raphael

1
@Raphael, bạn vẫn không đọc kỹ và tiếp tục diễn giải những gì tôi viết theo cách bạn thích, có vẻ như tôi chỉ muốn tranh luận, tôi nghĩ quan điểm của tôi đủ rõ ràng, do đó hãy thoải mái suy nghĩ theo ý bạn. :)
Kaveh

2

Các biểu thức và CFG thông thường được sử dụng trong thực tế để phân tích mã (nghĩa là ngôn ngữ lập trình). Lý do là có các thuật toán rất hiệu quả để phân tích chúng. LBA, mặt khác, quá mạnh để thực sự sử dụng trong bối cảnh đó.

Một nguồn gốc lịch sử của lý thuyết automata là chủ đề xây dựng trình biên dịch. Vì lý do đã đề cập ở trên, chỉ các ngôn ngữ và CFG thông thường là hữu ích để xây dựng trình biên dịch (mặc dù thực tế là các ngữ pháp quy kết không thực sự là CFG và thuật toán phân tích cú pháp CFG không thực sự phân tích toàn bộ lớp CFG). Các LBA có thể đã được Chomsky phát minh ra như một mức độ phức tạp trung gian giữa cõi trần và "tiếng Anh". Vì vậy, có lẽ nơi thích hợp để dạy chúng là trong các khóa học ngôn ngữ hơn là khoa học máy tính!


Vì các LBA tương đương với lớp ngữ pháp khá nhạy cảm tự nhiên, tôi không nghĩ rằng chúng được phát minh ra chỉ để giải trí. ;)
Raphael

@Raphael: Yuval không ngụ ý gì cả.
Revierpost
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.