Ngôn ngữ được chấp nhận bởi các phiên bản sửa đổi của automata hữu hạn


16

Máy tự động hữu hạn xác định (DFA) là một mô hình máy trạng thái có khả năng chấp nhận tất cả và chỉ các ngôn ngữ thông thường. Các DFA có thể được (và thường là) được định nghĩa theo cách mà mỗi trạng thái phải cung cấp một số chuyển đổi cho tất cả các thành phần của bảng chữ cái đầu vào; nói cách khác, hàm chuyển đổi phải là hàm (tổng).δ:Q×ΣQ

Hãy tưởng tượng những gì chúng ta sẽ gọi là một máy tự động hữu hạn xác định gấp đôi (DDFA). Nó được định nghĩa tương tự như DFA, với hai trường hợp ngoại lệ: thứ nhất, thay vì chuyển đổi dẫn từ trạng thái này sang trạng thái khác cho mọi ký hiệu đầu vào có thể, nó phải dẫn đến hai trạng thái riêng biệt; thứ hai, để chấp nhận một chuỗi, tất cả các đường dẫn tiềm năng phải đáp ứng một hoặc một trong các điều kiện sau:

  1. Tất cả các đường dẫn tiềm năng thông qua DDFA đều dẫn đến trạng thái chấp nhận (chúng tôi sẽ gọi đây là DDFA loại 1).
  2. Tất cả các đường dẫn tiềm năng thông qua DDFA đều dẫn đến trạng thái chấp nhận tương tự (chúng tôi sẽ gọi đây là DDFA loại 2).

Bây giờ cho câu hỏi của tôi:

Những ngôn ngữ nào làm DDFA loại 1 và loại 2 chấp nhận? Cụ thể, đó là trường hợp , L (DDFA) = L (DFA) hay L (DDFA) \ subsetneq L (DFA) ? Trong trường hợp L (DDFA) \ neq L (DFA) , có mô tả dễ dàng về L (DDFA) không?L(DFA)L(DDFA)L(DDFA)=L(DFA)L(DDFA)L(DFA)L(DDFA)L(DFA)L(DDFA)

Bằng chứng (hoặc ít nhất là các bản phác thảo xác thịt vừa phải) được đánh giá cao, nếu chúng không quá phức tạp.

Câu trả lời:


9

Điều này kết hợp với câu trả lời của Alex cho bức tranh hoàn chỉnh.

L(DDFA)L(DFA) có thể được chứng minh bằng cách điều chỉnh cấu trúc sức mạnh thông thường với điều kiện trạng thái cuối cùng được sửa đổi. Trong cấu trúc tập hợp sức mạnh, các trạng thái là tập hợp các trạng thái từ máy tự động ban đầu. Thông thường sau khi thực hiện việc xây dựng powerset, một trạng thái là cuối cùng nếu một trong các trạng thái trong tập hợp là cuối cùng trong máy tự động ban đầu.

  • Trong DDFA loại 1, các trạng thái cuối cùng trong máy tự động được xây dựng là các bộ trong đó tất cả các yếu tố là cuối cùng trong máy tự động ban đầu.

  • Trong DDFA loại 2, các trạng thái cuối cùng là tập hợp các trạng thái cuối cùng từ máy tự động ban đầu.

Trong cả hai trường hợp, automata kết quả là DFA.

Bây giờ, các loại 2DDFA chỉ có thể biểu thị các ngôn ngữ và , tùy thuộc vào trạng thái bắt đầu có chấp nhận hay không. Điều này là do hai quá trình chuyển đổi từ một trạng thái cần phải chuyển sang các trạng thái riêng biệt, nhưng sự chấp nhận chỉ có thể nếu chúng kết thúc trên cùng một trạng thái.{ϵ}


7

Để bắt đầu phân tích, tôi có thể nói rằng cho loại 1.L(DFA)L(DDFA)

Bạn có thể làm điều này bằng cách sao chép DFA và thêm các cạnh vào trạng thái trùng lặp. Nếu trạng thái có chuyển đổi sang trên , bạn cũng thực hiện chuyển đổi từ sang trên . Ngoài ra, có sự chuyển đổi sang và trên . Rõ ràng, điều này có nghĩa là chúng ta sẽ luôn luôn ở trạng thái và cùng một lúc (hoặc có thể chỉ , ban đầu), và do đó chúng ta sẽ nhận ra cùng một ngôn ngữ.s1s2xs1s2xs1s2s2xsisisi

Cập nhật: chúng tôi cũng có cho loại 2, vì không tồn tại DDFA loại 2 nhận dạng ngôn ngữ . Nếu bạn cố gắng để thực hiện một DDFA như vậy, bạn có một trạng thái bắt đầu , và sau đó bạn cần phải có hai cạnh đi đến tiểu bang và trên , nhưng những trạng thái phải phân biệt, và do đó hai con đường chấp nhận kết thúc vào khác nhau chấp nhận nhà nước.L(DFA)L(DDFA){a}ss1s2a

Cùng với câu trả lời của Dave Clarke, điều đó mang đến cho bạn sự phân tích đầy đủ.


Rất đẹp để phát hiện ví dụ truy cập cho loại 2!
Dave Clarke

@Dave Clarke: cảm ơn. Đó là một ví dụ ngớ ngẩn, nhưng nó hoạt động :)
Alex ten Brink

"Bệnh lý" thay cho "ngớ ngẩn".
Dave Clarke

Các bạn làm rất tốt Có bốn điều cần kiểm tra và mỗi bạn có hai điều. Trừ khi một trong hai đối tượng của bạn, tôi sẽ chọn câu trả lời của @DaveClarke, chỉ vì anh ta có ít đại diện hơn Alex.
Patrick87

1
Về một lưu ý liên quan, bạn có muốn giải thích về các ngôn ngữ được chấp nhận bởi DDFA loại 2 hay tôi nên hỏi một câu hỏi và liên kết riêng với ngôn ngữ này?
Patrick87
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.