CFG parsing menggunakan


18

Ada banyak algoritma yang dapat menguraikan tata bahasa bebas konteks dalam waktu . Dengan menggunakan perkalian matriks, seseorang bahkan bisa berjalan lebih cepat tanpa gejala dari itu.O(n3)

Namun, semua algoritma untuk parsing CFG sewenang-wenang yang saya tahu memiliki penggunaan ruang kasus terburuk (meskipun, diakui, saya tidak tahu apa penggunaan ruang dari algoritma multiplikasi matriks itu). Saya bertanya-tanya apakah ada algoritma yang meningkatkan penggunaan ruang ini (jadi abaikan batas waktu).Ω(n2)

Pertanyaan itu muncul dalam pikiran saya setelah secara mental menghubungkan dengan ruang Ω ( n 2 ) yang terikat pada semua algoritma penguraian CFG Saya tahu. Ini mungkin tidak menarik secara praktis, tetapi hanya sesuatu yang saya ingin ketahui.CSG=NDSPACE(n)⊆DSPACE(n2)Ω(n2)


5
Tidak tahu tentang semua algoritma parsing lainnya, tetapi mereka berdasarkan perkalian matriks melakukan take ruang; lihat: cstheory.stackexchange.com/questions/1313/…Θ(n2)
— Ryan Williams

Jawaban:


14

Bagian pertama dari jawaban ini tidak lebih dari pengulangan jawaban ( menjadi log 2 ( n ) ) yang efisien dari jawaban David dalam istilah teoretis kompleksitas.log4⁡(n)log2⁡(n)

LOGCFL.NC2.NC2DSPACE(log2⁡(n))nlog⁡n

O(n2)n2

Tentunya masalah yang sangat menarik layak untuk dilihat.


Itu presentasi yang cukup menarik, terima kasih untuk tautannya.
— Alex ten Brink


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.