Pemisahan eksponensial antara NFA dan DFA di hadapan serikat pekerja

15

Baru-baru ini sebuah pertanyaan menarik diajukan dan kemudian dihapus.

Untuk bahasa biasa L, kompleksitas DFA -nya adalah ukuran DFA minimal yang menerimanya, dan kompleksitas NFA -nya adalah ukuran NFA minimal yang menerimanya. Sudah diketahui bahwa ada pemisahan eksponensial antara dua kompleksitas, setidaknya ketika ukuran alfabet tidak terikat. Memang, pertimbangkan bahasa Ln atas alfabet {1,,n} terdiri dari semua kata yang tidak mengandung semua simbol. Menggunakan teorema Myhill-Nerode mudah untuk menghitung kompleksitas DFA 2n . Di sisi lain, kompleksitas NFA hanya n(jika beberapa negara awal diperbolehkan, jika tidak itu adalah ).n+1

Pertanyaannya dihapus menyangkut DFA meliputi kompleksitas dari bahasa, yang merupakan minimal sehingga L dapat ditulis sebagai (tidak harus saling lepas) serikat bahasa kompleksitas DFA paling C . DFA yang mencakup kompleksitas L n hanya 2 .CLCLn2

Apakah ada pemisahan eksponensial antara kompleksitas NFA dan kompleksitas DFA?

Yuval Filmus
sumber

Jawaban:

8

Pertimbangkan bahasa , di mana # adalah simbol baru. Kompleksitas NFA dari M n adalah n . Kami akan menunjukkan bahwa kompleksitas penutupan DFA-nya adalah 2 n .Mn=ϵ+(Ln#)Ln#Mnn2n

Mari menjadi DFA menerima beberapa bahasa L ( A ) M n , dengan fungsi transisi q A . Panggil negara yang layak jika ada beberapa kata w sehingga q A ( s , w ) adalah negara penerima. Untuk dua keadaan non-kegagalan s , t , misalkan A s , t = { w ( 1 + + n ) : q AAL(A)MnqAswqA(s,w)s,tTidak sulit untuk memeriksa bahwa setiap kata w L ( A ) dapat ditulis sebagai w = w 1 # # w l di mana w iA s i , t i untuk beberapa s viable s i , t i .

As,t={w(1++n):qA(s,w)=t}.
wL(A)w=w1##wlwiAsi,tisi,ti

Misalkan , di mana setiap A i adalah DFA. Biarkan P menjadi kisi yang dihasilkan oleh semua bahasa A i s , t . Kita dapat melihat L ( A i ) sebagai bahasa L P ( A i ) di atas P , ruang di antara dua simbol yang terkait dengan # . Di bawah sudut pandang ini, M nMn=i=1NL(Ai)AiPAs,tiL(Ai)LP(Ai)P#Mnsesuai dengan .P

Sebut universal jika untuk beberapa x P itu adalah kasus bahwa untuk semua y P ada z P sehingga x y z L P ( A i ) . Kami mengklaim bahwa beberapa L P ( A i ) adalah universal. Kalau tidak, setiap L P ( A i ) mengandung paling banyak ( | PLP(Ai) xPyPzPxyzLP(Ai)LP(Ai)LP(Ai) kata panjang l . Secara total, L P ( A i ) harus mengandung semua | P | l kata-kata panjang l , maka | P | lN ( | P | - 1 ) l , yang dilanggar cukup besar l .(|P|1)llLP(Ai)|P|ll|P|lN(|P|1)ll

LP(Ai)A=AixPxMnyLnzyMnx#y#zyL(Ai)

S{1,,n}ySSx#ySASTaSTx#yTy{1,,n}a#zyTy{1,,n}aL(A) while x#ySy{1,,n}a#zyTy{1,,n}aMn. Therefore A must have a least 2n states.

Yuval Filmus
sumber