Professional Documents
Culture Documents
Lecture 6
Class Conducted by
Bibek Ropakheti
Associate Professor : Cosmos College of Management and Technology
Visiting Faculty : NCIT
July 2020
Chapter 2
Finite State Automata
Chapter Outline
• Sequential Circuits and Finite state Machine
• Finite State Automata
• Language and Grammars
• Non-deterministic Finite State Automata
• Language and Automata
• Regular Expression
Today
• Sequential Circuits and Finite state Machine
• Finite State Automata
Background
• George Boole
• Boolean Algebra, Boolean Function, Boolean Expression
• Boole contributed in formalizing and mechanizing the process of
logical thinking
• Through his book “The Laws of Thought”, in 1854
• The development of a theory of logic using symbols instead of words
Background
• In 1938, C. E. Shannon observed that Boolean Algebra could be used
to analyze electrical circuits
• Boolean algebra became an indispensable tool for analysis and design
of electronic computers in succeeding era
• Concept of Combinatorial Circuits and Sequential Circuits
• Combinatorial circuit is uniquely defined for every combination of
inputs
• It doesn’t have memory, and previous state of the system do not
affect output of the circuit
Background
• Combinatorial Circuits can be constructed using solid state devices
called gates
• Gates are capable of switching voltage levels or bits
• But real solutions demands that output depends not only on inputs
but also on the state of the system at the time of input
Introduction
• Circuits for which the output is a function, not only of the inputs but
also of the state of the system, are called sequential circuits
• The state of the system is determined by previous processing
• Thus these systems have memory
• They are important in computer design
• Finite state machines are abstract models of machines with a
primitive internal memory
Sequential Circuits
• Operations within a digital computer are carried out at discrete
intervals of time.
• Output depends on the state of the system as well as on the input.
• It is assumed that the state of the system changes only at discrete
interval of time, i.e. t = 0, 1, . . . .
• A simple way to introduce sequencing in circuits is to introduce a unit
time delay.
Sequential Circuits
• unit time delay accepts as input
a bit xt at time t and outputs xt−1,
the bit received as input at time
t−1
Sequential Circuits: Example
• Use of delay in serial adder
• A serial adder takes two binary
numbers as input
• a= an-1 an-2 … a1 a0
• b= bn-1 bn-2 … b1 b0
• And outputs the sum of a and b, as
s= sn sn-1 … s1 s0
• The numbers a and b are input
sequentially in pairs and the sum s
is the output
Finite State Machine
• A finite state machine is an abstract model of a machine with a
primitive internal memory
• A finite-state machine M consists of
(a) A finite set I of input symbols
(b) A finite set O of output symbols
(c) A finite set S of states
(d) A next-state function f from S × I into S
(e) An output function g from S × I into O
(f) An initial state σ ∈ S
Written as, M = (I, O, S, f , g, σ)
Finite State Machine: Example
• Let M be a finite machine with g given by,
I = {a, b}, g(σ0, a) = 0
O = {0, 1}, g(σ0, b) = 1
S = {σ0, σ1}, g(σ1, a) = 1
f given by, g(σ1, b) = 0
f(σ0, a) = σ0 and, σ = σ0
f(σ0, b) = σ1
f(σ1, a) = σ1
f(σ1, b) = σ1
Finite State Machine: Example
• Its transition table is given as,
f g
S/I a b a b
àσ0 σ0 σ1 0 1
σ1 σ1 σ1 1 0