Meminimalkan deterministic finite automata (DFAs) adalah masalah yang telah dipelajari secara menyeluruh dalam literatur, dan beberapa algoritma telah diusulkan untuk menyelesaikan masalah berikut: Dengan DFA , hitung DFA minimal yang sesuai yang menerima bahasa yang sama dengan . Sebagian besar algoritma ini berjalan dalam waktu polinomial.A
Namun, saya bertanya-tanya apakah varian keputusan dari masalah ini - "diberi DFA , apakah minimal?" - dapat diselesaikan lebih efisien daripada benar-benar menghitung otomat minimal. Jelas, ini juga dapat dilakukan secara efisien dengan menjalankan misalnya algoritma perbaikan partisi Hopcroft dan kemudian memutuskan apakah semua partisi mengandung tepat satu keadaan.A
Seperti yang Yuval Filmus sarankan dalam jawabannya , varian decidability dapat diselesaikan lebih cepat, mungkin dengan menggunakan algoritma standar. Sayangnya, saya tidak bisa melihat caranya (saya harap saya tidak kehilangan poin yang jelas di sini).
Yuval menunjukkan dalam komentar di sini bahwa algoritma yang paling dikenal (seperti yang di atas) berjalan dalam waktu untuk huruf berukuran konstan. Oleh karena itu, saya tidak hanya tertarik pada keuntungan asimtotis yang signifikan dalam runtime, karena ini tampaknya agak tidak mungkin. Yang paling menggangguku adalah bahwa aku tidak bisa membayangkan "jalan pintas" apa pun yang mungkin diambil dari fakta bahwa kita hanya tertarik pada jawaban ya-tidak-tidak - bahkan jalan pintas yang memungkinkan untuk menghemat jumlah waktu yang dapat diabaikan secara asimptot. Saya merasa bahwa setiap algoritma yang masuk akal yang menentukan minimal DFA harus benar-benar meminimalkan DFA dan melihat apakah ada perubahan selama proses.
sumber
Jawaban:
Ini mungkin bukan jenis jawaban yang Anda cari, tetapi karena Anda bertanya tentang masalah keputusan, saya pikir Anda mungkin tertarik pada kompleksitas masalah. Ini -lengkap.NL
Sekarang, apa artinya DFA menjadi minimal? Ada dua properti:
Setiap negara dapat dijangkau: sedemikian rupa sehingga kita dapat mencapai dari status awal dengan mengikuti ; dalam simbol: . q s w s → w q∀q∈Q∃w∈Σ∗ q s w s→wq
Setiap pasangan negara dapat dibedakan: dengan sedemikian rupa sehingga dan dan (hanya satu dari adalah keadaan terima).q ≠ r ∃ w ∈ Σ ∗ q → w s r → w t | { s , t } ∩ F | = 1 s , t∀q,r∈Q q≠r ∃w∈Σ∗ q→ws r→wt |{s,t}∩F|=1 s,t
Perhatikan bahwa dapat dihitung dalam log-ruang (yaitu ; hanya melacak posisi Anda saat Anda mengikuti satu huruf pada suatu waktu). Lebih jauh lagi, hanya ada sejumlah alternatif antara dan sehingga sebagai akibat dari teorema Immerman-Szelepcsenyi , kita memiliki masalah dalam .L w ∀ ∃ N Lx→wy L w ∀ ∃ NL
Cara termudah untuk melihat bahwa itu sulit untuk adalah untuk memperhatikan bahwa properti 1 memecahkan - diarahkan unreachability, yang merupakan masalah sulit prototipe. Tetapi bahkan jika Anda menganggap hanya DFA yang dapat dijangkau, masalahnya masih sulit (yaitu properti 2 adalah -hard) dan Anda dapat menemukan bukti yang relatif mudah di Lemma 2.2 dari Cho & Huynh (1992) . s t N LNL s t NL
Tentu saja, saya menggunakan non-determinisme, jadi itu sedikit batuk dalam cara berbeda dari algoritma Hopcroft. Tetapi kita tahu bahwa , sehingga Anda dapat menggunakan konstruksi tersebut untuk mendapatkan algoritma yang lebih hemat-ruang daripada Hopcroft (yang pada dasarnya harus melacak banyak partisi ). nNL⊆L2 n
sumber