Sự phân chia theo cấp số nhân giữa NFA và DFA với sự có mặt của các công đoàn


15

Gần đây, một câu hỏi thú vị đã được hỏi và sau đó bị xóa.

Đối với ngôn ngữ thông thường , độ phức tạp DFA của nó là kích thước của DFA tối thiểu chấp nhận nó và độ phức tạp NFA của nó là kích thước của NFA tối thiểu chấp nhận nó. Người ta biết rằng có một sự phân tách theo cấp số nhân giữa hai độ phức tạp, ít nhất là khi kích thước của bảng chữ cái không bị ràng buộc. Thật vậy, hãy xem xét ngôn ngữ trên bảng chữ cái bao gồm tất cả các từ không chứa tất cả các ký hiệu. Sử dụng định lý Myhill-Nerode, thật dễ dàng để tính độ phức tạp DFA . Mặt khác, độ phức tạp NFA chỉ là (nếu nhiều trạng thái ban đầu được cho phép; nếu không thì nó là ).L n { 1 , Hoài , n } 2 n n n + 1LLn{1,Giáo dục,n}2nnn+1

Câu hỏi liên quan xóa các DFA bao gồm sự phức tạp của một ngôn ngữ, đó là tối thiểu L có thể được viết như sau (không nhất thiết phải rời nhau) kết hợp ngôn ngữ của DFA phức tạp ở hầu hết C . Độ phức tạp bao phủ DFA của L n chỉ là 2 .CLCLn2

Có sự phân tách theo cấp số nhân giữa độ phức tạp NFA và độ phức tạp bao phủ DFA không?

Câu trả lời:


8

Xét ngôn ngữ , trong đó # là ký hiệu mới. Độ phức tạp NFA của M nn . Chúng tôi sẽ chỉ ra rằng độ phức tạp bao phủ DFA của nó là 2 n .Mn= =ε+(Ln#)*Ln#Mnn2n

Hãy là một DFA chấp nhận một số ngôn ngữ L ( A ) M n , với chức năng chuyển q Một . Gọi trạng thái s khả thi nếu có một số chữ wq Một ( s , w ) là một trạng thái chấp nhận. Đối với bất kỳ hai trạng thái không suy s , t , chúng ta hãy Một s , t = { w ( 1 + + n ) * : q MộtMộtL(Một)MnqMộtSwqMột(S,w)S,tNó không phải là khó khăn để kiểm tra xem từng chữ w L ( A ) có thể được viết như w = w 1 # # w l nơi w iA s i , t i đối với một số khả thi s i , t i .

MộtS,t= ={w(1++n)*:qMột(S,w)= =t}.
wL(Một)w= =w1##wtôiwTôiMộtSTôi,tTôiSTôi,tTôi

Giả sử rằng , trong đó mỗi một tôi là một DFA. Đặt P là mạng được tạo bởi tất cả các ngôn ngữ A i s , t . Chúng ta có thể xem L ( A i ) như một ngôn ngữ L P ( A i ) qua P * , khoảng trống giữa bất kỳ hai biểu tượng tương ứng với # . Theo quan điểm này, M nMn= =Tôi= =1NL(MộtTôi)MộtTôiPMộtS,tTôiL(MộtTôi)LP(MộtTôi)P*#Mntương ứng với .P*

Gọi phổ quát nếu vì một x P * nó là trường hợp mà cho tất cả các y Pz P *x y z L P ( A i ) . Chúng tôi tuyên bố rằng một số L P ( A i ) là phổ quát. Mặt khác, mỗi L P ( A i ) chứa tối đa ( | PLP(MộtTôi) xP*yPzP*xyzLP(MộtTôi)LP(MộtTôi)LP(MộtTôi) từ có độ dài l . Tổng cộng, L P ( A i ) phải chứa tất cả | P | l từ có độ dài l , do đó | P | lN ( | P | - 1 ) l , bị vi phạm cho đủ lớn l .(|P|-1)tôitôiLP(MộtTôi)|P|tôitôi|P|tôiN(|P|-1)tôitôi

Giả sử rằng là phổ quát và viết A = A i cho ngắn gọn. Hãy x 'P * là tiền tố tương ứng, và để cho x M n là một số từ tương ứng với nó. Do đó với mỗi y L n có một số z yM n sao cho x # y # z yL ( A i ) .LP(MộtTôi)Một= =MộtTôix'P*xMnyLnzyMnx#y#zyL(MộtTôi)

S{1,Giáo dục,n}ySSx#ySMộtSTaSTx#yTy{1,,n}a#zyTy{1,,n}aL(A)x#ySy{1,,n}a#zyTy{1,,n}aMnA2n

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.