0% found this document useful (0 votes)
3 views

Introduction of Finite Automata

Finite automata are abstract machines that recognize patterns in input sequences, consisting of states, transitions, and input symbols. They can be categorized into deterministic (DFA) and non-deterministic (NFA) types, both capable of recognizing the same set of regular languages. DFAs have a single transition for each input symbol, while NFAs allow multiple transitions and null moves.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Introduction of Finite Automata

Finite automata are abstract machines that recognize patterns in input sequences, consisting of states, transitions, and input symbols. They can be categorized into deterministic (DFA) and non-deterministic (NFA) types, both capable of recognizing the same set of regular languages. DFAs have a single transition for each input symbol, while NFAs allow multiple transitions and null moves.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Introduction of Finite Automata

Finite automata are abstract machines used to recognize patterns in input


sequences, forming the basis for understanding regular languages in computer
science. They consist of states, transitions, and input symbols, processing each
symbol step-by-step. If the machine ends in an accepting state after processing
the input, it is accepted; otherwise, it is rejected. Finite automata come in
deterministic (DFA) and non-deterministic (NFA), both of which can recognize the
same set of regular languages. They are widely used in text processing,
compilers, and network protocols.

Figure: Features of Finite Automata


Features of Finite Automata
 Input: Set of symbols or characters provided to the machine.
 Output: Accept or reject based on the input pattern.
 States of Automata: The conditions or configurations of the machine.
 State Relation: The transitions between states.
 Output Relation: Based on the final state, the output decision is made.
Formal Definition of Finite Automata
A finite automaton can be defined as a tuple:
{ Q, Σ, q, F, δ }, where:
 Q: Finite set of states
 Σ: Set of input symbols
 q: Initial state
 F: Set of final states
 δ: Transition function
Types of Finite Automata
There are two types of finite automata:
 Deterministic Fintie Automata (DFA)
 Non-Deterministic Finite Automata (NFA)
1. Deterministic Finite Automata (DFA)
A DFA is represented as {Q, Σ, q, F, δ}. In DFA, for each input symbol, the
machine transitions to one and only one state. DFA does not allow any null
transitions, meaning every state must have a transition defined for every input
symbol.
DFA consists of 5 tuples {Q, Σ, q, F, δ}.
Q : set of all states.
Σ : set of input symbols. ( Symbols which machine takes as input )
q : Initial state. ( Starting state of a machine )
F : set of final state.
δ : Transition Function, defined as δ : Q X Σ --> Q

Example:
Construct a DFA that accepts all strings ending with ‘a’.
Given:
Σ = {a, b},
Q = {q0, q1},
F = {q1}

Fig 1. State Transition Diagram for DFA with Σ = {a, b}

State\
Symbol a b

q q
q0
1 0

q q
q1
1 0

In this example, if the string ends in ‘a’, the machine reaches state q1, which is
an accepting state.
2) Non-Deterministic Finite Automata (NFA)
NFA is similar to DFA but includes the following features:
 It can transition to multiple states for the same input.
 It allows null (ϵ) moves, where the machine can change states without
consuming any input.
Example:
Construct an NFA that accepts strings ending in ‘a’.
Given:
Σ = {a, b},
Q = {q0, q1},
F = {q1}
Fig 2. State Transition Diagram for NFA with Σ = {a, b}
State Transition Table for above Automaton,

State\
Symbol a b

{q0,q q
q0
1} 0

q1 φ φ

In an NFA, if any transition leads to an accepting state, the string is accepted.


Comparison of DFA and NFA
Although NFAs appear more flexible, they do not have more computational
power than DFAs. Every NFA can be converted to an equivalent DFA, although
the resulting DFA may have more states.
 DFA: Single transition for each input symbol, no null moves.
 NFA: Multiple transitions and null moves allowed.
 Power: Both DFA and NFA recognize the same set of regular languages.

You might also like