Kondisi untuk universalitas NFA

28

Pertimbangkan automata terbatas nondeterministic , dan fungsi . Selain itu kami mendefinisikan .A=(Q,Σ,δ,q0,F)f(n)Σk=ikΣi

Sekarang mari kita menganalisis pernyataan berikut:

Jika , maka .Σf(|Q|)L(A)L(A)=Σ

Sangat mudah untuk menunjukkan, bahwa untuk f(n)=2n+1 itu benar, maka jika automata menghasilkan setiap kata dengan panjang upto 2|Q|+1 , maka menghasilkan .Σ

Tetapi apakah itu masih berlaku jika adalah polinom?f

Jika tidak, seperti apa konstruksi NFA untuk polinom terlihat, st ?ApΣp(|Q|)L(A)Σ

Mike B.
sumber
Saya ingin memberikan hadiah kepada bukti atau penolakan bahwa f(n)=2no(n) untuk case |Σ|2 . Dan jika tidak ada, saya akan memberikannya kepada konstruksi terbaik yang bisa didapatkan.
Hsien-Chih Chang 張顯 之

Jawaban:

22

Agar pernyataan tetap berlaku, f harus tumbuh secara eksponensial, bahkan dengan alfabet unary

[Sunting: Analisis sedikit ditingkatkan dalam revisi 2.]

Ini sketsa bukti. Misalkan pernyataan itu memegang dan membiarkan f menjadi fungsi sedemikian rupa sehingga setiap NFA dengan paling banyak n menyatakan yang menerima semua string dengan panjang paling banyak f ( n ) menerima semua string apa pun. Kami akan membuktikan bahwa untuk setiap C > 0 dan cukup besar n , kami memiliki f ( n )> 2 C ⋅√ n .

The prima Teorema menyiratkan bahwa untuk setiap c <lg e dan cukup besar k , setidaknya ada c ⋅2 k / k bilangan prima dalam rentang [2 k , 2 k 1 ]. Kami mengambil c = 1. Untuk seperti k , biarkan N k = ⌈2 k / k ⌉ dan mendefinisikan NFA M k sebagai berikut. Biarkan p 1 , ..., p N k menjadi bilangan prima yang berbeda dalam rentang [2 k , 2 k 1] NFA M k memiliki S k = 1 + p 1 + ... + p N k negara. Terlepas dari keadaan awal, negara-negara yang dipartisi menjadi N k siklus di mana saya siklus th memiliki panjang p i . Dalam setiap siklus, semua kecuali satu negara adalah negara yang diterima. Awal negara memiliki N k tepi keluar, yang masing-masing pergi ke negara segera setelah negara ditolak pada setiap siklus. Akhirnya, kondisi awal juga diterima.

Biarkan P k menjadi produk p 1 ... p N k . Sangat mudah untuk melihat bahwa M k menerima semua string dengan panjang kurang dari P k tetapi menolak string panjang P k . Oleh karena itu, f ( S k ) ≥ P k .

Perhatikan bahwa S k ≤ 1 + N k ⋅2 k +1 = o (2 2 k ) dan P k ≥ (2 k ) N k ≥ 2 2 k . Sisanya standar.

Tsuyoshi Ito
sumber
Apa dugaan Anda tentang nilai ? Katakan , atau di suatu tempat antara dan ? f ( n ) = 2 n + 1 2 n 2 c ff(n)=2n+12n2cn
Hsien-Chih Chang 張顯 之
@ Hsien-Chih: Saya ingin tahu hal yang sama, dan saya tidak memiliki dugaan yang masuk akal. Pertama, itu sepele untuk melihat f (n) ≤2 ^ n (kita tidak perlu +1) dan, sementara saya mengharapkan beberapa peningkatan linier atas batas atas ini, saya tidak tahu apakah itu ketat ke faktor konstan. (selengkapnya)
Tsuyoshi Ito
(lanjutan) Kedua, seperti untuk batas bawah, jika saya tidak salah, sedikit perbaikan dari analisis di atas memberikan batas bawah berikut: untuk setiap konstanta 0 <c < dan cukup besar n, kita memilikif(n)>e c 1/2 . Penyempurnaan lebih lanjut mungkin dilakukan, tetapi kami tidak dapat memperoleh batas bawah seperti 2 ^ {n ^ p} untuk p> 1/2 jika kami menggunakan konstruksi NTM yang sama. Saya pikir itu adalah pertanyaan yang menarik apakah penggunaan distribusi bilangan prima (seperti PNT) sangat penting untuk membangun contoh yang buruk. (selengkapnya)f(n)>ecnlnn
Tsuyoshi Ito
(lanjutan) Namun, jika Anda tertarik dan ingin menyelidiki lebih lanjut, mungkin lebih bijaksana untuk mencari literatur terlebih dahulu. Saya tidak akan terkejut jika jawaban ini atau sesuatu yang lebih baik telah muncul dalam literatur.
Tsuyoshi Ito
5
@Tsuyoshi: Ditunjukkan oleh Chrobak bahwa n-state DFA untuk bahasa unary dapat disimulasikan oleh m-state NFA untuk . Dengan demikian konstruksi Anda ketat jika bahasanya unary. Lihat [Chr86]:cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enlogn)
Hsien-Chih Chang 張顯 之
19

EDIT PADA 10/12/06:

ok, ini cukup banyak konstruksi terbaik yang bisa saya dapatkan, lihat apakah ada yang punya ide yang lebih baik.

Dalil. Untuk setiap Ada ( 5 n + 12 ) -negara NFA M lebih dari huruf Σ dengan | Σ | = 5 sehingga string terpendek yang tidak dalam L ( M ) adalah panjang ( 2 n - 1 ) ( n + 1 ) + 1 .n(5n+12)MΣ|Σ|=5L(M)(2n1)(n+1)+1

