Apakah DPDA tanpa

16

Dalam deskripsi formal Deterministic Pushdown Automata, mereka memungkinkan bergerak, di mana mesin dapat memunculkan atau mendorong simbol ke stack tanpa membaca simbol dari input. Jika ϵ gerakan ini tidak diizinkan, dan tumpukan hanya dapat dimodifikasi satu kali setelah setiap simbol dibaca, apakah automata yang dihasilkan setara dengan daya untuk DPDA?ϵϵ

Mungkin ada sesuatu yang sepele saya hilang berkaitan dengan menggunakan Powerset dari seperti baru Anda Γ , memungkinkan Anda untuk "kompres" ε bergerak menjadi setara robot tanpa mereka, mirip dengan bagaimana Anda dapat memampatkan ε bergerak dalam DFA. Sepertinya konversi semacam itu tidak sepele seperti untuk DFA, dan saya tidak yakin itu mungkin.ΓΓϵϵ

Jadi, apakah keduanya setara dalam kekuasaan? Saya hanya bertanya karena semua orang tampaknya menganggap bahwa DPDA memiliki gerakan dan saya bertanya-tanya mengapa asumsi itu ada, karena sepertinya model yang lebih kompleks.ϵ

Phylliida
sumber
Baik. Jadi adakah alasan kita hanya mempelajari yang dengan gerakan saja? ϵ
Phylliida
1
Jadi saya baru sadar Anda sebenarnya bisa mengenali . Anda hanya mulai dalam menerima keadaan, kemudian setelah membaca pertama sebuah , Anda mendorong & ke stack, dan setelah membaca kedua yang Anda mendorong # ke stack. Setelah itu, Anda menulis a ke stack untuk setiap yang Anda baca, dimulai dengan a yang Anda baca setelah mendorong # ke stack. L={a2nbn}aaaaa
Phylliida
Kemudian, jika Anda membaca huruf sambil mengetahui bahwa Anda membaca angka ganjil dari huruf a yang Anda tolak (duduk dalam kondisi macet), jika tidak, Anda masuk ke kondisi lain dan mendorong a dari tumpukan. Anda ulangi ini untuk setiap b baca. Jika akhirnya sementara parsing b , # adalah di bagian atas tumpukan bukan sebuah sebuah , masukkan sebuah menerima keadaan. Kemudian masukkan kondisi tolak jika simbol lainnya dibaca. Dalam kasus apa pun yang berbeda dari yang diuraikan di atas, masukkan kondisi tolak. Apakah itu bekerja? baabba
Phylliida
Terdengar bagus untukku.
Klaus Draeger
1
Koreksi saya jika saya salah, tetapi saya setuju. Saya juga percaya bahwa Anda dapat mengenali dengan DPDA yang selalu bergerak tepat di pita input (tidak pernah berhenti). Satu-satunya bagian yang sulit adalah menyelesaikannya pada kondisi akhir. Penerimaan untuk DPDA bisa sulit. {a2nbn}
Michael Wehar

Jawaban:

18

Mungkin saya menemukan beberapa informasi yang relevan di:

Jean-Michel Autebert, Jean Berstel, Luc Boasson; Bahasa Bebas Konteks dan Automdown Pushdown; Buku Pegangan Bahasa Formal; 1997, hal 111-174

DPDAs tanpa -transitions dikenal sebagai realtime deterministik pushdown automata .ϵ

Mereka kurang kuat daripada DPDA, misalnya

L={anbpcanp,n>0}{anbpdbpp,n>0}

bersifat deterministik dan dapat dikenali oleh DPDA, tetapi tidak dapat dikenali oleh DPDA waktu nyata .

Yang dapat Anda lakukan adalah menghilangkan peningkatan transisi :ϵ

Proposisi 5.4 : Untuk setiap DPDA adalah mungkin untuk membangun sebuah DPDA mengakui bahasa yang sama sehingga setiap -rule menurun.ϵ

Marzio De Biasi
sumber
1
Keren terima kasih! Jadi ini menjawab bagian pertama dari pertanyaan saya. Bagian kedua adalah - mengapa kita tidak mempelajari ini? Semua orang tampaknya berfokus pada yang non-real-time dan itu terasa aneh bagi saya.
Phylliida
2
@DanielleEnsign: googling sekitar Anda dapat menemukan beberapa hasil tentang RDPDAs, misalnya masalah kesetaraan dapat diputuskan . Tapi saya setuju dengan Anda, mereka belum menarik banyak perhatian.
Marzio De Biasi