Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

Automata Theory

What is Automata
• During the computation an automata changes its internal
position from one state to another.
• A computer is a machine that accepts input processes them, and
produces the output. And it is capable of storing and making
decisions of its inputs and outputs
• A computing machine is also known as automata.

2
Transition Diagram
It specify the complete set of behaviours of the automaton. That is for
each state and for each possible input symbol it specifies exactly what the
behaviour of the machine must be namely, what new sate it should reach
upon consuming that particular symbol.

3
Elements of an automata
An automata M has following elements :
• M.alphabets (sumession) Finite set of symbols in input

• M.States(Q) : Finite set of all the states in the automaton

• M.StartState (q0): The Start state of the automaton

• M.FinalState (Qf): The end state of the automata

• M.Transition() : It is mapping from the current state and the current input symbol to a
new state.

4
Example: Ticket wending machine

5
Elements of Ticket wending machine
1. M.alphabets = {1, 2, 5}

2. M.States = {q0, q1, q2, q3, q4, q5, q6, q7, q10}

3. M.StartState = q0

4. M.FinalState = {q3, q4, q6, q7, q10}

5. M.Transition Function = { (q1, 1) -> q1, (q0, 2) -> q2, (q0, 5) -> q5, (q1, 1) -> q2………}

6
Note: In this automaton the final state do not have any transitions joint out
of them each non-final state has exactly three transitions corresponding to the
three symbols in the alphabets

These automata are also called finite automata to emphasize the fact that
the contain finite number of states.

Deterministic Automata: For a given state and input symbol there is


only one possible transition.

7
An automaton is said to accept an input string if given the symbols in the
string in order one at a time the Machine processes it starting from
M.Startstate and halts in any one of it's final states (in finite time of the input).

If the automaton get stuck in a non-final State, it is said to reject the input
string.

Also the final state should not be confused with any state in which the
consuming the

8
Questions :
Q1: Construct the automata that accepts any of the input string
that starts with ‘0’ and rejects if it starts from 1.

0
1 1

0
q0 q1

Strings accepted by this automata -> [0, 01, 000, 001, 010, 0000, ….]

Strings rejected by this automata -> [1, 01, 100, 101, 110, 1011, ….]

9
Q2: Construct an automata that accepts only even numbers in
binary

1 0

q0 q1
1

Accepted string -> 1 1 0 0 -> 12 -> Even

Rejected string -> 0 1 0 1 -> 5 -> odd

10
Q3. Construct an automata that accept binary numbers divisible by 4

q0 q1
1

1 0

q2

Accepted string -> 1 1 0 0 -> 12

Rejected string -> 1 0 1 0 -> 10


11
Q4. Construct an automata that accepts the string that has even number of ‘a’
and ‘b’.

q0 q1
a

b b b b

q3 q2
a

Accepted String : a b a b
Rejected String : a b a a
12
Types of automata
1. Deterministic Finite Automata(DFA) :
• In DFA given the current state we know what will be the next state
• It has only one unique next state
• No choice for randomness, easy to design
a

q0 q1
a

b b b b

q3 q2
13
Example of DFA :
Let a deterministic finite automaton be → Q = {a, b, c},
∑ = {0, 1},
q0 = {a},
F = {c}, and
Transition function δ as shown by the following table −

14
2. Non – Deterministic Finite automata (NFA)
• In NFA given a current state there could be multiple next stages
• The next state may be chosen at random.
• All the next stages may be chosen in parallel

A B

E D

15
Example of NFA :
Let a non-deterministic finite automaton be →
 Q = {a, b, c}
 ∑ = {0, 1}
 q0 = {a}
 F = {c}
The transition function δ as shown below −

16
• An automaton with a finite number of states is called a Finite
Automaton (FA) or Finite State Machine (FSM).

• There are two types of finite state machines that generate output

1) Mealy Machine
2) Moore machine

17
Mealy Machine
• In a mealy machine the output depends not only on the current state of the
automaton but also on the input symbol

• If we add an output symbol to each transition in a finite automaton then


we get a mealy machine

• In transition diagram, each transition is labelled with an output value, in


this every transition for a particular input has a fixed output.

18
• Mealy machine can be described by 6 tuples

1) Q: finite set of states

2) q0: initial state of machine

3) ∑: finite set of input alphabet

4) O/ : output alphabet

5) δ: transition function where Q × ∑ → Q

6) λ': output function where Q × ∑ →/O

19
State Table and State Diagram

20
Thank
you

You might also like