Pada gambar di bawah, saya mencoba mencari tahu apa sebenarnya yang diterima NFA ini.
Yang membingungkan saya adalah jump at .q 0
Jika dimasukkan, apakah sistem pindah ke dan (status terima)?q 0 q 1
Jika dimasukkan, apakah sistem pindah ke dan ?q 1 q 2
Apakah sistem hanya pindah ke (kondisi terima), jika tidak ada input yang diberikan (string kosong)?
automata
finite-automata
nondeterminism
pengguna3472798
sumber
sumber
Jawaban:
Setiap kali Anda berada dalam keadaan yang memiliki transisi , itu berarti Anda secara otomatis berada di KEDUA status, untuk menyederhanakan ini kepada Anda:ϵ
Jika string adalah maka automata Anda berakhir dengan danq 0 q 1ϵ q0 q1
Jika string Anda '0' itu akan menjadi lagi di danq 1q0 q1
Jika string Anda adalah '1', itu hanya akan berada di , karena jika Anda melihat dari titik , Anda memiliki transisi '1' ke , tetapi Anda juga harus melihat jika Anda berada di ( jika Anda berada di Anda selalu berada di juga) maka tidak ada transisi '1', jadi jalur alternatif ini hanya "mati".q 0 q 2 q 1 q 0 q 1q2 q0 q2 q1 q0 q1
Hanya dengan melihat kasus-kasus ini, mudah untuk melihat bahwa automata Anda menerima , , dan dari ke , satu-satunya cara untuk mencapai adalah , jadi, ini melanjutkan automata Anda ke , ,0 ∗ q 0 q 1 q 2 0 ∗ 11 ∗ 1 ϵ 0 ∗ 0 ∗ 11 ∗ 1ϵ 0∗ q0 q1 q2 0∗11∗1 ϵ 0∗ 0∗11∗1
Semoga ini bisa membantu Anda, jika Anda memiliki keraguan lebih lanjut, tanyakan saja!
sumber
Dalam status tanpa membaca input apa pun, NFA tetap berada di dan (dalam semesta alternatif, jika Anda mau) , NFA juga bergerak ke status . Ini mirip dengan apa yang akan terjadi dalam NFA yang memiliki dua transisi ke status berbeda pada input karakter. Secara khusus, NFA Anda menerima string kosong, karena tanpa input, NFA Anda dapat beralih ke status penerimaan .q0 q0 q1 q1
Melanjutkan contoh Anda, dari keadaan melihat input , itu akan mengkonsumsi simbol itu, tetap dalam status (loop) dan juga pergi ke menyatakan , dengan demikian menerima input . Dalam status membaca input , NFA akan masuk ke status . Mungkin juga tidak mengkonsumsi , mengubah ke status di alam semesta lain dan terjebak di sana (dan tidak menerima, karena tidak membaca semua input), karena tidak ada transisi dari pada .q0 0 q0 q1 0 q0 1 q2 1 q1 q1 1
Lihat apakah Anda dapat meyakinkan diri sendiri bahwa bahasa yang diterima oleh mesin ini dilambangkan dengan ekspresi reguler , yaitu string apa pun yang terdiri dari nol atau lebih s diikuti oleh tidak ada sama sekali atau dua atau lebih s.0∗+0∗11∗1 0 1
Ngomong-ngomong, ada sebuah algoritma yang mengambil NFA dengan -moves dan menghasilkan NFA yang setara tanpa -moves, yang saya harapkan akan Anda pelajari segera.ϵ ϵ
sumber
Saya mencoba membangun DFA untuk NFA ini
Karena setiap NFA memiliki DFA yang sama mari kita buat DFA untuk NFA yang diberikan ini.M′
alfabet - sama
Keadaan saat ini adalahR∈P(Q)
Beberapa menghitung FSM ini
setidaknya{ϵ,0∗}⊂L(M′)
Terima kasih kepada David Richerby
sumber