- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

The ε transitions in Non-deterministic finite automata (NFA) are used to move from one state to another without having any symbol from the input set Σ.

ε-NFA is defined in 5 tuples representation

{Q, q0, Σ, δ, F}

Where,

δ − Q × (Σ∪ε)→2

^{Q}Q − Finite set of states

∑ − Finite set of the input symbol

q0 − Initial state

F − Final state

δ − Transition function

NFA is defined in 5 tuples representation

{Q, q0, Σ, δ, F}

Where,

δ − Q X Σ→ 2

^{Q}Q − Finite set of states

∑ − Finite set of the input symbol

q0 − Initial state

F − Final state

δ − Transition function

NFA and NFA with epsilon both are almost the same; the only difference is their transition function.

Let’s consider the given language L = b+ba*

Steps for construction of ε-NFA

**Step 1** − NFA with epsilon for a+ is given below −

Here a+ means there must be at least one ‘a’ in the expression which is preceded by epsilon and succeeded by epsilon. It is nothing but there can be more than one ‘a’ in the expression.

**Step 2** − NFA with epsilon for a* is given below −

a* means there can be any number of ‘a’ in the expression, even 0 ( if the input symbol is null then also it is valid).

**Step 3** − NFA with epsilon for (a+b) is given below −

It accepts either a or b as an input, and both go to the final state.

**Step 4 **− NFA with epsilon for ab is given below −

Concatenating a and b with epsilon, and a must followed by b then only it can reach the final state.

**Step 5** − The final NFA with epsilon for the given language is as follows −

L =b + ba* is divided into two parts.

The first part is simply ‘b’ which is easy to construct. Since both the terms are connected by using ‘+’ sign, there will be two paths coming out of the first node. The second part is to be drawn with the help of second step of construction, a* which is simply preceded by b.

- Related Questions & Answers
- Construct ∈-NFA of Regular Language L = {ab,ba}
- Construct ∈-NFA of Regular Language L = (00)*1(11)*
- Construct a ∈-NFA for the language L = (a* + b*)
- Construct ∈-NFA of Regular Language L = (0+1)*(00+ 11)
- Construct ∈-NFA of Regular Language L = 0(0+1)*1
- Construct NFA with Epsilon moves for regular expression a+ba*.
- Construct a Turing Machine for language L = {ww | w ∈ {0,1}}
- Construct a TM for the language L= {ww : w ∈ {0,1}}
- Construct a Turing Machine for language L = {wwr | w ∈ {0, 1}}
- Design a push down automaton for L = {wwR | w ∈ {a, b}+}?
- Construct a Finite Automata for the regular expression ((a+b)(a+b))*.
- Construct a Turing Machine for language L = {0n1n2n | n≥1}
- Construct a Turing Machine for L = {a^n b^n | n>=1}
- C Program to construct DFA for Regular Expression (a+aa*b)*
- Design NPDA for accepting the language L = {am b(2m) | m>=1}

Advertisements