Diketahui bahwa meminimalkan ukuran ekspresi reguler adalah PSPACE-complete bahkan jika kita memiliki DFA sebagai spesifikasi bahasa .
Apa hasil jika bahasanya terbatas?
Satu dapat mempertimbangkan masalah ini dalam dua model:
- Input adalah semua string dalam bahasa, dan kami mengukur ukuran input dengan jumlah panjang semua string.
- Input adalah DFA, dan kami mengukur ukuran input dengan jumlah status DFA.
Bintang Kleene tidak berguna dalam kasus hingga, jadi hanya , | dan ⋅ (penggabungan) digunakan dalam ekspresi. Tentu saja, panjang ekspresi reguler tampak sewenang-wenang. Sebagai gantinya, seseorang dapat memberi bobot pada setiap operasi (termasuk menambahkan tanda kurung), dan meminta untuk meminimalkan bobot ekspresi reguler.
Sunting: Seperti yang dicatat adrianN, ini terkait dengan kode berbasis tata bahasa. Ini NP-complete untuk menghasilkan tata bahasa bebas konteks panjang minimum untuk menggambarkan set yang terbatas. Tidak jelas mengapa tata bahasa bebas konteks ukuran minimum dapat menyiratkan banyak tentang ekspresi reguler ukuran minimum. Mungkin aturan penulisan ulang yang cerdas dapat menghubungkan keduanya, dan membuktikan bahwa pada model pertama, masalahnya ada di NP.