- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Design NFA with Σ = {0, 1} and accept all string of length at least 2.
Non-deterministic finite automata also have five states which are same as DFA, but with different transition function, as shown follows −
δ: Q X Σ -> 2Q
Non-deterministic finite automata is defined as a 5 tuple,
M=(Q, Σ, δ,q0,F)
Where,
- Q: Finite set of states
- Σ: Finite set of the input symbol
- q0: Initial state
- F: Final state
- δ: Transition function: Q X Σ -> 2Q
Problem
Design a transition diagram and table for the given language that accepts all strings of length at least 2.
Solution
Before proceeding to the solution, let’s understand what do you mean by length of string and how to find the length of any string.
The length of a string means it is the number of symbols in the string or word. It is denoted by |w|.
For Example: w=01011001 from binary alphabet Σ={0,1}
|w| = 8
In a given problem, the strings should have length of at least 2. That is, the length should be 2 or more, but not less than 2 over the alphabet Σ = {0, 1}.
The language L= { 00,01,10,11,001,110,101,111,000,1101,0010,…….}
Transition Diagram
The transition diagram of NFA for the given language is −
Transition table
The transition table is as follows −
Present state | Next state for input 0 | Next state for input 1 |
---|---|---|
->q0 | q1 | q1 |
q1 | q2 | q2 |
*q2 | ε | ε |
Explanation
- Step 1 − q0 is an initial state on input ‘0’ it goes to state q1 and on input ‘1’ goes to state q1.
- Step 2 − q1 is an intermediate state on input ‘0’ and ‘1’ goes to state q2.
- Step 3 − q2 is the final state, it contains epsilon transitions.
Example 2
Construct an NFA with Σ = {0, 1} which accepts all string ending with 01.
In a given problem, the language accepts all strings ending with 01.
The language L= { 01,101,1101,001,11001,0101,11101,0001,1001,00101,…….}
Transition diagram
The transition diagram is as follows −
Transition Table
The transition table is as follows −
Present state | Next state for input 0 | Next state for input 1 |
---|---|---|
->q0 | q0,q1 | q0 |
q1 | - | q2 |
*q2 | - | - |
Explanation
- Step 1 − q0 is an initial state on input ‘0’ ii goes to multiple states q0 and q1 and ‘1’ it goes to state q0 itself.
- Step 2 − q1 is an intermediate state on input ‘1’ goes to state q2.
- Step 3 − q2 is the final state, it contains epsilon transitions.