Ngôn ngữ thông thường không được DFA chấp nhận có tối đa ba tiểu bang


10

Mô tả một ngôn ngữ thông thường không thể được chấp nhận bởi bất kỳ DFA nào chỉ có ba trạng thái.

Tôi không thực sự chắc chắn nên bắt đầu từ đâu và tự hỏi liệu ai đó có thể cho tôi một số lời khuyên hoặc lời khuyên. Tôi hiểu rằng bổ đề bơm có thể được sử dụng để chứng minh một ngôn ngữ không thường xuyên, nhưng trong trường hợp này, nó phải là một ngôn ngữ thông thường. Nếu bất cứ ai có bất kỳ suy nghĩ, nó sẽ được đánh giá cao.

Câu trả lời:


17

Bổ đề bơm có thể được nêu để tính đến số lượng trạng thái trong DFA. Mọi ngôn ngữ được DFA chấp nhận với các trạng thái đều thỏa mãn bổ đề bơm sau:Lp

Mỗi từ có độ dài ít nhất có thể được chia thành , trong đó và , sao cho cho tất cả .wpw=xyz|xy|p|y|1xyizLi0

Bạn có thể sử dụng đặc tính này để chứng minh rằng ngôn ngữ yêu cầu trạng thái .{0p}p+1

Một phương pháp khác là sử dụng định lý Myhill - Nerode. Hai chữ là inequivalent (đối với một số ngôn ngữ với ) nếu vì một chữ , hoặc và hoặc cách khác xung quanh. Định lý Myhill - Nerode nói rằng nếu có từ không tương đương theo cặp, thì mỗi DFA cho có ít nhất trạng thái. Đối với ví dụ , bạn có thể tìm thấy các từ không tương đương cặp , cụ thể là .L z x z L y z L p L p L = { 0 p } p + 1 ε , 0 , ... , 0 px,yLzxzLyzLpLpL={0p}p+1ϵ,0,,0p


zthể ^trống, nhưng tôi nghĩ bạn có lỗi đánh máy trong trích dẫn của bạn. xy^i ∈ L nên làxy^i z ∈ L
Grijesh Chauhan

12

pp+10

Về bản chất, đây là toàn bộ ý tưởng đằng sau bổ đề bơm: nếu một chuỗi thực sự dài, automata hữu hạn phải "quên" mức độ cao của nó và bắt đầu lại, cho phép bạn lặp đi lặp lại một phần mà không cần quan tâm .

Do đó, bất kỳ ngôn ngữ thông thường nào yêu cầu đếm đến 3 để xác thực một từ trong đó, không thể được mô tả bằng một máy tự động hữu hạn có kích thước 3.

Bạn có thể nghĩ về một ngôn ngữ như vậy? (Giáo sư của bạn cũng có thể mong đợi bạn chứng minh lập luận đếm này, mặc dù trong chương trình giảng dạy của tôi, sự hiểu biết về bổ đề bơm này đã được chấp nhận)


Câu trả lời hay: nó giải thích rất nhiều mà không đưa ra giải pháp cho những gì trông giống như một bài tập về nhà. Chào mừng bạn đến với Khoa học máy tính !
David Richerby


-2

ý tưởng khác, đường chéo ! liệt kê tất cả các DFA 3 hoặc ít hơn, lấy liên kết của tất cả chúng, và sau đó lấy phần bổ sung. đây là một DFA bằng cách đóng cửa hoạt động ngôn ngữ thông thường. điều này có thể được xây dựng thông qua một thuật toán, nhưng câu hỏi chỉ yêu cầu một mô tả .



n

nn+1

@Yuval đúng. nghĩ rằng ý tưởng này có thể hoạt động nhưng có thể không có chi tiết chính xác, chi tiết rất khó hiểu, có thể đoán nó có thể ở đâu đó trong tài liệu nhưng không thấy nó
vzn
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.