Apakah semua bahasa bebas konteks dan reguler dapat dipilih secara efisien?


12

Saya menemukan gambar ini yang menunjukkan bahwa bahasa bebas konteks dan reguler adalah himpunan bagian dari masalah yang efisien (seharusnya ). Saya benar-benar mengerti bahwa masalah yang efisien adalah himpunan bagian dari semua masalah yang dapat diputuskan karena kita dapat menyelesaikannya tetapi bisa memakan waktu yang sangat lama.P

Mengapa semua bahasa bebas konteks dan reguler secara efisien dapat dipilih? Apakah ini berarti menyelesaikannya tidak akan memakan waktu lama (maksud saya kita mengetahuinya tanpa lebih banyak konteks)?

masukkan deskripsi gambar di sini


3
Karena penasaran, di mana Anda menemukan angka ini? Mungkin membantu untuk memiliki konteks untuk menjelaskan, karena "efisien" bukan gagasan formal dan orang yang berbeda mungkin menggunakannya untuk hal-hal yang berbeda.
Gilles 'SO- stop being evil'

2
Jika "efisien" berarti " " (seperti biasa), "efisien" tidak berarti "tidak terlalu lama" karena polinomial menghasilkan nilai yang besar juga. Perhatikan hasil dasar dalam kompleksitas adalah bahwa ada urutan masalah yang tak terbatas, masing-masing dengan mudah lebih mudah daripada yang berikutnya. Ini berlaku di dalam dan di luar . PPP
Raphael

@ Raphael: Dalam konteks ini, efisien adalah kelas bahasa yang dapat ditentukan dalam waktu polinomial. Saya menggunakan "ini bisa memakan waktu yang sangat lama" untuk masalah yang dapat diputuskan dibandingkan dengan masalah yang tidak dapat diputuskan yang kami tidak dapat menemukan solusi dalam jumlah waktu yang terbatas.
Gigili

cara teknis yang benar untuk mengatakan ini adalah menentukan apakah w∈L di mana w adalah kata dan L adalah bahasa dalam P. ie / alias "pengenalan bahasa"
vzn

Jawaban:


15

Keanggotaan bahasa reguler dapat diputuskan dalam waktu dengan mensimulasikan DFA bahasa (minimal) (yang telah dikomputasi sebelumnya).O(n)

Keanggotaan bahasa bebas konteks dapat ditentukan dalam oleh Algoritma CYK .O(n3)

Ada bahasa yang tidak dapat dipisahkan yang tidak ada di , seperti yang ada di .E X P T I M EPPEXPTIMEP


2
Anda mungkin ingin menyebutkan algoritma perkalian matriks untuk gram-gram bebas konteks yang memiliki waktu berjalan lebih baik, dan bahwa algoritma ini bekerja sangat efisien (linear) pada hampir semua tata bahasa bebas konteks praktis: sciencedirect.com/science/article/pii / 030439759190180A
Alex ten Brink

@AlextenBrink Saya tidak berpikir pertanyaan ini meminta granularity lebih baik daripada "polinomial atau tidak".
Raphael

1
O(n)

1
Bahkan, untuk bahasa reguler, Anda bahkan tidak perlu automata deterministik secara eksplisit. Anda mensimulasikan semua perhitungan secara paralel dengan melacak semua status dengan cara yang meniru konstruksi powerset.
Hendrik

1
@ Dave: linear dalam panjang string input, untuk bahasa reguler yang tetap, seperti kompleksitas lain yang diberikan di sini.
Hendrik

1

Perbaikan / "cetak halus" pada jawaban oleh DC: semua CFL dalam bentuk Chomsky Normal Form dapat diurai secara efisien dengan algoritma CYK dan semua CFL dapat dikonversi ke CNF. Namun, mengkonversi CFL sewenang-wenang ke CNF dapat mengambil ruang eksponensial dalam kasus terburuk tergantung pada beberapa algoritma. (Saya tidak mengetahui adanya algoritma yang menjamin konversi P-time di sini, apakah ada yang lain? Orang harus mempertimbangkan semua kasus tepi / terburuk seperti CFL nondeterministik atau yang ambigu .) Wikipedia menyatakan di bagian CNF Urutan transformasi

|G|222|G|

Oleh karena itu, mungkin ada CFL yang tidak dapat diuraikan secara efisien. Sebagian besar bahasa pemrograman secara efisien dapat dikonversi ke CNF (atau mungkin sebagian besar didefinisikan dalam CNF atau dekat-CNF) oleh karena itu penguraian CFL untuk bahasa "tipikal" adalah "praktis" dalam P. Mungkin ada beberapa penelitian modern dalam kompleksitas kasus terburuk ini (tetapi tidak temukan makalah terbaru di atasnya pada pencarian sepintas). Misalnya makalah penelitian yang lebih tua (1973) oleh Greibach ini juga tampaknya menunjukkan bahwa kinerja kasus terburuk mungkin tidak dibatasi oleh P. lihat misalnya.

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.