Kompleksitas persimpangan bahasa biasa sebagai tata bahasa bebas konteks

20

Diberikan reguler , apakah ada batasan non-sepele pada ukuran tata bahasa bebas konteks terkecil untuk ?R 1R nR1,,RnR1Rn

Maks
sumber
??? mencoba memvisualisasikan ini. apakah ada trik? persimpangan adalah biasa. seseorang dapat menemukan DFA minimal (hitungan status negara) melalui metode standar yang juga merupakan CFG. Rn
vzn
@ vz: Anda benar. Masalahnya adalah bahwa DFA ini, dan karenanya CFG, bisa sangat besar. Saya ingin tahu apakah seseorang dapat menggunakan kekuatan ekstra CFG untuk mendapatkan deskripsi persimpangan yang lebih ringkas.
Maks.
dugaan tidak. mencurigai bahwa setiap CFL yang mengenali (yaitu setara dengan) suatu RL tidak menggunakan tumpukan atau dapat dikonversi ke yang tidak memiliki peningkatan di negara, dan minimum seperti PDA (jumlah negara wrt) adalah ukuran yang sama dengan minimal DFA. belum pernah mendengar / melihat bukti dari ini. itu mungkin tidak sulit? pertanyaan sederhana, apakah ada setiap PDA yang mengakui RL yang lebih kecil dari DFA? pikir tidak.
vzn
@vzn: Dugaan yang berguna, tetapi salah: misalkan menjadi himpunan bagian dari bahasa Dyck pada dua jenis kurung di mana kedalaman bersarang maksimum . Ada CFG untuk ukuran , tetapi DFA minimal (bahkan, saya pikir, NFA minimal) memiliki ukuran . k L k O ( k ) O ( 2 k )LkkLkO(k)O(2k)
Maks.
Bahasa Dyck adalah CFL tetapi bukan RL ...? tetapi melihat Anda membatasi kedalaman bersarang maksimum ... jadi bisakah Anda membangun bahasa yang sama dengan persimpangan RL? apa / di mana buktinya bahwa DFA minimal adalah sebesar itu? apakah itu menyatakan ? Anda tidak mendefinisikan kriteria minimal atau di tempat lain & menganggap negara sebagai kasus alami tetapi seringkali bukan satu-satunya. O(2k)
vzn

Jawaban:

6

Ini adalah pertanyaan yang bagus dan benar-benar terletak pada minat saya. Saya senang Anda menanyakannya, Max.

Biarkan DFA dengan paling banyak menyatakan masing-masing diberikan. Akan lebih baik jika ada PDA dengan banyak negara sub-eksponensial yang menerima persimpangan bahasa DFA. Namun, saya menyarankan bahwa PDA seperti itu mungkin tidak selalu ada.O ( n )nO(n)

Pertimbangkan bahasa salin. Sekarang, batasi untuk menyalin string dengan panjang n.

Secara formal, pertimbangkan copy .: = { x xn:= {xx|x{0,1}n}

Kita dapat merepresentasikan copy sebagai persimpangan DFA dengan ukuran paling banyak . Namun, DFA terkecil yang menerima -copy memiliki status.n O ( n ) n 2 Ω ( n )nnO(n)n2Ω(n)

Demikian pula, jika kita membatasi diri pada alfabet tumpukan biner, maka saya curiga bahwa PDA terkecil yang menerima copy memiliki banyak keadaan secara eksponensial.n

PS Jangan ragu untuk mengirim saya email jika Anda ingin membahas lebih lanjut. :)

Michael Wehar
sumber
5

Saya tidak berpikir bahwa ada batas bawah atau atas non-sepele.
Untuk batas bawah, pertimbangkan bahasa untuk tetap . Ukuran tata bahasa bebas konteks terkecil adalah logaritmik dalam ukuran ekspresi reguler , sedangkan ukuran otomat terkecil untuk adalah linier dalam ukuran regex . Perbedaan eksponensial ini tetap sama jika kami memotong dengan bahasa lain seperti itu. Untuk batas atas, pertimbangkan bahasa yang terdiri dari tepat satu deBruijn-Urutan panjang . Diketahui bahwa ukuran tata bahasa terkecil untukL1={a2k}kL1L1L1L1
L2nL2 adalah yang terburuk, yaitu , jadi perbedaan dengan otomat "terkecil" untuk hanyalah faktor logaritma, proposisi 1 dalamO(nlogn)L2

Batas bawah atau batas atas non-trivial umum akan bertentangan dengan hasil tersebut, karena apa yang benar untuk persimpangan bahasa harus benar untuk persimpangan bahasa.1n1

