Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

∈-NFA of Regular Language L = (a+b)*bc+

  • Last Updated : 19 Jan, 2021

∈-NFA is a part of Finite Automata. ∈ is a symbol that represents empty inputs. ∈-NFA is the representation that allows an automaton to change its state without an input, i.e. even if the input is null the automaton can change its state. ∈-Non-Deterministic Finite Automata has a different transition function than regular NFA. Here is the formal definition of ∈-NFA.

∈-NFA is defined in 5 tuple representation {Q, q0, Σ, δ, F} where
Q is the set of all states,
q0 is the initial state,
Σ is the set of input symbols,
δ is the transition function which is δ:Q × (Σ∪∈)->2Q and
F is the set of final states.

Simple rules for construction of ∈-NFA :

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.

∈-NFA for a+ :

Here, ‘a+’ means that there must be at least one ‘a’ in the input expression for it to be acceptable. It is preceded and succeeded by epsilon because the expression may or may not contain anything else at all. There is epsilon feedback from state q2 to q1 so that there can be more than one ‘a’ in the expression.

∈-NFA for a* :

Here, ‘a*’ means that there can be any number of ‘a’ in the expression, including 0. The previous structure is just modified a bit so that even if there is no input symbol, i.e. if the input symbol is null, then also the expression is valid.

∈-NFA for a+b :

This structure accepts either a or b as input. So there are two paths, both of which lead to the final state.

∈-NFA for ab :

For concatenation, a must be followed by b. Only then it can reach the final state. Both structures are allowed here but as it is ∈-NFA so the second structure is recommended.

∈-NFA for L = (a+b)*bc+ :

Following the above-mentioned rules, ∈-NFA of Regular Language L = (a+b)*bc+ is to be constructed.

L = (a+b)*bc+ can be divided into 3 parts – (a+b)* , b and c+. The first part can be drawn applying the third rule and then by applying the second rule considering a+b as one unit. The third part is to be drawn by applying the first rule, and they are just connected with a ‘b’ in between.

The Final ∈-NFA will be :

My Personal Notes arrow_drop_up
Recommended Articles
Page :