Sẽ được phân loại là ngôn ngữ thông thường?
Tôi bối rối vì tôi biết rằng không thường xuyên Ngôi sao kleene tạo ra sự khác biệt gì?
Sẽ được phân loại là ngôn ngữ thông thường?
Tôi bối rối vì tôi biết rằng không thường xuyên Ngôi sao kleene tạo ra sự khác biệt gì?
Câu trả lời:
Một ngôn ngữ là thường xuyên, theo định nghĩa, nếu nó được chấp nhận bởi một số DFA. (Đây là ít nhất một định nghĩa phổ biến.) Bạn có thể nghĩ về một DFA chấp nhận ngôn ngữ không?
Một kết quả nổi tiếng (được chứng minh trong nhiều sách giáo khoa) nói rằng ngôn ngữ của một biểu thức chính quy là thường xuyên. Từ là một biểu thức chính quy, ngôn ngữ của nó phải đều đặn (nếu bạn tin kết quả này).
Cuối cùng, để trả lời câu hỏi của bạn (ngôi sao Kleene tạo ra sự khác biệt gì): trong ngôn ngữ , chúng ta cần đếm số lượngcát S; trong ngôn ngữ chúng tôi không
là một ngôn ngữ thông thường, vì nó được tạo bởi một biểu thức chính quy.
Sự khác biệt chính giữa và có phải vậy không yêu cầu đếm 'cát Để kiểm tra xem có cùng số lượng chúng không, trong khi đó không yêu cầu đếm. Đếm đòi hỏi bộ nhớ không giới hạn khi số lượng ngày càng lớn, nhưng automata hữu hạn chỉ có một lượng bộ nhớ hữu hạn, vì vậy một máy tự động hữu hạn không thể nhận ra. Mặt khác, một máy tự động hữu hạn có thể nhận ra vì điều đó chỉ yêu cầu kiểm tra rằng (bất kỳ số nào) đến trước (bất kỳ số nào).
Đó là lý do tại sao ngôi sao Kleene không xác định các ngôn ngữ yêu cầu bộ nhớ không giới hạn để nhận biết - điều đó có nghĩa là bất kỳ số nào, và mỗi lần gặp phải ngôi sao, số lượng có thể khác nhau.
Bất kỳ ngôn ngữ nào bạn có thể phát triển DFA.
Chỉ cần kiểm tra xem bạn có thể vẽ DFA cho cả hai ngôn ngữ đó không.
biểu thị tất cả sự xuất hiện của bảng chữ cái
Dây: , a, b, aa, ab, bb, ..
Để tạo tập hợp chuỗi thuộc về , máy không cần phải theo dõi số a và b. Vì FA chỉ có thể nhớ bảng chữ cái cuối cùng được xử lý, DFA có thể được phát triển.
DFA tồn tại.
Do đó thường xuyên.
Dây: , aa, bb, aaa, bbb, ..
Để tạo tập hợp chuỗi thuộc về , máy cần theo dõi số lượng chữ in để in cùng số lượng b. Nhưng FA chỉ có thể nhớ bảng chữ cái cuối cùng được xử lý.
Để xây dựng một máy chấp nhận chúng ta cần thêm một bộ nhớ nữa, một máy như vậy được gọi là PDA (Đẩy xuống tự động).
Không có DFA tồn tại.
Do đó không thường xuyên.