Điều kiện vô cùng của ngôn ngữ của một máy tự động trạng thái hữu hạn


9

Có một định lý nói rằng:

Cho một máy tự động trạng thái hữu hạn có trạng thái, nếu tồn tại một chuỗi có độ dài thỏa mãn thì ngôn ngữ được máy tự động chấp nhận là vô hạn.nwn|w|2n1

Tôi hiểu các ràng buộc , nhưng tôi không hiểu tại sao ràng buộc là có.|w|n|w|2n1

Câu trả lời:


5

Trong trường hợp xấu nhất, NFA của bạn có thể trông như thế này:

nhỏ nhất mà nó được đảm bảo lặp (buộc nó phải chấp nhận một ngôn ngữ vô hạn) có kích thước .w2n-1


Khi tôi bắt đầu từ q0 và sau đó khi tôi trở lại vào q0, điều đó có nghĩa là có một chu kỳ trong máy. Trong trường hợp xấu nhất là không đủ, tại sao chúng ta lại quay trở lại giai đoạn cuối trong trường hợp này? Theo như tôi hiểu từ hình này, chúng ta sẽ bơm vòng lặp này một lần và sau đó đi đến giai đoạn cuối cùng, vì vậy nó có nghĩa là một khi chúng ta bước vào giai đoạn cuối thì chúng ta giả sử rằng đây không phải là chuỗi của tôi khi nó quay trở lại trạng thái khác, nhưng một khi nó trở lại giai đoạn cuối một lần nữa, thì chúng ta chắc chắn rằng chuỗi này có một vòng lặp có được bơm?
rahul sharma

Chúng tôi đang cố gắng chứng minh điều gì đó về máy tự động, cụ thể là, nó chấp nhận một ngôn ngữ vô hạn. Theo cách thức chứng minh được xây dựng, một chuỗi được phỏng đoán, có kích thước được giả định là trong một khoảng nhất định. Rõ ràng, nếu automaton có một vòng lặp, thì chuỗi tồn tại. Điều gì xảy ra là nếu không thể tìm thấy bên trong khoảng này, thì máy không thể giống như trong hình. Hoặc nó không có vòng lặp, hoặc nó không có trạng thái cuối cùng. www
André Souza Lemos

Tôi hiểu quan điểm của bạn. Tôi chỉ cố gắng hiểu giới hạn trên của khoảng, tại sao nó là 2n-1 và tại sao không phải là 2n-x (x có thể là bất cứ thứ gì ngoại trừ 1). Trong hình trên, chúng ta có thể nói vòng lặp là qo -q1 .... qn-q1 .... qn, phải (vòng lặp tối đa)? Nhưng khi tôi lại q0 (q0 ... aq, q0), không có nghĩa là có một vòng lặp, tối đa phải là n, tại sao chúng ta lại thêm n-1 vào n (hoặc tại sao chúng ta lại trở về trạng thái cuối cùng). Tôi đang gặp khó khăn trong việc có được điều này :(. có thể tối đa vòng lặp là q0., q1, q2 ..qn, qn-1, qn-1..q0, đại loại như thế?
rahul sharma

Giới hạn trên là vì nó không trở nên tồi tệ hơn thế. nhỏ hơn và tôi chỉ cho bạn thấy một máy tự động cần bước. Không có cái nào cần nhiều hơn (và thực hiện công việc), nhưng có cái cần số tiền này. 2n-12n-x2n-12n-1
André Souza Lemos

Có ngay bây giờ. Chỉ cần một nghi ngờ nhỏ. Tôi nghĩ rằng tôi có 4 trạng thái trong máy của mình. Và tôi đã đọc chuỗi abc và tôi đã đạt đến trạng thái cuối cùng và sau đó tôi đọc d ở đó và trở lại trạng thái ban đầu, và sau đó trở lại trạng thái cuối cùng, vì vậy chuỗi của tôi sẽ trở thành abcdabc. Làm thế nào tôi có thể phá vỡ điều này thành bơm bổ đề và lấy y ^ i, trong đó i = 1, để cho thấy rằng y đã được bơm một lần.?
rahul sharma

5

Điều kiện bổ sung cho phép bạn viết một thuật toán chuyển tiếp - kiểm tra tất cả các chuỗi có độ dài trong khoảng này - để quyết định độ chính xác (trong) của ngôn ngữ được chấp nhận. Do đó, bạn có được một bằng chứng rằng tài sản này là có thể quyết định (điều này không dành cho hầu hết các mô hình automata có sức mạnh siêu thường xuyên).


3

Định lý đầy đủ nêu một sự tương đương chứ không phải là một hàm ý :

Ngôn ngữ được chấp nhận bởi một NFA -state là vô hạn khi và chỉ khi nó chứa một từ có kích thước thỏa mãn .nwn|w|2n-1

Các điều kiện bổ sung do đó làm cho định lý mạnh hơn .|w|2n-1

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.