Download - Lecture 2 Theory of Computation
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