Ngôn ngữ thông thường theo quan điểm lý thuyết thể loại


21

Tôi nhận thấy rằng ngôn ngữ thường xuyên trên bảng chữ cái có thể được coi một cách tự nhiên như một poset, và thực sự là một mạng. Hơn nữa, nối với nhau bằng ngôn ngữ rỗng ε định nghĩa một cấu trúc monoidal nghiêm ngặt về thể loại này đó là qua phân phối tham gia (Tôi không chắc chắn về đáp ứng). Đây có phải là một cấu trúc hữu ích trong lý thuyết hoặc thực hành các ngôn ngữ thông thường? Có một số điều chỉnh đẹp được tìm thấy, ví dụ: chúng ta có thể định nghĩa ngôi sao Kleene là một không?Σϵ

Đây là bản sao của một câu hỏi được hỏi trong khóa học Trình biên dịch tại Coursera: https : // class.coursera.org/compilers/forum/thread?thread_id=311


4
Chỉ cần chỉ ra rằng liên kết yêu cầu người ta có thể đăng nhập vào trang web coursea.
Dave Clarke

1
Thứ tự một phần làm cho các ngôn ngữ thông thường thành một vị trí là gì? nó chỉ đơn thuần là tài sản tập hợp con?
Suresh Venkat

@Suresh Vâng, tôi có thiếu thứ gì không?
Alexei Averchenko

1
Không. Tôi chỉ muốn hiểu nếu có một cái gì đó cụ thể hơn với cấu trúc ngôn ngữ
Suresh Venkat

@Suresh Tôi chắc chắn không thông minh hay có học thức như mọi người tham khảo Dave Clarke, vì vậy tôi chỉ thấy điều rõ ràng nhất :)
Alexei Averchenko

Câu trả lời:


18

Đã có rất nhiều thực hiện áp dụng lý thuyết thể loại cho các ngôn ngữ thông thường và automata. Một điểm khởi đầu là các giấy tờ gần đây:

Trong bài báo đầu tiên, cấu trúc của các biểu thức chính quy được xử lý theo đại số và các ngôn ngữ được tạo ra được xử lý theo phương pháp đại số. Hai khung nhìn này được tích hợp trong một khung cảnh hai chiều. Bialgebra là một cặp đại số-đại số với luật phân phối phù hợp nắm bắt sự tương tác giữa các thuật ngữ cú pháp (các biểu thức chính quy) và hành vi tính toán (ngôn ngữ được tạo ra). Cơ sở của bài viết này là đại số và đại số, như được xử lý trong khoa học máy tính dưới những chiếc ô của đại số và đại số than, chứ không phải là những gì người ta thấy trong toán học (các nhóm, v.v.).

Bài viết thứ hai sử dụng các kỹ thuật xuất phát từ cách xử lý toán học truyền thống hơn về đại số (mô-đun, v.v.) và đại số, nhưng tôi sợ rằng tôi không biết chi tiết.

Không phải coi ngôi sao Kleene như một sự điều chỉnh, theo như tôi có thể nói.

Tổng quát hơn, có rất nhiều công việc áp dụng lý thuyết thể loại vào automata thay vì các biểu thức thông thường. Một mẫu của công việc này bao gồm:

Cuối cùng, có công trình về các lý thuyết lặp, lý thuyết lặp: logic phương trình của các quá trình lặp của Stephen L. Bloom và Zoltán Ésik, tập trung vào phép lặp (ví dụ, ngôi sao Kleene), nhưng từ góc độ tổng quát hơn, trong đó các ngôn ngữ thông thường chỉ là ngôn ngữ thông thường một điều rơi vào lý thuyết.


2
Đối với automata có cũng books.google.co.uk/...
Radu Grigore

1
Thật không may, thuật ngữ "đại số" được sử dụng quá mức. Có ý nghĩa của "đại số" là một cấu trúc đại số chung, được sử dụng trong đại số phổ quát, đại số functor và đại số đơn nguyên. Tờ báo Bart Jacobs đang nói về những điều đó. Có một cấu trúc cụ thể hơn gọi là " đại số " được định nghĩa trong lý thuyết vòng / mô-đun. Bài viết của James Worthington đang đối phó với những điều đó. Theo tôi, công việc của Worthington thú vị hơn nhiều, nhưng tôi nghĩ chúng ta mới chỉ bắt đầu làm trầy xước bề mặt ở đây.
Uday Reddy

