Finite Automata
Finite Automata
Introduction
E. Wenderholm
Department of Computer Science
SUNY Oswego
c 2016 Elaine Wenderholm All rights Reserved
E. Wenderholm
Finite Automata
Finite Automata
Outline
1
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
Finite Automaton (FA)
Operational Definition
A FA consists of a finite set of states, and a set of transitions
from state to state.
The state transitions occur when processing a string of
symbols from an alphabet.
State transitions can be represented using a state transition
table.
State transitions can be represented with a state transition
diagram - a labelled directed graph.
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
Finite Automaton (FA)
Formal Definition
A Finite Automaton, M, is defined as a 5-tuple.
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
Finite Automaton (FA)
Formal Definition
A Finite Automaton, M, is defined as a 5-tuple.
M = (Q, Σ, δ, q0 , F ), where
Q is a finite, nonempty set of states
Σ is an alphabet: a finite, nonempty set of symbols
δ is a state transition function
q0 ∈ Q is the initial state
F ⊂ Q is the set of final (or accepting) states.
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
Deterministic Finite Automaton (DFA)
δ function
For each state and each input symbol, there is exactly one
state transition.
δ :Q ×Σ→Q
A DFA is deterministic precisely because there is one, and
only one, transition from a state on an input symbol.
An input string w is accepted by a DFA provided there is a
sequence of tranition that starts in the initial state and ends
in some final state.
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
Nondeterministic Finite Automaton (NFA)
δ function
The number of transitions for each state and each input
symbol generalized from a DFA: it may be either zero, one
(deterministic), or more.
δ : Q × Σ → P(Q)
An input string w is accepted by an NFA provided there exists
at least one sequence of transitions that starts in the initial
state and ends in some final state.
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
FA
Move of a Machine
A snapshot (or an instantaneous configuration) of a machine
M is represented as an ordered pair (q, w ). q is the current
state of M, and w is the remaining string to be processed by
M.
A machine moves (`) from one configuration to the next
based on the δ function.
DFA: (q, aw ) ` (p, w ) provided δ(q, a) = p
NFA: (q, aw ) ` finite subsets of (p1 , w ), . . . (pn , w )∗ , where
δ(q, a) = pi , 1 ≤ i ≤ n
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
FA
Equivalence to Languages
A FA accepts some set of strings w over Σ.
The set of all strings accepted by a FA is a language.
The language accepted by M, denoted L(M) is the set
L(M) = {w |(q0 , w ) `∗ (q, ), q ∈ F }
E. Wenderholm
Finite Automata
Finite Automata
Operational Definition
Formal Definition
State Transition
Equivalence of FA and RE
NFA to DFA Conversion
NFA to DFA Conversion
Algorithm
Simulate running the NFA in parallel by constructing
δ 0 : P(Q) × Σ → P(Q)
Begin construction by placing q0 in a set.
Construct the δ 0 table “on demand”
Define as final state(s) any set that contains any of the final
states from the original NFA.
Rename states.
Define the resulting DFA.
E. Wenderholm
Finite Automata
© Copyright 2026 Paperzz