02 FiniteAutomata PDF
02 FiniteAutomata PDF
1
Finite Automaton (FA)
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
Recognizer for “Regular Languages”
2
Deterministic Finite Automata
- Definition
A Deterministic Finite Automaton (DFA)
consists of:
Q -> a finite set of states
∑ -> a finite set of input symbols (alphabet)
q0 -> a start state
F -> set of accepting states
δ -> a transition function, which is a mapping
between Q x ∑ to Q
A DFA is defined by the 5-tuple:
{Q, ∑ , δ, q0,F }
3
What does a DFA do on
reading an input string?
Input: a word w in ∑*
Question: Is w acceptable by the DFA?
Steps:
Start at the “start state” q0
For every input symbol in the sequence w do
Compute the next state from the current state, given the
current input symbol in w and the transition function
If after all symbols in w are consumed, the current
state is one of the accepting states (F) then accept
w;
Otherwise, reject w.
4
Regular Languages
Let L(A) be a language recognized by a
DFA A.
Then L(A) is called a “Regular Language”.
5
Example #1
Build a DFA for the following language:
L = {w | w is a binary string that contains 01 as a substring}
Steps for building a DFA to recognize L:
∑ = {0,1}
Decide on the states: Q
Designate start state and final state(s)
δ: Decide on the transitions:
“Final” states -> same as “accepting states”
Other states -> same as “non-accepting states”
6
Regular expression: (0+1)*01(0+1)*
states q0 q1 q0
q1 q1 q2
*q2 q2 q2