Dapatkah ambiguitas konstan mengurangi kompleksitas keadaan bahasa reguler?


16

Kami mengatakan bahwa NFA adalah Konstanta Ambigu jika ada sehingga setiap kata diterima oleh atau (persis) jalur .MkNwΣ0k

Jika automaton secara konstan ambigu untuk , maka disebut Unambiguous FA (UFA).Mk=1M

Biarkan menjadi bahasa biasa.L

Bisakah beberapa automaton yang selalu ambigu untuk lebih kecil dari UFA terkecil yang menerima ? Berapa jauh lebih kecil?McLL

Dapatkah otomat yang ambigu secara eksponensial lebih kecil daripada CFA terkecil untuk bahasa yang sama?

Hal ini diketahui bahwa ada finitely robot ambigu (terdapat , sehingga setiap kata diterima oleh hingga jalur) yang secara eksponensial lebih kecil dari yang terkecil UFA untuk bahasa yang sama, tapi saya belum melihat sesuatu tentang ambiguitas konstan.k k

Juga, ini pertanyaan terkait yang saya posting di sini beberapa bulan yang lalu.

EDIT:

Jawaban Domotorp menunjukkan bahwa dapat direduksi secara polin ke , tetapi tidak menjawab pertanyaan apakah kita bisa mendapatkan pengurangan ruang polinomial oleh .CFAUFACFA

Jadi pertanyaan baru menjadi: Seberapa jauh lebih kecil (linear / kuadratik / dll.) suatu dibandingkan dengan minimal ? untuk bahasa yang sama?CFAUFA


Apakah transisi diizinkan? ϵ
Denis

Mungkin ini bisa membantu: dalam Kupke, Pada Memisahkan Konstan dari Ambiguitas Polinomial dari Finite Automata disajikan hierarki berikut: Saya tidak memeriksa makalah terkait karena berada di belakang paywall. dfa2nunfa2ncafa2n???2npafa2nnfa
Marzio De Biasi

Terima kasih @MarzioDeBiasi, tapi sayangnya ini tidak membantu (saya juga berharap ketika saya melihat presentasi). Mereka menggunakan notasi berbeda dari yang saya gunakan (dan saya pernah melihat di makalah yang berbeda). "Ambiguitas Konstan" mereka adalah apa yang saya sebut ambiguitas terbatas, sehingga hubungan antara Cafa dan UFA mereka sudah diketahui oleh saya. Karena aplikasi saya menghitung solusi untuk masalah NPC, bahasa saya selalu terbatas, dan dengan demikian, setiap kata diterima oleh jalur, yang mereka sebut "konstan". O(1)
RB

Saya bertanya-tanya apakah definisi saya membantu mengurangi kompleksitas keadaan, karena saya memiliki CFA yang secara eksponensial lebih kecil daripada UFA terkecil yang saya tahu untuk dibangun, dan saya bertanya-tanya apakah mungkin bahwa tidak ada UFA kecil untuk bahasa tersebut.
RB

1
@Denis, ya, tapi apakah itu akan membantu Anda mengurangi kompleksitas negara? Saya berasumsi Anda hanya bisa mengurangi jumlah tepi dengan gerakan seperti itu.
RB

Jawaban:


4

Saya mengklaim bahwa jika untuk beberapa bahasa ada CFA dengan dengan negara dan 0 atau c menerima jalur untuk setiap kata, maka ada UFA dengan C s s c negara. Ide dasarnya adalah bahwa negara bagian UFA adalah (dipesan) c-tupel dari negara bagian CFA dan menerima jika dan hanya jika semua negara c menerima. Tentu saja kita juga harus memastikan bahwa ini memang perhitungan yang berbeda dan bahwa kita tidak menghitung semua c ! permutasi, jadi untuk ini kita perlu beberapa tambahan C s bit penyimpanan.s0cCsscc!Cs

Deskripsi yang sedikit lebih rinci tentang ide dasar: Jika adalah keadaan UFA, maka ia memiliki transisi dari itu (membaca beberapa huruf a ) ke keadaan ( s 1 , ... , s c ) jika dan hanya jika CFA memiliki transisi (membaca huruf a ) dari s i ke s i untuk setiap i . Keadaan ( s 1 , , s c )(s1,,sc)a(s1,,sc)asisii(s1,,sc)menerima jika dan hanya jika menerima untuk setiap i . Tentu saja keadaan awal UFA adalah ( s 0 , , s 0 ) di mana s 0 adalah keadaan awal CFA.sii(s0,,s0)s0

Masalah dengan di atas adalah bahwa simulasi menjalankan CFA mungkin sama. Jadi kita menambahkan beberapa informasi tambahan, dikodekan, katakanlah, dalam grafik pada c simpul yang memiliki keunggulan antara simpul i dan simpul j jika selama menjalankan sejauh setidaknya sekali kita punya c ic j .ccijcicj

Sekarang kami masih memiliki masalah, bahwa kami telah menghitung semuanya kali karena kemungkinan permutasi. Kita dapat memperbaiki ini dengan mensyaratkan bahwa jika negara ke- i dan ke- j tetap sama hingga sekarang dan pada langkah berikutnya mereka akan berbeda, maka pada langkah berikutnya keadaan ke- i harus memiliki indeks yang lebih besar.c!iji


Terima kasih atas jawaban Anda di @domotorp. Sayangnya, saya tidak bisa mengatakan saya memahaminya. Bisakah Anda memberikan rincian lebih lanjut (mis. Bagaimana bukti keutamaan dikodekan?). Terima kasih!
RB

Bagaimanapun saya menyadari bahwa ada juga UFA untuk bahasa itu, jadi lupakan saja. Bagaimana dengan sisa bagian dari jawaban saya?
domotorp

Saya tidak yakin saya mengikuti. Jika adalah CFA dengan k = c , maka itu tidak berarti hanya ada c path untuk setiap kata w , hanya saja c dari mereka yang akan berakhir dalam keadaan menerima. Akan seperti apa keadaan UFA? Bisakah Anda mencoba memformalkannya? Mk=ccwc
RB

Ini dia, saya harap sekarang sudah jelas.
domotorp
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.