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)(2n−1)(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 ;n♯n
- 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.♯xy♯yz♯
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:
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 - 2n−1n−2
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 .n≥NNnML(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