Saya ingin tahu apakah masalah berikut ini dapat ditentukan:
Instance: NFA A dengan n state
Pertanyaan: Apakah ada beberapa bilangan prima p sehingga A menerima beberapa untaian panjang p.
Keyakinan saya adalah bahwa masalah ini tidak dapat diputuskan, tetapi saya tidak dapat membuktikannya. Penentu dapat dengan mudah memiliki algoritma untuk mencari tahu apakah nomor tertentu adalah prima, tapi saya tidak melihat bagaimana itu akan dapat menganalisis NFA secara cukup detail untuk mengetahui dengan tepat berapa lama dapat dihasilkan. Itu bisa mulai menguji string dengan NFA, tetapi untuk bahasa yang tak terbatas, mungkin tidak pernah berhenti (dan dengan demikian tidak menjadi penentu).
NFA dapat dengan mudah diubah menjadi DFA atau ekspresi reguler jika solusi membutuhkannya, tentu saja.
Pertanyaan ini adalah sesuatu yang telah saya renungkan sebagai pertanyaan persiapan buatan sendiri untuk final yang telah saya buat dalam 2 minggu.
sumber
Jawaban:
Panjang string yang diterima oleh DFA membentuk satu set semilinear (seperti dalam teorema Parikh untuk bahasa bebas konteks), deskripsi dari mereka tidak terlalu sulit didapat (dasarnya memisahkan semua kemungkinan siklus otomat), dan oleh Teorema Dirichlet setiap perkembangan aritmatika dari bentuk dengan berisi infinitude bilangan prima.a + b k gcd ( a , b ) = 1
Menarik di atas bersama-sama memberikan algoritma untuk memeriksa apakah bahasa bebas reguler Anda (atau bahkan konteks) berisi string dengan panjang prima. Jelas bukan pertanyaan sederhana, IMVHO ...
sumber