Saya mencari teori matematika yang berhubungan dengan menggambarkan bahasa formal (serangkaian string) secara umum dan bukan hanya hierarki tata bahasa.
Saya mencari teori matematika yang berhubungan dengan menggambarkan bahasa formal (serangkaian string) secara umum dan bukan hanya hierarki tata bahasa.
Jawaban:
Ada banyak kemungkinan. Yang lain telah menyebutkan automata yang menawarkan banyak pilihan. Pertimbangkan juga kerangka kerja berikut:
Beberapa bahasa dapat didefinisikan secara langsung oleh (co) definisi induktif . Misalnya, titik akses terkecil dari
adalah bahasa yang sama dengan yang dijelaskan oleh(ba∣a)∗, fixpoint terbesar adalah(ba∣a)ω. Perhatikan bahwa definisi seperti itu juga dapat ditulis dalambentukaturankalkulus atauinferensi:
Kata- kata mendefinisikan struktur kata yang dapat digunakan sebagai model rumus logis . Pada dasarnya, setiap kata mendefinisikan domain dari posisinya , predikat P sebuah : D → { 0 , 1 } sehingga P a ( i ) ⟺ w i = a untuk semua a ∈ Σ , predikat < yaitu < dari Nterbatas dan predikat suc : D w × D w → { 0 , 1 } itu benar jika dan hanya jika parameter kedua adalah penerus langsung dari kepalan tangan.
Jadi misalnya, jika w = a a b a b a a b kemudian
sebenarnya,rumus orde pertamainimendefinisikan --- melalui himpunan semua struktur kata yang memenuhinya --- bahasa yang sama dengan(ba∣a)∗. Yang sesuaiω-language(ba|a)ωdigambarkan olehrumus LTL
Beberapa ekuivalensi antara kelas bahasa klasik dan logika tertentu diketahui. Misalnya,FOberkorespondensi dengan bahasa bebas bintang-, lemahMSOuntuk bahasa reguler danMSOuntukohmbahasa -regular. Lihat disiniuntuk referensi.
Sesuatu yang ortogonal untuk kelas klasik adalah bahasa pola . Asumsikan alfabet terminal dan alfabet variabel X = { x 1 , x 2 , ... } . String p ∈ ( Σ ∪ X ) + disebut pola . Biarkan H = { σ ∣ σ : X → Σ ∗ } set pergantian. Kami mendefinisikan bahasa p pola sebagai
Perhatikan bahwaσdiperluas untuk bekerja pada pola; simbol terminal dibiarkan tidak berubah.
Sebagai contoh, pertimbangkanL(x1abbax1)={wabbaw∣w∈{a,b}∗}.
Perhatikan bahwa kami mengizinkan substitusi untuk menghapus variabel; beberapa properti dari kelas bahasa pola sangat berbeda untuk menghapus substitusi vs non-menghapus. Bahasa pola sangat menarik dalam pembelajaran gaya Emas .
Anda harus melihat pada teori automata . Ada banyak materi tentang itu.
Dalam contoh, Anda dapat mendefinisikan bahasa reguler dengan otomat terbatas nondeterministik dengan tepi berlabel: string milik bahasa jika otomaton dapat mengikuti transisi yang dilabeli oleh karakternya dan berhenti dalam keadaan akhir.
Juga, tata bahasa bebas konteks dapat dikenali oleh otomat pushdown .
Cara lain untuk mendefinisikan bahasa adalah dengan menggunakan mesin Turing .
Dari hierarki Chomsky ada empat jenis bahasa formal (masing-masing adalah subset dari yang setelahnya):
Sebuah bahasa formal biasa dapat dijelaskan oleh:
1., 2. dan 3. adalah setara dan dari salah satunya Anda dapat membangun yang lain.
Sebuah bahasa formal bebas konteks dapat dijelaskan oleh:
Juga 1. dan 2. adalah setara.
Sebuah bahasa formal konteks-sensitif dapat dijelaskan oleh:
Sebuah bahasa formal rekursif enumerable dapat dijelaskan oleh:
Lebih jauh ke jawaban lain, seseorang dapat menggambarkan dan mengklasifikasikan bahasa dalam istilah "generator" dan properti penutupan. Misalnya, masuk akal untuk berbicara tentang AFL terkecil yang dihasilkan oleh beberapa bahasa. Tempat yang baik untuk mulai belajar tentang jenis deskripsi ini adalah buku ini , walaupun mungkin sulit menemukan salinannya.