Monday, 26 November 2012

NFSA and DFSA

NFSA stands for non-deterministic finite state automaton. DFSA stands for deterministic finite state automaton. My first intuition of these concepts were that these two ought to be a very different concept. Using this assumption, I was lost in the lectures and figured a few days later after searching online that these two concepts are relevant. DFSA is a finite state automaton where transition from a state to another is chosen in the first place. NFSA also allows states to transit from a state to another but for some cases, the transition is very ambiguous. That is why NFSA is called non-deterministic because transition is non-determined, while DFSA is called deterministic because transition is determined. They are also relevant because they can only recognize regular languages.

There is an example of NFSA online; in a binary string, determine if the input ends with 1.

This is pretty simple when the input is 0. However, problem raises when 1 is added. User does not know that if the the state has to be the accepting state or same as the current state. Due to this non-deterministic property, NFSA is called non-deterministic finite state automaton.

In my opinion using of NFSA is really bad idea because it needs further explanations to the readers. On the other hand DFSA seems really straight forward so that you do not need further explanation to understand the diagram.

As written above, the concept of DFSA is understood pretty well to me. However, NFSA is still ambiguous. I think I will ask the professor or search more examples online so that I can fully understand why NFSA is important. 

No comments:

Post a Comment