Memutuskan kekosongan persimpangan bahasa reguler dalam waktu subquadratic

23

Misalkan menjadi dua bahasa reguler yang diberikan oleh NFA sebagai input.M 1 , M 2L1,L2M1,M2

Asumsikan kami ingin memeriksa apakah . Ini jelas dapat dilakukan oleh algoritma kuadratik yang menghitung otomat produk , tetapi saya bertanya-tanya apakah ada yang lebih efisien diketahui.M 1 , M 2L1L2M1,M2

Apakah ada algoritma untuk memutuskan apakah ? Apa algoritma yang paling cepat diketahui?L 1L 2o(n2)L1L2

BPR
sumber
5
Jika ada yang punya ide bagus, silakan beri tahu saya, tetapi saat ini ini merupakan masalah terbuka. Jika Anda dapat memecahkan masalah ini dalam waktu linear, maka pada dasarnya masalah apa pun yang dapat dipecahkan oleh mesin non-deterministik yang hanya menggunakan n bit memori dapat diselesaikan secara deterministik dalam kali. 2n2
Michael Wehar
6
Saya pikir itu masih terbuka untuk sub-kuadratik. Beberapa info lebih lanjut: rjlipton.wordpress.com/2009/08/17/…
Michael Wehar
4
Jadi misalnya (berdasarkan komentar Michael), hipotesis waktu eksponensial yang kuat menyiratkan bahwa eksponen harus 2. Saya pikir ini juga dapat terbukti mengikuti dari hipotesis waktu eksponensial ...
Ryan Williams
4
RB: Asumsikan Anda dapat menguji kekosongan dua DFA ukuran dalam waktu n 1 + ε dengan ε < 1 . Sekarang, jika Anda memiliki k DFA ukuran n , Anda dapat membangun produk dari D / k / 2 pertama dan dari k / 2 DFA yang tersisa. Kemudian, uji kekosongan waktu ( n k / 2 ) 1 + ε = n 1nn1+εε<1knk/2k/2yang lebih baik daripadank. vzn: Makalah pemenang penghargaan ini ditulis oleh @MichaelWehar yang berkomentar di utas ini. Michael, mungkin Anda bisa mengirimkan jawaban, jika Anda punya waktu! (nk/2)1+ε=n12k+ε2knk
Michael Blondin
4
@RyanWilliams Hai Ryan, apa yang membuat Anda berpikir bahwa hipotesis waktu eksponensial yang lebih lemah menyiratkan bahwa kita tidak dapat menyelesaikan persimpangan non-kekosongan untuk dua DFA yang lebih cepat? Orang lain juga pernah menyarankan ini kepada saya. :)
Michael Wehar

Jawaban:

22

Jawaban sederhana : Jika memang ada algoritma yang lebih efisien yang berjalan dalam waktu untuk beberapa δ < 2 , maka hipotesis waktu eksponensial yang kuat akan ditolak.HAI(nδ)δ<2


Kami akan membuktikan teorema yang lebih kuat dan kemudian jawaban sederhana akan mengikuti.

Teorema : Jika kita dapat menyelesaikan masalah non-kekosongan simpang untuk dua DFA dalam waktu , maka setiap masalah yang dipecahkan secara non-deterministik hanya dengan menggunakan n bit memori dapat dipecahkan secara deterministik dalam p o l y ( n ) 2 ( δ n / 2 ) waktu.HAI(nδ)halHaily(n)2(δn/2)

Pembenaran : Misalkan kita bisa menyelesaikan persimpangan non-kekosongan untuk dua DFA dalam waktu . Biarkan mesin Turing non-deterministik M dengan tape input hanya baca dan tape kerja biner baca / tulis diberikan. Biarkan string input x panjang n diberikan. Misalkan M tidak mengakses lebih dari n bit memori pada pita kerja biner.HAI(nδ)

Perhitungan M pada input x dapat diwakili oleh daftar konfigurasi yang terbatas. Setiap konfigurasi terdiri dari keadaan, posisi pada pita input, posisi pada pita kerja, dan hingga n bit memori yang mewakili pita kerja.

