Conversion of RE to FA
To convert the RE to FA, we are going to use a method called the subset method. This method is used to obtain FA from the given regular expression. This method is given below:
Step 1: Design a transition diagram for given regular expression, using NFA with ε moves.
Step 2: Convert this NFA with ε to NFA without ε.
Step 3: Convert the obtained NFA to equivalent DFA.
Example 1:
Design a FA from given regular expression 10 + (0 + 11)0* 1.
Solution: First we will construct the transition diagram for a given regular expression.
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Now we have got NFA without ε. Now we will convert it into required DFA for that, we will first write a transition table for this NFA.
State |
0 |
1 |
→q0 |
q3 |
{q1, q2} |
q1 |
qf |
Ï• |
q2 |
Ï• |
q3 |
q3 |
q3 |
qf |
*qf |
Ï• |
Ï• |
The equivalent DFA will be:
State |
0 |
1 |
→[q0] |
[q3] |
[q1, q2] |
[q1] |
[qf] |
Ï• |
[q2] |
Ï• |
[q3] |
[q3] |
[q3] |
[qf] |
[q1, q2] |
[qf] |
[qf] |
*[qf] |
Ï• |
Ï• |
Example 2:
Design a NFA from given regular expression 1 (1* 01* 01*)*.
Solution: The NFA for the given regular expression is as follows:
Step 1:
Step 2:
Step 3:
Example 3:
Construct the FA for regular expression 0*1 + 10.
Solution:
We will first construct FA for R = 0*1 + 10 as follows:
Step 1:
Step 2:
Step 3:
Step 4:
0 Comments