DFA atau NFA membaca melalui string input dengan satu kepala, bergerak dari kiri ke kanan. Tampaknya wajar untuk bertanya-tanya tentang mesin negara-terbatas yang memiliki banyak kepala , yang masing-masing bergerak melalui input dari kiri ke kanan, tetapi tidak harus di tempat yang sama dalam input dengan yang lain.
Mari kita mendefinisikan mesin keadaan terbatas dengan kepala sebagai berikut:
Sebuah k-head NFA adalah tuple , di mana:
Seperti biasa, adalah himpunan status terbatas, adalah abjad terbatas, adalah status awal, dan adalah himpunan status penerimaan. Biarkan menunjukkan sekumpulan karakter termasuk string kosong.
( p , ( σ 1 , σ 2 , … , σ k ) , q ) p ( σ 1 , σ 2 , … , σ k ) σ i i ε q adalah relasi transisi: transisi artinya, jika mesin dalam keadaan , ia dapat membaca sedemikian rupa sehingga adalah karakter berikutnya untuk head (atau jika kepala itu tidak bergerak), dan kemudian pindah ke keadaan .
Menjalankan mesin jenis ini (jalur apa pun yang dimulai dari kondisi awal dan berakhir pada status penerimaan) menghasilkan bukan satu string, tetapi string yang berbeda (dibentuk dengan menggabungkan karakter di sepanjang proses). Kemudian kita mengatakan bahwa prosesnya valid jika string identik.k
The bahasa mesin adalah himpunan string tersebut bahwa ada lari valid dari mesin mana string diproduksi bersama run yang semuanya sama dengan .
Pertanyaan: Apa kelas bahasa yang dikenali oleh mesin seperti itu? Apakah sudah dipelajari?
Pengamatan pertama adalah bahwa mesin tersebut menghasilkan kelas yang lebih besar dari bahasa biasa. Misalnya, bahasa
dikenali oleh NFA -kepala berikut dengan status:
(Di sini, tepi yang berlabel menunjukkan transisi formulir .)
Namun, pengamatan kedua adalah bahwa tidak semua bahasa bebas konteks diakui; misalnya, sepertinya bahasa Dyck tidak dapat dikenali oleh mesin - head ini.
Jawaban:
Model ini adalah salah satu model standar dalam teori automata dan telah diperiksa oleh beberapa peneliti.
Referensi yang diberikan dalam komentar pertama adalah titik awal yang sangat baik.
Ketika headnya dua arah, kelas bahasa yang dikenali oleh model seperti itu identik dengan kelas ruang-logaritmik. Namun, ketika head bersifat satu arah, maka, setahu saya, kami tidak memiliki karakterisasi yang persis sama, tetapi, kami memiliki hasil tertentu yang tak tertandingi dan beberapa hierarki berdasarkan jumlah head.
Jika Anda tertarik, saya sarankan Anda untuk memeriksa versi pengganti, probabilistik, dan kuantum multi-head automata. Model seperti itu bisa sangat menarik bahkan ketika menggunakan satu kepala, karena perhitungan dibagi menjadi jalur yang berbeda, dan kemudian, di setiap jalur, kepala dapat mengakses bagian input yang berbeda.
Beberapa referensi umum:
Alternasi
Perhitungan probabilistik
Perhitungan probabilistik dan kuantum
Model terkait: automata multi-counter dan automata menggunakan kerikil.
sumber