Kelas bahasa apa yang diakui oleh automata negara-terbatas dengan

10

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:k

Sebuah k-head NFA adalah tuple , di mana:(Q,Σ,Δ,q0,F)

  • Seperti biasa, adalah himpunan status terbatas, adalah abjad terbatas, adalah status awal, dan adalah himpunan status penerimaan. Biarkan menunjukkan sekumpulan karakter termasuk string kosong.QΣq0FΣε:=Σ{ε}

  • ΔQ×(Σε)k×Q( 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 .(p,(σ1,σ2,,σk),q)p(σ1,σ2,,σk)σiiεq

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.kkk

The bahasa mesin adalah himpunan string tersebut bahwa ada lari valid dari mesin mana string diproduksi bersama run yang semuanya sama dengan .wkw

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:

{anbnnN}
23Contoh 2-kepala NFA

(Di sini, tepi yang berlabel menunjukkan transisi formulir .)σ1/σ2(p,(σ1,σ2),q)

Namun, pengamatan kedua adalah bahwa tidak semua bahasa bebas konteks diakui; misalnya, sepertinya bahasa Dyck tidak dapat dikenali oleh mesin - head ini.k

6005
sumber
2
Melihat sedikit di sekitar saya melihat multi-head automata disebutkan di arxiv.org/abs/0906.3051 : definisi mereka adalah tentang automata dua arah, tetapi mereka juga mendefinisikan varian satu arah. Apakah tidak ada yang membantu dalam makalah itu? atau dalam referensi, misalnya, sciencedirect.com/science/article/pii/S0304397509006288
a3nm
2
Perhatikan juga bahwa mereka dapat mengenali bahasa non CF: DFA 3 kepala dapat mengenali ; sumber referensi yang bagus: Markus Holzer dan Martin Kutrib; Multi-Head Finite Automata: Karakterisasi, Konsep dan Masalah Terbukaanbncn#
Marzio De Biasi
2
Terima kasih atas referensi makalahnya - ini hanya keingintahuan kosong dan saya belum memeriksa literatur. Jika tidak ada orang lain yang melakukannya, saya akan membaca beberapa literatur dan merespons dengan jawaban yang merangkum hasil yang diketahui.
6005

Jawaban:

5

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.

Abuzer Yakaryilmaz
sumber