john_leo
sumber
Pernyataan tentang ukuran tata bahasa terkecil untuk deBruijn-Sequence tunggal cukup menarik. Bisakah Anda memberikan referensi. Terima kasih.
Michael Wehar
Juga, saya bisa saja salah, tetapi tampaknya Anda hanya mengatasi masalah untuk ekspresi reguler tunggal (bukan produk ekspresi reguler)?
Michael Wehar
@MichaelWehar Yap, saya hanya mempertimbangkan satu ekspresi reguler. Karena jika harus benar untuk persimpangan bahasa, maka itu pasti benar untuk persimpangan sepele. Saya tidak tahu bagaimana merumuskan kembali pertanyaan untuk mengecualikan kasus-kasus ini. Saya menambahkan referensi, seharusnya segera melakukannya, maaf. n
john_leo
1
Terima kasih! Anda dapat menggambarkan contoh spesifik. Berikut ini adalah komentar sederhana yang mengarah pada keberadaan contoh-contoh tersebut. Biarkan n diberikan. Ada 2 string panjang n. Juga, tidak ada lebih dari 2 ^ n mesin Turing dengan paling banyak n / log (n) menyatakan. Oleh karena itu, beberapa string x dengan panjang n sehingga tidak ada mesin Turing dengan kurang dari n / log (n) menyatakan menerima bahasa {x}. Oleh karena itu, {x} diterima oleh DFA dengan status n dan tidak dapat diterima oleh PDA dengan status kurang dari n / log (n).
Michael Wehar
5

Biarkan saya yang kedua penilaian Michael, ini memang pertanyaan yang menarik. Gagasan utama Michael dapat dikombinasikan dengan hasil dari literatur, sehingga memberikan batas bawah yang sama dengan bukti yang kuat.

Saya akan merujuk batasan pada ukuran CFG dalam hal jumlah total simbol alfabet dalam ekspresi reguler. Biarkan nomor ini dilambangkan dengan k . (Seperti yang dicatat john_leo, kami tidak akan menemukan batasan yang berguna dalam hal jumlah ekspresi reguler yang mengambil bagian dalam persimpangan.)nk

Baik OP maupun Michael tidak merasa perlu untuk menyebutkan ini, tapi batas atas (jumlah negara) untuk mengkonversi sebuah persimpangan dari ekspresi reguler menjadi NFA dapat dengan mudah dibuktikan. Sebagai catatan, ini dia: Konversi ekspresi reguler ke Glushkov automata, yang semuanya tidak dapat dikembalikan. Kemudian terapkan konstruksi produk untuk mendapatkan NFA untuk persimpangan bahasa-bahasa ini. (Saya kira bahwa seseorang dapat meningkatkan terikat untuk 2 k + 1 atau lebih.) Sebuah s NFA -state dapat dikonversi menjadi tata bahasa yang benar-linear (yang merupakan kasus khusus dari CFG a) ukuran O ( s 2 )2k+12k+1sO(s2)(jika kita mengukur ukuran tata bahasa sebagai jumlah total simbol di sisi kiri dan kanan produksi), maka memberikan ukuran . Batas ini tentu saja terdengar mengerikan jika Anda memiliki aplikasi praktis dalam pikiran. Mencoba untuk membuktikan ikatan yang lebih baik menggunakan kompleksitas transisi nondeterministic daripada kompleksitas state nondeterministic untuk memperkirakan ukuran NFA mungkin sepadan dengan usaha.O(4k)

Bagian lainnya adalah menemukan bahasa saksi yang dapat secara ringkas diekspresikan sebagai persimpangan ekspresi reguler, tetapi tentu tidak praktis untuk dijelaskan dengan CFG. (Di sini kita perlu membuat batasan yang lebih rendah pada ukuran semua CFG yang menghasilkan bahasa, yang jumlahnya bisa sangat banyak.) Argumen berikut memberikan batas bawah.2Ω(k/logk)

Pertimbangkan bahasa terbatas , di mana w R menunjukkan pembalikan dari w . Kemudian L n dapat diekspresikan sebagai persimpangan dari 2 n + 1 ekspresi reguler berikut:Ln={wwRw{a,b}|w|=n}wRwLn2n+1

  • , untuk 1 ri=(a+b)ia(a+b)2(ni1)a(a+b)+(a+b)ib(a+b)2(ni1)b(a+b) ;1in
  • , untuk 1 si=(a+b)a(a+b)2(ni1)a(a+b)i+(a+b)b(a+b)2(ni1)b(a+b)i ;1in
  • =(a+b)3n

Jumlah total simbol alfabet di persimpangan ekspresi ini adalah dalam O ( n 2 ) .kO(n2)

Menggunakan argumen yang diberikan dalam bukti Teorema 13 dalam ( 1 ), orang dapat membuktikan bahwa setiap CFG asiklik yang menghasilkan harus memiliki setidaknya 2 n / ( 2 n ) = 2 Ω ( Lnvariabel yang berbeda, jika sisi kanan setiap aturan memiliki panjang paling banyak2. Kondisi terakhir diperlukan untuk memperdebatkan jumlah variabel, karena kita dapat menghasilkan bahasa yang terbatas dengan satu variabel. Tetapi dari perspektif ukuran tata bahasa, kondisi ini sebenarnya bukan batasan, karena kita dapat mengubah CFG menjadi bentuk ini hanya dengan ukuran linear, lihat (2). Perhatikan bahwa bahasa yang digunakan oleh Arvind et al. lebih dari alfabet ukurann, dan ini menghasilkan batasnn/(2n); tetapi argumen tersebut tetap dengan modifikasi yang jelas.2n/(2n)=2Ω(k/logk)2nnn/(2n)

Namun, masih ada celah besar antara dan batas bawah yang disebutkan di atas.O(4n)

Referensi:

Hermann Gruber
sumber