[go: up one dir, main page]

0% found this document useful (0 votes)
5 views6 pages

Finite Automata

Finite automata are computational models used to recognize patterns through state transitions based on input symbols. There are two types of finite automata: deterministic finite automata (DFA), which have a unique state for each input, and non-deterministic finite automata (NFA), which can have multiple states for a single input. Transition diagrams visually represent these automata, illustrating how states change in response to input symbols.

Uploaded by

gourshubham637
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)
5 views6 pages

Finite Automata

Finite automata are computational models used to recognize patterns through state transitions based on input symbols. There are two types of finite automata: deterministic finite automata (DFA), which have a unique state for each input, and non-deterministic finite automata (NFA), which can have multiple states for a single input. Transition diagrams visually represent these automata, illustrating how states change in response to input symbols.

Uploaded by

gourshubham637
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/ 6

All India Council for Technical

Education

Finite Automata
o Finite automata are used to recognize patterns.

o It takes the string of symbol as input and changes its state accordingly. When the

desired symbol is found, then the transition occurs.

o At the time of transition, the automata can either move to the next state or stay

in the same state.

o Finite automata have two states, Accept state or Reject state. When the input

string is processed successfully, and the automata reached its final state, then it
will accept.

Formal Definition of FA
A finite automaton is a collection of 5-tuple (Q, ∑, δ, q0, F), where:

1. Q: finite set of states

2. ∑: finite set of the input symbol

3. q0: initial state

4. F: final state

5. δ: Transition function

Finite Automata Model:


Finite automata can be represented by input tape and finite control.

Input tape: It is a linear tape having some number of cells. Each input symbol
is placed in each cell.

5.4M
610
Difference between JDK, JRE, and JVM

Finite control: The finite control decides the next state on receiving particular
input from input tape. The tape reader reads the cells one by one from left to
right, and at a time only one input symbol is read.

Application Id Page
- x/y
All India Council for Technical
Education

Types of Automata:
There are two types of finite automata:

1. DFA(deterministic finite automata)

2. NFA(non-deterministic finite automata)

1. DFA

DFA refers to deterministic finite automata. Deterministic refers to the


uniqueness of the computation. In the DFA, the machine goes to one state only
for a particular input character. DFA does not accept the null move.

2. NFA

NFA stands for non-deterministic finite automata. It is used to transmit any


number of states for a particular input. It can accept the null move.

Some important points about DFA and NFA:

1. Every DFA is NFA, but NFA is not DFA.

2. There can be multiple final states in both NFA and DFA.

3. DFA is used in Lexical Analysis in Compiler.

Application Id Page
- x/y
All India Council for Technical
Education

4. NFA is more of a theoretical concept

Transition Diagram
A transition diagram or state transition diagram is a directed graph which can be
constructed as follows:

o There is a node for each state in Q, which is represented by the circle.

o There is a directed edge from node q to node p labeled a if δ(q, a) = p.

o In the start state, there is an arrow with no source.

o Accepting states or final states are indicating by a double circle.

Some Notations that are used in the transition diagram:

Application Id Page
- x/y
All India Council for Technical
Education

There is a description of how a DFA operates:

5M
574
Features of Java - Javatpoint

1. In DFA, the input to the automata can be any string. Now, put a pointer to the
start state q and read the input string w from left to right and move the pointer
according to the transition function, δ. We can read one symbol at a time. If the
next symbol of string w is a and the pointer is on state p, move the pointer to
δ(p, a). When the end of the input string w is encountered, then the pointer is on
some state F.

Application Id Page
- x/y
All India Council for Technical
Education

2. The string w is said to be accepted by the DFA if r ∈ F that means the input

string is said to be rejected by DFA if r ∉ F.


string w is processed successfully and the automata reached its final state. The

Example 1:
DFA with ∑ = {0, 1} accepts all strings starting with 1.

Solution:

The finite automata can be represented using a transition graph. In the above
diagram, the machine initially is in start state q0 then on receiving input 1 the
machine changes its state to q1. From q0 on receiving 0, the machine changes
its state to q2, which is the dead state. From q1 on receiving input 0, 1 the
machine changes its state to q1, which is the final state. The possible input
strings that can be generated are 10, 11, 110, 101, 111......., that means all
string starts with 1.

Example 2:
NFA with ∑ = {0, 1} accepts all strings starting with 1.

Solution:

The NFA can be represented using a transition graph. In the above diagram, the
machine initially is in start state q0 then on receiving input 1 the machine
changes its state to q1. From q1 on receiving input 0, 1 the machine changes its
state to q1. The possible input string that can be generated is 10, 11, 110, 101,
111......, that means all string starts with 1.
Application Id Page
- x/y
All India Council for Technical
Education

Application Id Page
- x/y

You might also like