DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE) PDF Download

Introduction

The two popular methods for converting a DFA to its regular expression are:
DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

  • Arden’s Method
  • State Elimination Method

State Elimination Method

This method involves the following steps in finding the regular expression for any given DFA
Step 1:

Thumb Rule

The initial state of the DFA must not have any incoming edge.

If there exists any incoming edge to the initial state, then create a new initial state having no incoming edge to it.
Example:DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 2: 

Thumb Rule

There must exist only one final state in the DFA.

If there exists multiple final states in the DFA, then convert all the final states into non-final states and create a new single final state.
Example:

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 3:

Thumb Rule

The final state of the DFA must not have any outgoing edge.

Example:DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 4:

  •  Eliminate all the intermediate states one by one.
  • These states may be eliminated in any order.

 In the end,

  • Only an initial state going to the final state will be left.
  • The cost of this transition is the required regular expression.

Note: The state elimination method can be applied to any finite automata.
(NFA, ∈-NFA, DFA etc)

Practice Problems Based on Converting DFA to Regular Expression

Problem 1: Find regular expression for the following DFA
DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Solution:
Step 1:

  • Initial state A has an incoming edge.
  • So, we create a new initial state qi.

 The resulting DFA is
DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 2:

  • Final state B has an outgoing edge.
  • So, we create a new final state qf.

The resulting DFA is
DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 3: Now, we start eliminating the intermediate states.
First, let us eliminate state A.

  • There is a path going from state qi to state B via state A.
  • So, after eliminating state A, we put a direct path from state qi to state B having cost ∈.0 = 0
  • There is a loop on state B using state A.
  • So, after eliminating state A, we put a direct loop on state B having cost 1.0 = 10.

Eliminating state A, we get

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 4: Now, let us eliminate state B.

  • There is a path going from state qi to state qf via state B.
  • So, after eliminating state B, we put a direct path from state qi to state qf having cost 0.(10)*.∈ = 0(10)*

Eliminating state B, we get

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

From here,

Regular Expression = 0(10)*

Note: In the above question,

  • If we first eliminate state B and then state A, then regular expression would be = (01)*0.
  • This is also the same and correct.

Problem 2: Find regular expression for the following DFA

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Solution:

Step 1:

  •  There exist multiple final states.
  • So, we convert them into a single final state.

The resulting DFA is
DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 2: Now, we start eliminating the intermediate states.

First, let us eliminate state q4.

  • There is a path going from state q2 to state qf via state q4.
  • So, after eliminating state q4 , we put a direct path from state qto state qf having cost b.∈ = b.
    DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 3: Now, let us eliminate state q3.

  • There is a path going from state q2 to state qf via state q3.
  • So, after eliminating state q3 , we put a direct path from state qto state qf having cost c.∈ = c.
    DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 4: Now, let us eliminate state q5.

  • There is a path going from state q2 to state qf via state q5.
  • So, after eliminating state q5 , we put a direct path from state q2 to state qf having cost d.∈ = d.
    DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

Step 5: Now, let us eliminate state q2.

  • There is a path going from state q1 to state qf via state q2.
  • So, after eliminating state q2 , we put a direct path from state q1 to state qf having cost a.(b+c+d).
    DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

From here,

Regular Expression = a(b+c+d)

The document DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Theory of Computation.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
Are you preparing for Computer Science Engineering (CSE) Exam? Then you should check out the best video lectures, notes, free mock test series, crash course and much more provided by EduRev. You also get your detailed analysis and report cards along with 24x7 doubt solving for you to excel in Computer Science Engineering (CSE) exam. So join EduRev now and revolutionise the way you learn!
Sign up for Free Download App for Free
18 videos|70 docs|44 tests

Up next

18 videos|70 docs|44 tests
Download as PDF

Up next

Explore Courses for Computer Science Engineering (CSE) exam
Related Searches

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

,

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

,

ppt

,

MCQs

,

Viva Questions

,

pdf

,

Free

,

Important questions

,

Extra Questions

,

shortcuts and tricks

,

DFA to Regular Expression | Theory of Computation - Computer Science Engineering (CSE)

,

video lectures

,

Summary

,

study material

,

Semester Notes

,

Sample Paper

,

Exam

,

practice quizzes

,

Previous Year Questions with Solutions

,

Objective type Questions

,

past year papers

,

mock tests for examination

;