Question
Question: Find the final DFA (Deterministic Finite Automata) by performing the DFA minimization process....
Find the final DFA (Deterministic Finite Automata) by performing the DFA minimization process.

The final minimized DFA is given by the transition table above.
Solution
The process of DFA minimization involves identifying and merging equivalent states. We use the table-filling algorithm (also known as the Myhill-Nerode theorem based approach) to achieve this.
Given DFA Transition Table:
State/input | 0 | 1 |
---|---|---|
->q₀ | q₁ | q₀ |
q₁ | q₀ | q₂ |
q₂ | q₃ | q₁ |
q₃* | q₃ | q₀ |
q₄ | q₃ | q₅ |
q₅ | q₆ | q₄ |
q₆ | q₅ | q₆ |
q₇ | q₆ | q₃ |
Initial state: q₀
Final state: q₃
DFA Minimization Process:
Step 1: Initial Partition (P₀)
Separate final states from non-final states.
P₀ = {{q₃}, {q₀, q₁, q₂, q₄, q₅, q₆, q₇}}
Step 2: First Refinement (P₁)
Let F = {q₃}
and NF = {q₀, q₁, q₂, q₄, q₅, q₆, q₇}
. We examine transitions for states in NF
based on which partition their next states fall into (F or NF).
q₀
:δ(q₀, 0) = q₁ ∈ NF
,δ(q₀, 1) = q₀ ∈ NF
q₁
:δ(q₁, 0) = q₀ ∈ NF
,δ(q₁, 1) = q₂ ∈ NF
q₂
:δ(q₂, 0) = q₃ ∈ F
,δ(q₂, 1) = q₁ ∈ NF
q₄
:δ(q₄, 0) = q₃ ∈ F
,δ(q₄, 1) = q₅ ∈ NF
q₅
:δ(q₅, 0) = q₆ ∈ NF
,δ(q₅, 1) = q₄ ∈ NF
q₆
:δ(q₆, 0) = q₅ ∈ NF
,δ(q₆, 1) = q₆ ∈ NF
q₇
:δ(q₇, 0) = q₆ ∈ NF
,δ(q₇, 1) = q₃ ∈ F
Based on the above, the set NF
splits:
- States that transition to
F
for input0
:{q₂, q₄}
- States that transition to
F
for input1
:{q₇}
- States that transition only to
NF
for both inputs:{q₀, q₁, q₅, q₆}
So, P₁ = {{q₃}, {q₂, q₄}, {q₇}, {q₀, q₁, q₅, q₆}}
Step 3: Second Refinement (P₂)
Let the partitions in P₁
be:
P₁_1 = {q₃}
P₁_2 = {q₂, q₄}
P₁_3 = {q₇}
P₁_4 = {q₀, q₁, q₅, q₆}
-
Check
P₁_2 = {q₂, q₄}
:δ(q₂, 0) = q₃ ∈ P₁_1
,δ(q₄, 0) = q₃ ∈ P₁_1
δ(q₂, 1) = q₁ ∈ P₁_4
,δ(q₄, 1) = q₅ ∈ P₁_4
Sinceq₃
andq₃
are in the same partition (P₁_1
), andq₁
andq₅
are in the same partition (P₁_4
),q₂
andq₄
are not distinguishable. This partition remains{q₂, q₄}
.
-
Check
P₁_3 = {q₇}
: This is a single state, so it remains{q₇}
. -
Check
P₁_4 = {q₀, q₁, q₅, q₆}
:q₀
:δ(q₀, 0) = q₁ ∈ P₁_4
,δ(q₀, 1) = q₀ ∈ P₁_4
q₁
:δ(q₁, 0) = q₀ ∈ P₁_4
,δ(q₁, 1) = q₂ ∈ P₁_2
(Note:q₂
is inP₁_2
, notP₁_4
)q₅
:δ(q₅, 0) = q₆ ∈ P₁_4
,δ(q₅, 1) = q₄ ∈ P₁_2
(Note:q₄
is inP₁_2
, notP₁_4
)q₆
:δ(q₆, 0) = q₅ ∈ P₁_4
,δ(q₆, 1) = q₆ ∈ P₁_4
Based on transitions for input
1
:- States whose
δ(s, 1)
goes toP₁_2
:{q₁, q₅}
- States whose
δ(s, 1)
goes toP₁_4
:{q₀, q₆}
Thus,P₁_4
splits into{{q₁, q₅}, {q₀, q₆}}
.
So, P₂ = {{q₃}, {q₂, q₄}, {q₇}, {q₁, q₅}, {q₀, q₆}}
Step 4: Third Refinement (P₃)
Let the partitions in P₂
be:
P₂_1 = {q₃}
P₂_2 = {q₂, q₄}
P₂_3 = {q₇}
P₂_4 = {q₁, q₅}
P₂_5 = {q₀, q₆}
-
Check
P₂_2 = {q₂, q₄}
:δ(q₂, 0) = q₃ ∈ P₂_1
,δ(q₄, 0) = q₃ ∈ P₂_1
δ(q₂, 1) = q₁ ∈ P₂_4
,δ(q₄, 1) = q₅ ∈ P₂_4
No split.
-
Check
P₂_4 = {q₁, q₅}
:δ(q₁, 0) = q₀ ∈ P₂_5
,δ(q₅, 0) = q₆ ∈ P₂_5
δ(q₁, 1) = q₂ ∈ P₂_2
,δ(q₅, 1) = q₄ ∈ P₂_2
No split.
-
Check
P₂_5 = {q₀, q₆}
:δ(q₀, 0) = q₁ ∈ P₂_4
,δ(q₆, 0) = q₅ ∈ P₂_4
δ(q₀, 1) = q₀ ∈ P₂_5
,δ(q₆, 1) = q₆ ∈ P₂_5
No split.
Since P₃ = P₂
, the algorithm terminates.
Final Minimized DFA:
We assign new names to the equivalent classes:
A = {q₀, q₆}
(Initial State, asq₀
is the original initial state)B = {q₁, q₅}
C = {q₂, q₄}
D = {q₃}
(Final State, asq₃
is the original final state)E = {q₇}
Minimized DFA Transition Table:
State/input | 0 | 1 |
---|---|---|
->A | B | A |
B | A | C |
C | D | B |
D* | D | A |
E | A | D |
Solution:
The final minimized DFA is represented by the following transition table:
State/input | 0 | 1 |
---|---|---|
->A | B | A |
B | A | C |
C | D | B |
D* | D | A |
E | A | D |
Where:
- Initial state is A.
- Final state is D.
- The new states correspond to the following sets of original states:
A = {q₀, q₆}
B = {q₁, q₅}
C = {q₂, q₄}
D = {q₃}
E = {q₇}
Explanation of the solution:
- Initial Partition: Group states into final and non-final sets (
P₀
). - Iterative Refinement: For each partition, check if any two states within it are distinguishable. States
p
andq
are distinguishable if for some inputa
,δ(p, a)
andδ(q, a)
fall into different partitions of the previous step. - Splitting: If states are distinguishable, split the partition into smaller ones.
- Termination: Repeat until no more partitions can be split (
Pᵢ = Pᵢ₊₁
). - Construct Minimized DFA: Each final partition forms a new state in the minimized DFA. The initial and final states are determined by which new states contain the original initial and final states.