Skip to main content

Non-deterministic Finite Automaton (NDFA / NFA)

 Non-deterministic Finite Automaton NDFA / NFA:





In NDFA, for a particular input symbol, the machine can move to any combination of the states in the machine. In other words, the exact state to which the machine moves cannot be determined. Hence, it is called Non-deterministic Automaton. 

As it has finite number of states, the machine is called Non-deterministic Finite Machine or Non-deterministic Finite Automaton.


Formal Definition of an NDFA:


An NDFA can be represented by a 5-tuple (Q, ∑, δ, q0, F) where −
Q is a finite set of states.
∑ is a finite set of symbols called the alphabets.
δ is the transition function where δ: Q × ∑ → 2Q (Here the power set of Q (2Q) has been taken because in case of NDFA, from a state, transition can occur to any combination of Q states)
q0 is the initial state from where any input is processed (q0 ∈ Q).
F is a set of final state/states of Q (F ⊆ Q)


Graphical Representation of an NDFA: 


An NDFA is represented by digraphs called state diagram.
The vertices represent the states.
The arcs labeled with an input alphabet show the transitions.
The initial state is denoted by an empty single incoming arc.
The final state is indicated by double circles.

Example 1:
Let a non-deterministic finite automaton be →
Q = {a, b, c}
∑ = {0, 1}
q0 = {a}
F = {c}

The transition function δ as shown below 





Example 2 :

Acceptance of the String by Finite automata:
1) Check the String 11010 is accepted by the NFA or Not?
2) Check the String 110111 is accepted by the NFA or Not?



 Deterministic Finite Automaton (DFA)                                             Conversion of NDFA to 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  t...

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. ...

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 analysi...