Can any one help me by giving some real life examples (Other than compiler design) where the idea of NFA can be implemented? If I can find the shortest string accepted by any NFA .. what kind of real life problems I can solve with it?
Often you can find that finite automata (whether it be DFAs or NFAs) often can be used to craft a combinatorial algorithm that can be used to exhaust the finite language. Come up with a really refined NFA, maybe you can find its counterpart in exhaustive algorithms. I know I have looked a bit into this with context-free grammars (CFGs), but I would suspect the same could be done with NFAs---especially if lengths of sequences are things you want to vary in a more specific manner (though you can do that all with CFGs). That's one way you could use them not in compiler design. Keep in mind that these are simple computational models, so when you design one with a specific language they will have counterparts as pseudocode when you develop an algorithm if you use the same structure. There's a correspondence. That's one reason why these models are very important in Theoretical Computer Science.
The problems of management automated in the enterprises, can be solved surely by these models with hypotheses a lot of restrectives or with conditions to the limits.