Yirmi yıl önce, düzenli ifadelerden sonlu durum makinesine (DFA) dönüşümleri içeren düzenli bir ifade paketi oluşturdum ve bir dizi kapalı düzenli ifade işlemini (Kleene yıldızı, birleştirme, ters, ayarlama işlemleri, vb.) Destekledim. Paketimin en kötü durum performansından emin değildim.
Bir DFA, bir NDFA ile aynı ifade gücüne sahiptir, çünkü n durumlu bir NDFA, önemsiz bir şekilde 2 ^ n durumuna sahip bir DFA'ya dönüştürülebilir. Ancak, böyle bir dönüşüm için devlette üstel bir patlama gerektirmeyen alt sınır garantileri var mı?
Kötü davranış gösteren düzenli ifadeler veya NDFA örnekleri bulamadım, ama düşünmek için fazla zaman harcamadım. (((((E | A | B | C) * (e | D | E | F)) * (e | G | H | I)) * (e | J | K | L gibi düzenli bir ifade tahmin ediyorum | M)) * ve birçok alternatifi karıştıran ve Kleene yıldızlarının doğrusal boyutlu bir NDFA'sı ancak geniş bir DFA'sı olacaktır.