Skip to main content

Conversion of NFA to DFA

 Conversion of NDFA to DFA:






Let X = (Qx, ∑, δx, q0, Fx) be an NDFA which accepts the language L(X). We have to design an equivalent DFA Y = (Qy, ∑, δy, q0, Fy) such that L(Y) = L(X). 

Algorithm

Input − A NDFA

Output − An equivalent DFA


Steps to convert NDFA to DFA:

Step 1 − Create state table from the given NDFA.
Step 2 − Create a blank state table under possible input alphabets for the equivalent DFA.
Step 3 − Mark the start state of the DFA by q0 (Same as the NDFA).
Step 4 − Find out the combination of States {Q0, Q1,... , Qn} for each possible input alphabet.
Step 5 − Each time we generate a new DFA state under the input alphabet columns, we have to apply step 4 again, otherwise go to step 6.
Step 6 − The states which contain any of the final states of the NDFA are the final states of the equivalent DFA.


Example 1:
1. Convert the given NDFA to DFA





Using the above algorithm, we find its equivalent DFA. The state table of the DFA is shown in below



The state diagram of the DFA is as follows:


 Example 3 Conversion from NDFA to DFA



NDFA/NFA                                                                    Minimization of DFA

 


Comments

Popular posts from this blog

Web Application Development (WAD)

Web Application Development (WAD) WEB APPLICATION AND DEVELOPMENT ( WAD) Notes Unit Wise Unit I INTRODUCTION   HTML   CSS   WEB APPLICATION FUNDAMENTALS   Unit II XML   Unit III JQuery   JSON Java Script Unit IV AngularJS   Unit V MEAN Stack   SMACK Stack LAB PROGRAMS:  Click Here Important Question for MID I :  Click here WAD Previous Question : Click Here TEXT BOOK:  Click Hear Course Code Course Title Core/Elective PC 601 IT WEB APPLICATION DEVELOPMENT Core Prerequisite Contact hours per week CIE SEE Credits L T D P - 3 1 - - 30 70 3 Course Objective:     Ø    To develop dynamic web applications using the concepts of HTML 5.0 and   CSS     Ø    To understand the document structure and schemas and represent data in  that format     Ø    To develop applications using Query and represent objects in JSON   notation    

DESIGN AND ANALYSIS OF ALGORITHMS – QUESTION BANK (CSE)

  ISL ENGINEERING COLLEGE DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK                                         BE III Year II Semester (A & B Sections) –PC 603 CS     Academic Year: 2020-21 SHORT ANSWER QUESTIONS   UNIT-I 1.       Why is an algorithm analysis required? 2.       State about UNION & FIND operations. 3.       List out the UNION algorithm using weighting rule. 4.       Given f(n)=10n 2 +4n+3, then prove that f(n)=O(n 2 ). 5.       List and define operations performed on sets? 6.       What do you mean by performance analysis of an algorithm? Explain. 7.       Explain the significance of input size of a problem. 8.       State the weighting, collapsing rules in sets. 9.       Explain set representation and write algorithm for FIND. 10.   Solve T(n)=3T(n/3)+√n. 11.   Define the terms direct recursive and indirect rec

DESIGN AND ANALYSIS OF ALGORITHMS – QUESTION BANK (IT)

  ISL ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK BE III Year II Semester – PC 602 IT Academic Year: 2020-21 SHORT ANSWER QUESTIONS   UNIT-I 1.       Explain linear probing in Hashing with an example. 2.       Define Heap. 3.       List out the collision resolution techniques in hashing. 4.       Why is an algorithm analysis required? 5.       State about UNION & FIND operations. 6.       List out the UNION algorithm using weighting rule. 7.       Given f(n)=10n 2 +4n+3, then prove that f(n)=O(n 2 ). 8.       List and define operations performed on sets? 9.       What do you mean by performance analysis of an algorithm? Explain. 10.   Explain the significance of input size of a problem. 11.   State the weighting, collapsing rules in sets. 12.   Explain set representation and write algorithm for FIND. 17