LECTURE 2 THEORY OF COMPUTATION Yasir Imtiaz Khan
Feb 23, 2016
LECTURE 2THEORY OF COMPUTATION
Yasir Imtiaz Khan
FINITE AUTOMATA
FINITE AUTOMATA
FORMAL DEFINITION
DRAW STATE DIAGRAMS
TRANSITION GRAPH
initialstate
final state“accept”
statetransition
Abba -Finite Accepter
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
INITIAL CONFIGURATION
1q 2q 3q 4qa b b a
5q
a a bb
ba,
Input String
a b b a
ba,0q
READING THE INPUT
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
0q 1q 2q 3q 4qa b b a
Output: “accept”
5q
a a bb
ba,
a b b a
ba,
Input finished
REJECTION
1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,0q
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,Output:“reject”
a b a
ba,
Input finished
ANOTHER REJECTION
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
Output:“reject”
MORE EXAMPLES
a
b ba,
ba,
0q 1q 2q
}0:{ nbaML n
accept trap state
ML = { all strings with prefix }ab
a b
ba,
0q 1q 2qaccept
ba,3q
ab
ML = { all strings without
substring }001
0 00 001
1
0
110
0 1,0
NON DETERMINISTIC AUTOMATA
FORMAL DEFINITION NFA
1q 2q
3q
a
a
a
0q
}{aAlphabet =
Nondeterministic Finite Accepter (NFA)
1q 2q
3q
a
a
a
0q
Two choices
}{aAlphabet =
Nondeterministic Finite Accepter (NFA)
No transition
1q 2q
3q
a
a
a
0q
Two choicesNo transition
}{aAlphabet =
Nondeterministic Finite Accepter (NFA)
a a
0q
1q 2q
3q
a
a
First Choice
a
a a
0q
1q 2q
3q
a
a
a
First Choice
a a
0q
1q 2q
3q
a
a
First Choice
a
a a
0q
1q 2q
3q
a
a
a “accept”
First Choice
All input is consumed
a a
0q
1q 2q
3q
a
a
Second Choice
a
a a
0q
1q 2qa
a
Second Choice
a
3q
a a
0q
1q 2qa
a
a
3q
Second Choice
No transition:the automaton hangs
a a
0q
1q 2qa
a
a
3q
Second Choice
“reject”
Input cannot be consumed
LAMBDA TRANSITIONS
1q 3qa0q 2q a
a a
1q 3qa0q 2q a
a a
1q 3qa0q 2q a
a a
1q 3qa0q 2q a
(read head does not move)
a a
1q 3qa0q 2q a
a a
1q 3qa0q 2q a
“accept”
String is acceptedaa
all input is consumed
a a
1q 3qa0q 2q a
Rejection Example
a
a a
1q 3qa0q 2q a
a
a a
1q 3qa0q 2q a
(read head doesn’t move)
a
a a
1q 3qa0q 2q a
a
No transition:the automaton hangs
a a
1q 3qa0q 2q a
“reject”
String is rejectedaaa
a
Input cannot be consumed
Language accepted: }{aaL
1q 3qa0q 2q a
Another NFA Example
0q 1q 2qa b
3q