Liên kết không phải trả tiền đến giấy của Bart: repository.ubn.ru.nl/handle/2066
31207

12

Trên thực tế, tôi nghĩ những gì bạn đang tìm kiếm là đại số Kleene. Xem bài viết kinh điển của Dexter Kozen. Anh ta đưa ra một tiên đề của Kleene-star. Tôi cho rằng đây là bước đầu tiên bạn quan tâm.

Một định lý hoàn chỉnh cho đại số Kleene và đại số của các sự kiện thông thường. Thông tin và tính toán, 110 (2): 366-390, tháng 5 năm 1994.

Bài báo đó không sử dụng lý thuyết thể loại, nhưng nó đưa ra một tiên đề công bằng của đại số Kleene, có cấu trúc bao gồm cấu trúc của các ngôn ngữ thông thường. Đại số Kleene với các bài kiểm tra có thể được xem như là phần mở rộng của các biểu thức chính quy để mô hình hóa các chương trình đơn giản với các vòng lặp và điều kiện (nhưng không có bài tập). Phần mở rộng này rất hữu ích cho lý luận về các chương trình đơn giản như vậy theo cách đại số thuần túy.

Trên lý thuyết đại số của đại số Kleene với các bài kiểm tra. Tường trình kỹ thuật. Đại học Cornell, tháng 3 năm 2008.

Các ngôn ngữ thông thường tạo thành một đại số Boolean với cấu trúc bổ sung, khi bạn quan sát. Cấu trúc này đã được nghiên cứu từ quan điểm về tính đối ngẫu của Stone bởi Nick Pippenger.

Ngôn ngữ thông thường và tính đối ngẫu của đá . Nicholas Pippenger. Hệ thống tính toán lý thuyết, 1997: 121-134.

Cách tiếp cận đối ngẫu để nhận dạng ngôn ngữ gần đây đã được chú ý và đã được áp dụng để rút ra kết quả mới về nhận dạng ngôn ngữ.

Lý thuyết đối ngẫu và phương trình của các ngôn ngữ thông thường. M. Gehrke, S. Grigorieff, J.-E. Ghim.


1
Và cụ thể về một số điều chỉnh cổ điển của đại số Kleene trong lý thuyết máy: cs.cornell.edu/Cifts/cs786/2004sp/Lectures/l06-adj.pdf
ex0du5

4

Nhìn vào thế giới bằng cách sử dụng kính bảo hộ lý thuyết thể loại được gọi là phân loại . Đôi khi nó tạo ra kết quả thực sự tốt đẹp và đáng ngạc nhiên. Các nhà vật lý đã bắt đầu nói rằng suy nghĩ về một nhóm như là một gropoid một yếu tố tạo ra một sự khác biệt thực sự lớn . Tôi bắt đầu nhận ra rằng suy nghĩ về một monoid như một thể loại một yếu tố cũng đơn giản hóa rất nhiều thứ. (Ví dụ, một hành động đơn điệu sau đó là một functor thành Set . Những thứ như vậy tạo thành các thể loại và các đỉnh được đóng kín cartes. Vì vậy, chúng có một phép tính lambda và logic trực giác nữa!)

Bạn muốn phân loại ngôn ngữ thông thường. Tôi không biết liệu nó đã được thực hiện hay đã được thực hiện và thấy không thú vị. Tôi chưa thấy bất cứ điều gì viết về nó. Tuy nhiên, cấu trúc đại số của các ngôn ngữ thông thường, đại số Kleene, là đủ thú vị. Có một lượng lớn tài liệu về họ. Nhưng, theo tôi, lý thuyết về ngôn ngữ thông thường và automata hữu hạn phải chịu một cam kết sớm về tính hữu hạn. (Các nhóm hữu hạn rất thú vị và quan trọng, nhưng bạn không muốn định nghĩa về "nhóm" ngay từ đầu.) Vì vậy, sẽ rất hữu ích khi loại bỏ tính hữu hạn và nghiên cứu các cấu trúc nói chung hơn.

Công việc thú vị nhất đang diễn ra vào lúc này có liên quan đến các cấu trúc được gọi là bimonoid cục bộ được xác định bởi Hoare. Đại số Kleene đồng thời đã được tìm thấy là một ví dụ của chúng . Bimonoid địa phương và đồng thời là một hướng nghiên cứu tích cực.

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.