Saya mengerti bahwa tata bahasa bebas konteks dapat digunakan untuk mewakili bahasa bebas konteks. Mungkin ada ambiguitas. Kami juga memiliki bentuk normal seperti bentuk normal Chomsky dan Greibach . Saya tidak bisa mengerti kebutuhan itu.
Mengapa mereka penting dalam teori bahasa? Semua buku teks yang saya maksudkan menceritakan tentang bentuk-bentuk normal ini tetapi tidak memberi tahu apa-apa tentang pentingnya.
formal-languages
context-free
formal-grammars
normal-forms
pengguna5507
sumber
sumber
Jawaban:
Setidaknya ada dua kegunaan yang relevan.
Kesederhanaan bukti
Ada banyak bukti di sekitar tata bahasa bebas konteks, termasuk reducability dan kesetaraan dengan automata. Itu adalah semakin sederhana semakin terbatas tata bahasa yang harus Anda tangani. Karena itu, bentuk normal dapat membantu di sana.
Sebagai contoh konkret, bentuk normal Greibach digunakan untuk menunjukkan (secara konstruktif) bahwa ada PDA -transisi-bebas untuk setiap CFL (yang tidak mengandung ).εε ε
Mengaktifkan penguraian
Meskipun PDA dapat digunakan untuk mengurai kata-kata dengan tata bahasa apa pun, ini sering kali tidak nyaman. Bentuk normal dapat memberi kita lebih banyak struktur untuk bekerja, menghasilkan algoritma penguraian yang lebih mudah.
Sebagai contoh nyata, algoritma CYK menggunakan bentuk normal Chomsky. Bentuk normal Greibach, di sisi lain, memungkinkan penguraian rekursif-keturunan; meskipun mungkin diperlukan backtracking, kompleksitas ruang adalah linier.
sumber
Bentuk normal Chomsky memungkinkan algoritma waktu polinomial untuk memutuskan apakah suatu string dapat dihasilkan oleh tata bahasa. Algoritma ini cukup apik jika Anda tahu pemrograman dinamis ...
Jika panjang input Anda ( ) adalah maka Anda mengambil array 2d ( ) dari redup x .n A n nI n A n n
G I ( i , j )A[i,j] menunjukkan semua simbol dalam tata bahasa yang dapat menurunkan sub-string .G I(i,j)
Jadi akhirnya jika berisi simbol awal ( ) maka itu berarti string saya dapat diturunkan oleh yang ingin kami periksa.S SA[1,n] S S
Saya tahu bahwa indeksnya terlihat cukup gila. Tapi pada dasarnya inilah yang terjadi.
sub
sumber
Sheila Greibach menemukan bentuk normal Greibach untuk membuktikan bahwa setiap CFG dapat dikenali oleh PDA yang bekerja secara real time (yaitu, tanpa transisi ).ϵ
sumber