Dapatkah finite automata (NDFA) nondeterministic dikonversi secara efisien menjadi automata (DFA) deterministik dalam ruang / waktu subeksponensial?


16

Dua puluh tahun yang lalu, saya membangun paket ekspresi reguler yang mencakup konversi dari ekspresi reguler ke mesin keadaan terbatas (DFA) dan mendukung sejumlah operasi ekspresi reguler tertutup (bintang Kleene, penggabungan, pembalikan, set operasi, dll). Saya tidak yakin tentang kinerja terburuk dari paket saya.

DFA memiliki kekuatan ekspresif yang sama dengan NDFA, karena NDFA n-state dapat secara sepele dikonversi menjadi DFA yang memiliki 2 ^ n state. Namun, apakah ada jaminan batas atas yang lebih rendah untuk konversi yang tidak memerlukan ledakan eksponensial di negara bagian?

Saya tidak dapat menemukan contoh ekspresi reguler atau NDFA yang berperilaku buruk, tetapi saya tidak menghabiskan banyak waktu untuk memikirkannya. Saya menebak ekspresi reguler seperti ((((e | A | B | C) * (e | D | E | F)) * (e | G | H | I)) * (e | J | K | L | M)) * yang mencampur banyak pergantian dan bintang-bintang Kleene akan memiliki NDFA yang berukuran linear tetapi DFA yang luas.


Apakah ada batasan pada kelas NFA yang ingin Anda terima sebagai masukan? Beberapa batasan mengarah pada batas atas yang lebih baik.
András Salamon

bukan poin yang sangat penting, tetapi perlu ndfa menjadi tag sendiri?
Lev Reyzin

Ya ada batasannya. NFA dibangun langsung dari ekspresi reguler dengan memperlakukannya sebagai grafik transisi umum. seas.upenn.edu/~cit596/notes/dave/regexp-nfa4.html
Wesner Moise

Jawaban:


15

Diketahui bahwa untuk setiap pasangan nomor naturals n,asedemikian rupa n <= a <= 2^n, terdapat NDFA minimal dengan nstatus yang memiliki padanan minimal dfa minimum memiliki astatus (lebih dari alfabet empat huruf).

Lihat kertas di sini: Deterministik blow-up automata terbatas nondeterministic minimal atas alfabet tetap .

Abstrak makalah:

Kami menunjukkan bahwa untuk semua bilangan bulat n dan α sedemikian rupa sehingga n ≤ α ≤ 2 ^ n, terdapat automaton terbatas nondeterministic minimal n state dengan alfabet masukan empat huruf yang otomaton fin deterministik minimal deterministik minimumnya memiliki persis state. Oleh karena itu dalam kasus alfabet empat huruf, tidak ada "angka ajaib", yaitu lubang dalam hierarki. Ini meningkatkan hasil serupa yang diperoleh Geffert untuk alfabet ukuran tumbuh +2 (Proc. 7th DCFS, Como, Italy, 23-37).

Jadi, saya kira jawaban untuk pertanyaan Anda adalah, tidak.


pertanyaannya adalah meminta "algoritma" yang berjalan dalam waktu dan ruang subeksponensial untuk mengonversi NFA.
Marcos Villagra

@ Marscos: Jika output Anda eksponensial, Anda tidak mungkin memiliki algoritma yang berjalan dalam waktu sub-eksponensial.
Aryabhata

1
Ini adalah hasil umum. Jika ada batasan yang diketahui pada kelas input NFA, maka dimungkinkan untuk melakukan yang lebih baik.
András Salamon

@Andras: Setuju, tetapi mengingat bahwa ini mungkin terkait pemrograman (yang akan mendukung Kleen * dll), saya ragu apakah rangkaian input NFA akan dibatasi pada subset yang tepat.
Aryabhata

5
Hasil ini baru-baru ini diperkuat untuk menggunakan alfabet tiga huruf, dan konstruksinya sedikit lebih sederhana: portal.acm.org/…

13

Contoh klasik untuk bahasa dengan pemisahan eksponensial antara ukuran DFA dan ukuran NFA adalah bahasa terbatas berikut: string biner dengan panjang tepat 2n di mana bagian pertama tidak sama dengan bagian kedua. NFA akan menebak indeks i di mana babak pertama dan kedua tidak setuju. Batas bawah untuk DFA mengikuti kompleksitas komunikasi, misalnya.


8

DFA minimum yang sesuai dengan NFA memiliki kondisi 2 ^ n terburuk, jadi Anda tidak dapat menjamin apa pun. Tanpa memiliki contoh konstruktif, alasannya adalah bahwa dalam NFA Anda dapat berada di setiap subset negara setelah membaca string input tertentu, dan setiap subset tersebut mungkin berperilaku berbeda ketika mengamati satu karakter. Misalkan bahasa dengan dua karakter dalam alfabet (a dan b), dan NFA N dengan n menyatakan yang dimulai dengan keadaan penerimaan di s_0. Sekarang menghitung semua himpunan bagian dari negara N, dan membangun tabel transisi sedemikian sehingga mengamati "a" dari subset S_i akan membawa Anda ke subset S_i + 1 dan mengamati b membawa Anda ke subset S_i-1 (ini bisa dilakukan untuk beberapa enumerasi, saya pikir ). Sekarang automata ini memiliki n menyatakan dan menerima urutan ma dan nb sedemikian sehingga mn = 0 mod 2 ^ | N |, dan tidak dapat diekspresikan dengan DFA yang memiliki kurang dari 2 ^ | N | menyatakan (karena mungkin perlu untuk menggilir semua himpunan bagian NFA N).


Bisakah ini diubah menjadi argumen yang mengatakan "jika (beberapa hal buruk) dihindari di NFA, maka DFA memiliki jumlah negara subeksponensial"?
András Salamon

1
@ András, ya. "Jika nondeterminisme dihindari dalam NFA, maka DFA memiliki jumlah negara subeksponensial".
P Shved

2
Pavel, ya, tentu saja. Apakah ada properti non-sepele yang dapat dikenali secara efisien yang juga menjamin ledakan subeksponensial?
András Salamon
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.