Tôi đang tìm kiếm các lý thuyết toán học liên quan đến việc mô tả các ngôn ngữ chính thức (bộ chuỗi) nói chung và không chỉ là hệ thống phân cấp ngữ pháp.
Tôi đang tìm kiếm các lý thuyết toán học liên quan đến việc mô tả các ngôn ngữ chính thức (bộ chuỗi) nói chung và không chỉ là hệ thống phân cấp ngữ pháp.
Câu trả lời:
Có rất nhiều khả năng. Những người khác đã đề cập đến automata cung cấp một lựa chọn phong phú. Cũng xem xét các khung sau:
Một số ngôn ngữ có thể được định nghĩa trực tiếp bởi (đồng) định nghĩa quy nạp . Chẳng hạn, điểm cố định nhỏ nhất của
là ngôn ngữ tương tự như một trong những mô tả bởi(bmột|một)*, các fixpoint lớn nhất là(bmột|một)ω. Lưu ý rằng một định nghĩa như vậy cũng có thể được viếtdưới dạngquy tắctính toán hoặcsuy luận:
Các từ xác định cấu trúc từ có thể được sử dụng làm mô hình của công thức logic . Về cơ bản, mọi lời định nghĩa lĩnh vực vị trí của nó , predicates P một : D → { 0 , 1 } sao cho P một ( i ) ⟺ w i = một cho tất cả một ∈ Σ , một vị ngữ < đó là < từ N giới hạn ở và một vị từ suc : D w × D w → { 0 , 1 } đó là đúng khi và chỉ khi tham số thứ hai là sự kế thừa trực tiếp của nắm tay.
Vì vậy, ví dụ, nếu w = a a b a b a a b thì
trong thực tế, đâybậc nhất công thứcđịnh nghĩa --- qua các thiết lập của tất cả các cấu trúc từ đó thực hiện nó --- cùng một ngôn ngữ như(bmột|một)*. Tương ứngω-language(bmột|một)ωđược mô tả bởicông thức LTL
số tương đồng giữa các lớp ngôn ngữ cổ điển và logic nhất định được gọi. Ví dụ,FOtương ứng với ngôn ngữ sao miễn phí, yếuMSOsang các ngôn ngữ thường xuyên vàMSOđểWngôn ngữ -regular. Xemở đâyđể tham khảo.
Lưu ý rằng chúng tôi cho phép thay thế để xóa các biến; một số thuộc tính của lớp ngôn ngữ mẫu rất khác nhau để xóa so với thay thế không xóa. Ngôn ngữ mẫu được đặc biệt quan tâm trong học tập theo phong cách Vàng .
Bạn nên có một cái nhìn về lý thuyết automata . Có rất nhiều tài liệu về nó.
Ví dụ, bạn có thể định nghĩa một ngôn ngữ thông thường với một máy tự động hữu hạn không xác định có các cạnh được gắn nhãn: một chuỗi thuộc về ngôn ngữ nếu máy tự động có thể theo các chuyển đổi được gắn nhãn bởi các ký tự của nó và dừng ở trạng thái cuối cùng.
Ngoài ra, một ngữ pháp không ngữ cảnh có thể được nhận ra bởi một máy tự động đẩy xuống .
Một cách khác để xác định ngôn ngữ là bằng máy Turing .
Từ hệ thống phân cấp Chomsky, có bốn loại ngôn ngữ chính thức (mỗi loại là một tập hợp con của các ngôn ngữ sau nó):
Một ngôn ngữ chính thức thông thường có thể được mô tả bởi:
1., 2. và 3. là tương đương và từ một trong số đó, bạn có thể xây dựng những cái khác.
Một ngôn ngữ chính thức không ngữ cảnh có thể được mô tả bởi:
Ngoài ra 1. và 2. là tương đương.
Một ngôn ngữ chính thức nhạy cảm theo ngữ cảnh có thể được mô tả bởi:
Một ngôn ngữ chính thức đệ quy có thể được mô tả bởi:
Ngoài ra với các câu trả lời khác, người ta có thể mô tả và phân loại các ngôn ngữ theo "thuộc tính" và các thuộc tính đóng. Ví dụ, thật hợp lý khi nói về AFL nhỏ nhất được tạo bởi một số ngôn ngữ. Một nơi tốt để bắt đầu tìm hiểu về loại mô tả này là cuốn sách này , mặc dù có thể khá khó để tìm một bản sao khó của nó.