NFA ke DFA Powerset Construction: Algoritma determinasi parsial dengan trade-off antara waktu berjalan dan ukuran untuk automata yang dihasilkan?

8

Mengingat NFA N dan yang setara DFA D yang dihasilkan dari keseluruhan determinization dari N (menggunakan konstruksi Powerset, misalnya), sifat-sifat berikut tahan selama N , D dan untuk setiap kata w :

  • N membacaw dalam menjalankan waktu paling banyakO(|w|.|N|2) .
  • D membacaw dalam menjalankan waktu paling banyakO(|w|) dan ukurannya mungkinO(2|N|) (dalam jumlah negara yang diperlukan untuk mewakiliD ).

Saya bertanya-tanya apakah ada beberapa algoritma determinasi parsial yang menjamin trade-off antara ukuran hasil dan waktu berjalan?

Sebagai contoh, algoritma determinisasi parsial ini dapat mengubah NFA menjadi automata deterministik parsial D sedemikian rupa sehingga D menjamin bahwa kata w dibaca dalam O(|w|.|N|x) mana 0x2 tanpa melebihi ukuran |D|2f(x) mana f(x) adalah fungsi penurunan kontinu yang didefinisikan pada rentang[0,2] sedemikian rupa sehinggaf(0)=|N|danf(2)=log|N|.

Saya tidak menemukan metode apa pun untuk menentukan sebagian NFA sedemikian rupa. Dalam semua makalah: penentuan baik dihindari karena NFA terlalu besar, baik determinasi penuh dan NFA diubah menjadi DFA (dengan kemungkinan ledakan eksponensial). Tidak ada kompromi ...

Saya akan sangat menghargai referensi atau jawaban apa pun mengenai masalah ini. Terima kasih banyak, Luz.

Luz
sumber
4
Apakah cstheory.stackexchange.com/a/1273/236 bermanfaat?
Radu GRIGore
1
Wow :-) ini luar biasa! Memang, postingan cstheory.stackexchange.com/questions/1132/… sepertinya melakukan pekerjaan itu. Terima kasih banyak, saya akan memproses jawaban D. Eppstein ...
Luz

Jawaban:

6

Makalah [HP06] dalam semangat ide Anda, meskipun dalam arah yang berbeda, dalam konteks kata-kata yang tak terbatas. Itu dapat diadaptasi lebih mudah untuk kata-kata yang terbatas.

Dalam konstruksi powerset, kami secara simultan melacak semua kemungkinan menjalankan otomat status- , dengan bergerak di sekitar n token. Tetapi kita dapat memutuskan untuk mengikuti hanya k < n running, dan melakukan konstruksi parsial powerset. Secara umum ini akan menghasilkan otomat non-deterministik, yang tidak benar-benar lebih berguna daripada yang asli.nnk<n

kab22n(n+1)2

1

kkkk

[HP06] Memecahkan game tanpa determinasi , Henzinger, Piterman, di CSL 2006

[BKKS13] Nondeterminisme di hadapan masa depan yang beragam atau tidak diketahui , Boker, Kuperberg, Kupferman, Skrzypczak, di ICALP 2013

[KS15] Tentang Penentuan Good-for-Games Automata , Kuperberg, Skrzypczak, di ICALP 2015

Denis
sumber
1
Terima kasih banyak untuk posting Anda :-) tapi saya butuh sedikit bantuan untuk memahami gambaran besar dari apa yang Anda usulkan. Saya juga ingin memahami perbedaan utama antara posting Anda dan salah satu dari D. Eppstein (seperti yang disarankan dalam komentar atas), di sini: cstheory.stackexchange.com/questions/1132/… .
Luz
1
n1xnwO(w.x2)O(x2.2n/x)
1
kNnS=O(i=0k(ni))kNT=O(w.k)N
1
Pertanyaan tambahan jika kedua hipotesis sebelumnya benar. Bayangkan sebuah usecase di mana ruang yang tersedia untuk menentukan diperbaiki sehingga dengan . Kemudian kita secara parsial menentukan menjadi dengan menerapkan konstruksi -powerset pada (karena ada cukup ruang untuk melakukannya). Apakah waktu maksimum yang diperlukan untuk mensimulasikan ? SNS=O(i=0p(ni))pkNNpNO(w.(k/p))N
Luz
(1) Ya (2) tidak yakin apa yang Anda maksud dengan "simulasi", tetapi Anda dapat dengan pasti memindahkan k token di N untuk melihat apakah sebuah kata diterima, jadi saya akan mengatakan ya (3) Ya, dengan langit-langit pada k / p
Denis