Ini akan memberi kita .f(n)=Ω(2n/5)

Konstruksinya hampir sama dengan yang ada di Shallit , kecuali kami membangun NFA secara langsung alih-alih mewakili bahasa dengan ekspresi reguler terlebih dahulu. Membiarkan

Σ={[00],[01],[10],[11],} .

Untuk setiap , kita akan membangun bahasa pengenal NFA , di mana adalah urutan berikut (ambil misalnya):Σ - { s n } s n n = 3nΣ{sn}snn=3

s3=[00][00][01][00][01][10][11][11][01] .

Idenya adalah bahwa kita dapat membangun NFA terdiri dari lima bagian;

  • a pemula , yang menjamin string dimulai dengan ;[00][00][01]
  • sebuah terminator , yang menjamin ujung string dengan ;[11][11][01]
  • sebuah penghitung , yang membuat jumlah simbol antara dua sebagai ;nn
  • pemeriksa add-one , yang menjamin bahwa hanya simbol dengan bentuk muncul; akhirnya,xx+1
  • sebuah checker yang konsisten , yang menjamin bahwa hanya simbol dengan bentuk dapat muncul secara bersamaan.xyyz

Perhatikan bahwa kami ingin menerima alih-alih , jadi setelah kami mengetahui bahwa urutan input tidak mematuhi salah satu perilaku di atas, kami segera menerima urutannya. Kalau tidak, setelahlangkah-langkah, NFA akan menjadi satu-satunya negara yang menolak. Dan jika urutannya lebih panjang dari, NFA juga menerima. Jadi, setiap NFA yang memenuhi lima syarat di atas hanya akan menolak .{ s n } | s n | | s n | s nΣ{sn}{sn}|sn||sn|sn

Mungkin mudah untuk memeriksa gambar berikut secara langsung, bukan bukti keras:

NFA untuk menolak s_n

Kami mulai di negara bagian kiri atas. Bagian pertama adalah starter, dan penghitung, kemudian pemeriksa konsisten, terminator, akhirnya pemeriksa add-one. Semua busur tanpa titik terminal menunjuk ke status kanan bawah, yang merupakan akseptor sepanjang masa. Beberapa tepi tidak diberi label karena kurangnya ruang, tetapi dapat dipulihkan dengan mudah. Garis putus-putus mewakili urutan status dengan tepi .n - 2n1n2

Kami dapat (dengan susah payah) memverifikasi bahwa NFA hanya menolak , karena NFA mengikuti semua aturan di atas. Jadi NFA -state dengan telah dibangun, yang memenuhi persyaratan teorema.sn(5n+12)|Σ|=5

Jika ada ketidakjelasan / masalah dengan konstruksi, silakan tinggalkan komentar dan saya akan mencoba menjelaskan / memperbaikinya.


Pertanyaan ini telah dipelajari oleh Jeffrey O. Shallit et al., Dan memang nilai optimal dari masih terbuka untuk . (Adapun bahasa unary, lihat komentar dalam jawaban Tsuyoshi )f(n)|Σ|>1

Dalam halaman 46-51 ceramahnya tentang universalitas , ia memberikan konstruksi sedemikian rupa sehingga:

Dalil. Untuk untuk beberapa cukup besar, ada -state NFA atas huruf biner sehingga string terpendek yang tidak dalam adalah panjangnya untuk .nNNnML(M)Ω(2cn)c=1/75

Jadi nilai optimal untuk berada di antara dan . Saya tidak yakin apakah hasilnya oleh Shallit telah ditingkatkan dalam beberapa tahun terakhir.f(n)2n/752n

Hsien-Chih Chang 張顯 之
sumber
Saya bermain dengan pekerjaan Shallit ini, harapan untuk mendapatkan yang lebih baik terikat banyak dekat . Konstruksi mereka tampak menarik, dengan menentukan beberapa urutan panjang yang tidak dapat diwakili oleh ekspresi reguler pendek "pendek" , dan setiap ekspresi reguler panjang dapat digambarkan dengan NFA ukuran . Saat ini saya dapat membiarkan , tetapi ide yang lebih cerdas perlu . Ω ( 2 n ) c n + o ( n ) f ( n ) f ( n ) + 1 c 22 2 n2nΩ^(2n)cn+o(n)f(n)f(n)+1c222n
Hsien-Chih Chang 張顯 之
2
Saya tidak berpikir itu memberikan wawasan lebih lanjut untuk mempelajari masalah ini, tetapi referensi ilmiah yang tepat untuk ceramah Shallit adalah: K. Ellul, B. Krawetz, J. Shallit, M. Wang: Ekspresi Reguler: Hasil Baru dan Masalah Terbuka. Jurnal Automata, Bahasa dan Combinatorics 10 (4): 407-437 (2005)
Hermann Gruber
@Hermann: Terima kasih atas rujukannya, saat ini saya tidak dapat mengakses koran, tetapi saya akan menemukan cara untuk melakukannya.
Hsien-Chih Chang 張顯 之
Saya pikir dengan menggunakan penghitung kita dapat mengganti starter dan terminator dengan mesin kecil 2-negara. Jadi ini semakin mengurangi ukuran NFA menjadi . 3n+O(1)
Hsien-Chih Chang 張顯 之
1
Versi pracetak penulis dari kertas JALC yang terkenal ada di sini: cs.uwaterloo.ca/~shallit/Papers/re3.pdf Terikat, dan buktinya sama dalam versi cetak.
Hermann Gruber