Sekarang, pertimbangkan bahwa rekaman kerja itu terbelah dua. Dengan kata lain, kita memiliki bagian kiri sel dan bagian kanannn2 sel. Setiap konfigurasi dapat dipecah menjadi bagian kiri dan bagian kanan. Bagian kiri terdiri dari keadaan, posisi pada pita input, posisi pada pita kerja, dannn2 bit dari bagian kiri. Bagian kanan terdiri dari keadaan, posisi pada pita input, posisi pada pita kerja, dannn2 bit dari bagian kanan.n2

Sekarang, kita membangun DFA yang menyatakan bagian kiri dan DFA D 2 yang menyatakan bagian kanan. Karakter alfabet adalah instruksi yang mengatakan ke negara mana harus pergi, bagaimana kepala pita harus bergerak, dan bagaimana sel aktif pita kerja harus dimanipulasi.D1D2

Idenya adalah bahwa dan D 2 membaca dalam daftar instruksi yang sesuai dengan perhitungan M pada input x dan bersama-sama memverifikasi bahwa itu adalah sah dan menerima. Baik D 1 maupun D 2 akan selalu sepakat di mana letak kepala tape karena informasi tersebut dimasukkan dalam karakter input mereka. Oleh karena itu, kita dapat memiliki D 1 memverifikasi bahwa instruksi yang tepat ketika posisi pita kerja di bagian kiri dan D 2 memverifikasi ketika di bagian kanan.D1D2D1D2D1D2

Secara total, terdapat paling banyak status untuk setiap DFA dan paling banyak p o l y ( n ) karakter alfabet yang berbeda.halHaily(n)2n/2halHaily(n)

Dengan asumsi awal, berarti kita dapat memecahkan persimpangan non-kekosongan selama dua DFA di waktu.halHaily(n)2(δn/2)

Anda mungkin menemukan ini membantu: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


CNF-SAT dapat dipecahkan menggunakan bit memori di mana k adalah jumlah variabel. Konstruksi sebelumnya dapat digunakan untuk menunjukkan bahwa jika kita dapat menyelesaikan persimpangan non-kekosongan untuk dua DFA dalam waktu O ( n δ ) , maka kita dapat menyelesaikan CNF-SAT dalam p o l y ( n ) 2 ( δ k / 2 ) waktu. Karena itu, jawaban sederhana tetap berlaku.k+HAI(log(n))HAI(nδ)halHaily(n)2(δk/2)

Komentar, koreksi, saran, dan pertanyaan disambut. :)

Michael Wehar
sumber
1
semua bagus tapi pertanyaan awal di atas adalah untuk NFA; apakah semuanya masih mengikuti? juga, beberapa detail kunci tidak disertakan. tampaknya layak kertas. atau semuanya ada dalam publikasi Anda? Jika demikian, silakan kutip / diikat ke teorema bernomor di sana dll. juga akan sangat membantu untuk menyatakan ini semua lebih dalam hal kompleksitas kelas std L, P, NP, PSpace, ExpTime dll jika memungkinkan. juga bertanya-tanya apakah ada yang bisa dikatakan tentang arah "kuat" persimpangan DFA 2 arah kekosongan batas bawah ( ?) → SETH ...? apa yang perlu ditunjukkan untuk itu? Ω(n2)
vzn
1
Hai VZN, masalah persimpangan untuk NFA tampak sedikit lebih sulit daripada masalah persimpangan untuk DFA. Namun, ini tidak terjadi karena ada pengurangan parameter dari persimpangan non-kekosongan untuk NFA ke persimpangan non-kekosongan untuk k DFA. Ini disebutkan di koran pertama saya. kk
Michael Wehar
1
Mungkin Anda bisa menjelaskan secara lebih rinci apa yang Anda maksudkan ketika Anda menyebutkan DFA 2 arah. Masalah non-kekosongan untuk -membalik DFA dua arah sama sulitnya dengan masalah non-kekosongan persimpangan untuk k DFA satu arah. Tautan: cs.stackexchange.com/questions/13456/…(2k-2)k
Michael Wehar
1
Dalam hal kelas kompleksitas standar, Anda dapat menyatakan ini sebagai sesuatu seperti: menyiratkan SETH salah. Ketika saya menulis N S p a c e ( 2 log ( n ) ) , maksud saya 2 log ( n )NShalSebuahce(2log(n))DTsayame(n)NShalSebuahce(2log(n))2log(n)ruang untuk mesin Turing non-deterministik dengan tape input hanya baca dua arah dan tape kerja biner baca / tulis dua arah.
Michael Wehar