Vấn đề với việc thực hiện thuật toán của Brzozowski


8

Tôi đã cố gắng thực hiện thuật toán của Brzozowski nhưng tôi mới phát hiện ra rằng nó tạo ra tự động dưới mức tối ưu cho một loại đầu vào nhất định, có thêm một trạng thái so với những gì thực sự cần thiết trong kết quả. Tôi có thể hiển thị nó trên một máy tự động tầm thường:

   a b           a   b           a b            a     b            a b
>0 0 1  rev  *0 0,2  -   det  >0 - 1  rev  *0   -     -    det  >0 1 2
 1 1 2  -->   1  1   0   -->   1 2 5  -->   1   -    0,4   -->   1 1 2
*2 0 2       >2  -  1,2        2 2 3        2  1,2    -          2 2 3
                              *3 4 -        3   -     2         *3 1 3
                              *4 4 1        4  3,4    -          
                              *5 5 5        5   5    1,5         
                                           >6 3,4,5 1,2,5        

Ở đây rev là phần đảo ngược cạnh, trong đó tôi đã loại bỏ các chuyển đổi trên epsilon và det là sự xác định thông qua việc xây dựng sức mạnh, tạo ra các trạng thái mới ngay khi phát hiện ra chúng, theo cách đệ quy.

Vấn đề ở đây là: một khi tôi thêm trạng thái bổ sung để bù cho ba trạng thái bắt đầu khác nhau sau khi xây dựng đảo ngược cạnh đầu tiên và xây dựng sức mạnh, không có gì trở lại trạng thái đó và do đó tôi không thể loại bỏ nó sau này vì tương đương đến trạng thái bắt đầu ban đầu.

Có điều gì đó sai với cách tôi đang làm điều đó? Tui bỏ lỡ điều gì vậy?

Câu trả lời:


5

Đây là một câu hỏi tuyệt vời!

Bước hoàn nguyên trong Thuật toán của Brzozowski không đưa ra trạng thái bắt đầu ảo mới dẫn đến trạng thái chấp nhận cũ thông qua -transitions. Thay vào đó, nó cho phép nhiều trạng thái bắt đầu, đó không phải là vấn đề lớn, nếu bạn xây dựng sản phẩm tự động hóa dù sao ngay sau khi đảo ngược.ε

Về mặt khái niệm, dễ nhất để xem xét hoàn nguyên và xác định là một bước duy nhất. Nếu DEA của bạn là , thì hãy xác định là DEA được hoàn nguyên như sau:M=(Q,Σ,δ,q0,F)MR=(QR,Σ,δR,q0R,FR)

  • QR=P(Q) ,
  • q0R=F ,
  • FR={PQq0P} ,
  • δR(P,a):={pQδ(p,a)P} .

(Bạn có thể muốn bỏ qua các trạng thái không thể truy cập.)

Định lý của Brzozowski nói rằng là một DEA tối thiểu chấp nhận . L ( M )(MR)RL(M)

Để đọc thêm, tôi đề xuất các yếu tố của lý thuyết tự động của Sakarovitch trang 116-117.

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.