Given an NFA with more than one initial or final state, it is possible to convert it to another NFA with only one initial or final state by using epsilon transitions. To remove the epsilon transitions, we may need to add final or initial states, depending on the method used (backwards removal vs forward removal).
Is there an efficient way to convert an NFA to an equivalent NFA with only one initial and final state, and no epsilon transitions? Converting it to a DFA can be exponential, so is there a better way to achieve this?