Computing
Theory
±CE ²³!´
Gül BOZTOK ALGINµ PhD
Fall ¶³·"

.

Finite Automata
Finite automata are good models for computers with an extremely limited
amount of memory.
An automaton is an abstract computing device. Note that a “device” need
not even be a physical hardware!
Such computers lie at the heart of various electromechanical devices.
e.g. The controller for an automatic door, a dishwasher, an electronic
thermostat, etc.

Finite Automata
A finite automaton is informally
±
a state diagram that comprehensively
captures all possible states and transitions that a machine can take while
responding to a stream or sequence of input symbols.
It is recognizer for “Regular Languages”.
+)eterministic +inite (&utomata ±+)+(&°
The machine can exist in only one state at any given time.
2Non²deterministic +inite (&utomata ±2N+(&°
The machine can exist in multiple states at the same time.

The Chomsky Hierarchy [¸]
Hierarchy of classes of formal languages.

Finite Automata
7Some (&pplications%!
䚔
Software for designing and checking the behavior of digital circuits
䚔
Lexical analyzer of a typical compiler
䚔
Software for scanning large bodies of text (e.g., web pages) for pattern
finding
䚔
Software for verifying systems of all types that have a finite number of
states e.g., stock market transaction, communication/network protocol

Finite Automata
A simple Example: The controller for an automatic door

Finite Automata
Finite automata
䚔
Their probabilistic counterpart are Markov chains*.
䚔
Are used to recognize patterns in data,
ŷ
in speech processing,
ŷ
in optical character recognition.
䚔
Markov chains have been used to model and predict price changes in
financial markets.
*
A process satisfies the Markov property if one can make predictions for the future of the process
based solely on its present state; that is,
conditional on the present state of the system, its future
and past states are independent.

Example Finite Automata
On/Off Switch
Recognition
modeling of the
word “
then
”

A Finite Automaton M
·
The
state diagram
of a finite automaton called M
1
with three states.
7States
: q
1
, q
2
, q
3
8Transitions
: The arrows going from one state to another
The
start state
: q
1
(
indicated by the arrow pointing at it from nowhere
)
The
accept ±final° state
: q
2
(
indicated with a double circle
)
! Note that if the start state is also an accept state, M
1
accepts the empty string ε.
Input
,
output
(accept or reject for now).
Which input strings will 22M
²
accept%$%% Which ones will it reject%$%%

Finite Automata _ Formal Definition
1
δ specifies exactly one next state for each possible combination of a state and an input symbol.
2
Zero accept states is allowable.

A Finite Automaton M
·
M
1
= (Q, Σ, δ, q
1
, F)
1.
Q = {q
1
, q
2
, q
3
}
2.
Σ = {0, 1}
3.
δ :
4.
q
1
: start state
5.
F = {q
2
}

Finite Automata _ Formal Definition
Let
'&''A


You've reached the end of your free preview.
Want to read all 107 pages?
- Spring '20
- Formal language, Regular expression, Nondeterministic finite state machine, Automata theory