Professional Documents
Culture Documents
-1-
Lecture 15
Objectives
Kleens Theorem
Any language that can be defined by
o Regular Expression or
o Finite Automaton or
o Transition Graph
can be defined by all three methods
Proof:
This theorem can be proved by proving following
Converting TG into Regular Expression
Converting Regular Expression into TG
o Already proved because you can make a TG with regular expression as a label.
Converting Finite Automat into Regular Expression
o Just like TG to Regular Expression
Converting Regular Expression into NFA.
o NFA can be converted into DFA
Converting NFA into DFA
o NFA is just like TG, so TG to DFA will be proved.
Converting DFA to TG
o Already proved because every DFA is always a TG.
Conversion of NFA into DFA
An NFA can be converted into DFA through following steps.
Step 1: Make the initial Vertex. Actually in this step we have to make a transition table. From
created transition table a matrix of vertex (states) is created.
Step 2: While some vertex (states) has no outgoing edge for some symbol S, add this edge.
Step 3: For every final state q of the NFA, All state of the DFA that contain q are marked as
final.
Step 4: If the NFA accepts , then the initial state also marked as final.
Example 1:
Given NFA
1
b
a
a
+3
Given NFA accepts all words created by R. E ((ab)*a)
Tahir Naseem/Handout 15
-2-
State
s
Input Symbols
a
b
0
1,3
1,3
0
From the constructed transition table a new matrix of states (vertex is created). A new state
{1, 3} is added; we are going to name it 4. According to rule 3 it will be final state. State 0
and new created (named as 4) has no outgoing edge for b and a respectively. So we have
added edge to the trap state.
Final DFA from transition table will be created as
b
0
+4