Hirarki Chomsky (–Schützenberger) digunakan dalam buku teks ilmu komputer teoretis, tetapi itu jelas hanya mencakup sebagian kecil dari bahasa formal (REG, CFL, CSL, RE) dibandingkan dengan Diagram Kompleksitas Kebun Binatang . Apakah hierarki memainkan peran dalam penelitian saat ini lagi? Saya hanya menemukan sedikit referensi untuk Chomsky di sini di cstheory.stackexchange, dan di Complexity Zoo nama-nama Chomsky dan Schützenberger tidak disebutkan sama sekali.
Apakah penelitian saat ini lebih fokus pada cara deskripsi lain selain tata bahasa formal? Saya mencari metode praktis untuk menggambarkan bahasa formal dengan ekspresi yang berbeda, dan menemukan bahasa sensitif konteks yang berkembang (GCSL) dan bahasa pushdown (VPL), yang keduanya terletak di antara bahasa Chomsky klasik. Bukankah hierarki Chomsky diperbarui untuk memasukkan mereka? Atau apakah tidak ada gunanya memilih hierarki tertentu dari set lengkap kelas kompleksitas? Saya mencoba memilih hanya bahasa-bahasa yang sesuai dengan celah hierarki Chomsky, sejauh yang saya mengerti:
REG (= Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL ⊊ CSL (= Chomsky 1) ⊊ R ⊊ RE
Saya masih belum mendapatkan di mana "bahasa yang agak peka konteks" dan "bahasa yang diindeks" cocok (di suatu tempat antara CFL dan CSL) meskipun tampaknya ada relevansi praktis untuk pemrosesan bahasa alami (tapi mungkin apa pun relevansi praktis kurang menarik dalam penelitian teoritis ;-). Selain itu Anda bisa menyebutkan GCSL ⊊ P ⊂ NP ⊂ PSPACE dan CSL ⊊ PSPACE ⊊ R untuk menunjukkan hubungannya dengan kelas P dan NP yang terkenal.
Saya temukan di GCSL dan VPL:
- Robert McNaughton: Sebuah Penyisipan ke dalam Hirarki Chomsky ?. Dalam: Jewels is Forever, Kontribusi pada Ilmu Komputer Teoretis untuk Kehormatan Arto Salomaa. S. 204-212, 1999
- http://en.wikipedia.org/wiki/Nested_word#References (VPL)
Saya juga akan senang jika Anda mengetahui buku teks terbaru tentang tata bahasa formal yang juga berhubungan dengan VPL, DCLF, GCSL dan tata bahasa yang diindeks, lebih disukai dengan pointer ke aplikasi praktis.
Jawaban:
Dari apa yang saya lihat di komunitas Natural Language Processing, tata bahasa formal à la Chomsky tidak digunakan lagi. Mereka (juga) berpikir bahwa Hierarki Chomsky sudah ketinggalan zaman untuk memodelkan bahasa.
Apa yang terjadi adalah hal-hal seperti Re-writting rule (algoritma Lars), model ketergantungan (Dan Klein), Tata Bahasa Pengganti Pohon (model DOP), Tata Bahasa Fitur Biner (Alex Clark).
sumber
Singkatnya: ya.
Lebih khusus: Chomsky adalah salah satu yang pertama memformalkan hierarki yang berkaitan dengan bahasa, tata bahasa, dan automata. Wawasan ini masih sangat relevan dan diajarkan di semua kursus intro tentang teori automata. Namun, hierarki spesifik yang dihasilkan oleh Chomsky dan nama-nama untuk elemen-elemen hierarki tidak benar-benar signifikan lagi. Kami telah menemukan banyak formalisme yang berada di antara level hierarki Chomsky, di atasnya, atau di bawahnya. Dan nama-nama yang digunakan Chomsky tidak terlalu menarik, yaitu mereka tidak didasarkan pada ukuran kompleksitas yang menarik atau apa pun, mereka hanya angka. Haruskah bahasa yang agak peka konteks adalah Tipe-1.5 atau Tipe-1.7 atau Tipe-1.3? Siapa peduli. "Agak peka konteks" adalah nama yang jauh lebih informatif.
Kompleksitas Zoo agak sedikit berbeda karena penuh dengan segala macam persamaan kondisi dan sejenisnya. Hierarki yang lebih modern untuk teori automata tidak akan linear (misalnya, bandingkan CFG vs PEG) tetapi masih memiliki topologi yang terkenal. Untuk mendapatkan perspektif teori automata modern Anda harus melihat bekerja pada parser combinator libraries dan beberapa hal tentang unifikasi dan teori tipe (meskipun keduanya bercabang jauh).
sumber
Jika ada sesuatu di TCS yang ketinggalan jaman, hierarki inklusi dari subset kecil kelas kompleksitas ini yang diketahui / dianggap menarik pada tahun 1956.
Beristirahatlah dengan tenang, Chomsky Hierarchy, dan semoga Anda menghantui kurikulum teori sarjana lagi.
sumber
Jika Anda mempertimbangkan Hierarki Chomsky dengan nama "modern" (yaitu REG, LIN, CFL, CSL, RE resp. DFA / NFA, PDA, LBA, TM), saya katakan: Tidak, tidak ketinggalan jaman!
Alasan 0 : Masih benar dalam arti bahwa definisi dan hasilnya tidak bertentangan dengan pengetahuan yang lebih baru.
Alasan 1 : Model kelas / komputasi ini masih yang pertama kali Anda ajarkan - karena sederhana dan dipelajari dengan baik. Coba ajarkan otomat LR ke seorang mahasiswa sarjana tanpa meliput DFA / DPDA terlebih dahulu.
Alasan 2 : Kelas masih menjadi tolok ukur utama / utama untuk penemuan baru (saya membaca sekilas tentang multi-CFG yang, tentu saja, mengatakan: lebih dari CFG, kurang dari CSG). Itu mungkin sebagian karena mereka diajarkan pertama, tetapi juga karena mereka adalah sederhana dan dipelajari dengan baik.
Anti-Alasan 3 : Hasil tidak kedaluwarsa hanya karena kelas / model baru telah ditemukan. Mereka menjaga nilai mereka sebagai dasar-dasar lapangan meskipun mereka tidak digunakan di perbatasan penelitian aktif.
sumber
Saya pikir itu tergantung pada model perhitungannya. Jika Anda mempertimbangkan yang terbatas / pushdown / dll. automata sebagai model perhitungan, maka hierarki Chomsky menjadi penting (lihat misalnya buku Sipser). Di sisi lain, itu memainkan peran kecil dalam model komputasi Turing.
Ilustrasi berikut mungkin bermanfaat:
Sunting: Bahasa formal memainkan peran penting dalam mendesain bahasa komputer (seperti Java) dan kompiler, serta dalam pemrosesan bahasa alami (NLP).
sumber