Giảm thiểu DFA đa ngôn ngữ


10

Tôi quan tâm đến việc khái quát hóa một chút về DFA. Như thường lệ, chúng tôi có nhà bộ , hữu hạn bảng chữ cái Σ , một Σ * -Hành động xác định trên Q bởi δ : Q × Σ Q , và ban đầu nhà nước q 0 ; nhưng thay vì các thiết lập thiết bị đầu cuối thông thường, chúng ta hãy gia đình ( T i ) i 1 .. n của tập con của Q . Một DFA M đa ngôn ngữ sau đó là bộ dữ liệuQΣΣQδ:Q×ΣQq0(Ti)i1..nQM

(Q,Σ,δ,q0,(Ti))

LΣ được công nhận bởi M khi và chỉ khi L={sΣ|q0sTi} với một số i1..n . Xác định (Li(M))i1..n là họ ngôn ngữ được M công nhận, nếu bạn thích.

Được rồi, bây giờ cho câu hỏi của tôi: đưa ra một họ ngôn ngữ thông thường (Li)i1..n , tôi muốn tìm DFA đa ngôn ngữ tối thiểu Mnhư được mô tả ở trên sao cho Li=Li(M) cho tất cả i1..n , nghĩa là như vậy |Q|được giảm thiểu trên tất cả các máy như vậy. Câu hỏi của tôi là, có bất kỳ cách hiệu quả được biết đến để làm điều này, có lẽ tương tự như lý thuyết giảm thiểu DFA tiêu chuẩn? Ngược lại, có bằng chứng nào cho thấy vấn đề này có thể khó khăn không?


7
Dường như với tôi rằng các tiêu chuẩn phân vùng-tinh dựa thuật toán, sửa đổi chỉ bắt đầu bằng cách phân vùng các thiết lập ban đầu của các quốc gia bởi cho dù họ đang chấp nhận / nonaccepting cho mỗi tập con cho chứ không phải cho một bộ T , chỉ nên làm việc ngay lập tức Tại sao không? Nó chỉ phân tách các cặp trạng thái khi chúng phải được phân tách, vì vậy nó vẫn tạo ra sự tinh chỉnh thô nhất có thể có của các trạng thái. TiT
David Eppstein

1
Bằng chứng nhận xét của @DavidEppstein rất dễ dàng nếu bạn xác định mối quan hệ tương đương iff x T i y cho mọi i , trong đó x T i y là mối quan hệ tương đương Myhill-Nerode. Sau đó, bạn có thể tiến hành cùng các dòng với thuật toán tối thiểu hóa tiêu chuẩn. xyxTiyixTiy
Shaull

không hiểu lắm câu trả lời cho vấn đề này là tìm DFA tối thiểu của một liên kết các DFA có cùng "thiết lập" ngoại trừ các trạng thái kết thúc khác nhau, mỗi DFA cho ? cũng là sự thừa nhận của L = { . . . } dường như không có ý nghĩa chính xác, nó dường như trộn các chuỗi và các tập trạng thái. 1..nL={...}
vzn

Những điểm được DavidEppstein và Shaull đưa ra có vẻ hấp dẫn, tôi sẽ tìm thấy một chút thời gian để vượt qua định lý Myhill-Nerode khi tôi có thời gian để thuyết phục bản thân rằng thương số vẫn mang lại tự động tối thiểu. Nhìn lại có vẻ quá rõ ràng.
gdmclellan

@vzn: chắc chắn không muốn kết hợp các ngôn ngữ của máy tự động gốc; và có thể trùng nhau. Một đa ngôn ngữ DFA với các ngôn ngữ MộtB sẽ có thể báo cáo, ví dụ, rằng s A , nhưng B . Đối với các ký hiệu sử dụng trong việc xác định công nhận của một ngôn ngữ, ký hiệu được định nghĩa bằng cách mở rộng δ đến một Σ * -Hành động trên Q theo các quy tắc sau cho tất cả q Q , σ Σ , s Σ * :TiABsAsBδΣQqQ,σΣ,sΣ . qσ=δ(q,σ),q(sσ)=(qs)σ
gdmclellan

Câu trả lời:


14

L=(Li)1in

Chi tiết . Trường hợp tương ứng với xây dựng tiêu chuẩn và trường hợp chung không khác nhau nhiều về tinh thần. Cho một ngôn ngữ và một từ , hãy để . Xác định mối quan hệ tương đương trên bằng cách đặt Vì các là thường xuyên, tương đẳng này có chỉ số hữu hạn. Hơn nữa, dễ dàng nhận thấy rằng mỗi được bão hòa bởi và với mỗi , ngụ ýn=1Luu1L={vAuvL}A

uvfor each LL, u1L=v1L
LiLiaAuvuava. Chúng ta hãy biểu thị bằng từ trống rỗng và bởi các đẳng cấp của một từ . Đặt là đa tự động xác định được xác định như sau:1[u]uAL=(Q,[1],,(Fi)1in)
  1. Q={[u]uA} ,
  2. [u]a=[ua] ,
  3. Fi={[u]uLi} .

Bằng cách xây dựng, khi và chỉ khi và do đó chấp nhận gia đình . Vẫn còn phải chứng minh rằng là tối thiểu. Nó thực sự là tối thiểu theo nghĩa đại số mạnh (ngụ ý rằng nó có số lượng trạng thái tối thiểu). Đặt và là hai máy tự động. Một hình thái là một bản đồ so sánh từ lên sao cho[1]uFiuLiALLALA=(Q,q,,(Fi)1in)A=(Q,q,,(Fi)1in)f:AAQQ

  1. f(q)=q ,
  2. cho , , 1inf1(Fi)=Fi
  3. với mọi và , .uAqQf(qu)=f(q)u

Sau đó, đối với bất kỳ đa tự động xác định có thể truy cập chấp nhận , có một hình thái từ lên . Để chứng minh điều này, trước tiên người ta xác minh rằng nếu , thì . Bây giờ được định nghĩa bởi trong đó là bất kỳ từ nào sao cho . Sau đó, người ta có thể chỉ ra rằng thỏa mãn ba tính chất cần thiết.L A A L q -u 1 = q -u 2 = q u 1u 2 f f ( q ) = [ u ] u q -u = q fALAALqu1=qu2=qu1u2ff(q)=[u]uqu=qf

Kết thúc là một chút sơ sài, cho tôi biết nếu bạn cần thêm chi tiết.

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.