Perangkaian bahasa nalar
Katakan kita mempunyai dua bahasa nalar L1, L2. Kita akan membuktikan bahawa perangkaian (konkatenasi) kedua-duanya, L = L1 ∘ L2, juga merupakan bahasa nalar.
Apakah perangkaian
Perangkaian dua rentetan “010” dan “1111” menghasilkan rentetan “0101111”. Perangkaian bahasa pula menghasilkan bahasa baharu yang dibina dengan merangkaikan setiap rentetan daripada satu bahasa dengan setiap rentetan daripada bahasa yang lain. Perangkaian dua rentetan dan dua bahasa ditandakan dengan bulatan kecil: ∘. Kita boleh mentakrifkan perangkaian bahasa L1 dan L2 seperti berikut:
Idea bukti
Kita mempunyai dua bahasa nalar L1, L2 dan dua automaton yang menerima bahasa ini:
Kita membina automaton tak berketentuan A = ⟨Q, Σ, δ, q, F⟩ yang “mengandungi” kedua-dua automaton A1 dan A2. Idea asasnya ialah kita mula menerima rentetan dengan automaton A1, dan apabila automaton A1 sampai ke keadaan akhir, kita cuba menerima baki rentetan dengan automaton A2. Jika automaton ini juga menerima bahagian rentetan itu, automaton A menerima rentetan tersebut.
Contoh
Katakan kita mempunyai automaton A1 berikut, yang menerima rentetan tidak kosong yang terdiri daripada sifar sahaja, serta rentetan yang terdiri daripada satu digit satu diikuti oleh sifar sahaja (1, 10, 100, …):
Katakan juga kita mempunyai automaton A2 berikut, yang menerima rentetan yang berakhir dengan 01:
Kita menyambungkan kedua-dua automaton dengan menambahkan peralihan epsilon dari semua keadaan akhir automaton A1 ke keadaan awal automaton A2, kemudian menjadikan keadaan akhir A1 keadaan biasa. Keadaan awal bagi keseluruhan automaton baharu ialah keadaan awal automaton A1:
Bagaimanakah automaton ini berfungsi? Kita mula menyimulasikan kerja automaton A1. Jika kita beralih ke bekas keadaan akhir q1 atau q2, kita tahu bahawa automaton A1 menerima sebahagian daripada rentetan itu. Supaya keseluruhan rentetan tergolong dalam bahasa L1 ∘ L2, baki rentetan itu mesti diterima pula oleh automaton kedua, A2 — oleh itu, dari semua bekas keadaan akhir terdapat peralihan epsilon ke keadaan awal asal automaton A2.
Sebagai contoh, ambil rentetan 0001. Rentetan ini tergolong dalam perangkaian kedua-dua bahasa kerana rentetan itu boleh terhasil daripada perangkaian rentetan 00 ∘ 01. Namun, rentetan itu juga boleh terhasil daripada perangkaian rentetan 0 ∘ 001. Dalam automaton kita, kedua-dua cara boleh disimulasikan. Automaton boleh mengikut laluan berikut:
Melalui laluan ini, automaton mula-mula “menerima” bahagian rentetan 00, kemudian bahagian rentetan 01. Automaton juga boleh mengikut laluan berikut:
dan dengan itu automaton mula-mula “menerima” bahagian rentetan 0, kemudian bahagian rentetan 001. Sudah tentu dalam kedua-dua kes kita sampai ke keadaan akhir p2.
Kaedah formal
Sekali lagi: Kita mempunyai dua bahasa nalar L1, L2 dan dua automaton yang menerima bahasa ini:
Kita membina automaton tak berketentuan A = ⟨Q, Σ, δ, q, F⟩ dengan
- Q = Q1 ∪ Q2 (kita juga menganggap bahawa Q1 ∩ Q2 = ∅)
- Σ= Σ1 ∪ Σ2
- q = q0
- F = F2
Fungsi peralihan δ dibina langkah demi langkah:
Sumber
Kandungan: Sifat ketertutupan bahasa nalar, Kesatuan bahasa nalar, Persilangan bahasa nalar, Beza bahasa nalar, Pelengkap bahasa nalar, Perangkaian bahasa nalar, Tutupan bahasa nalar