Ты прав.2 ^ n - это верхний предел, поэтому сгенерированный DFA не может иметь больше состояний, чем этот предел.Но это худший вариант.В большинстве распространенных сценариев меньше состояний, чем в результирующем DFA.Иногда это может быть даже меньше, чем в исходном NFA.
Но, насколько мне известно, алгоритм для прогнозирования того, сколько состояний в действительности будет иметь результирующий DFA, еще не существует.Поэтому, если вы найдете это, пожалуйста, дайте мне знать;)