Download presentation
Presentation is loading. Please wait.
Published byReanna Packer Modified over 10 years ago
1
cs466(Prasad)L13DFAMin1 DFA Minimization
2
cs466(Prasad)L13DFAMin2 Strings over {a,b} with even number of a’s ** EaOa EbOb Eb b b b b aa a a [Oa,Ob] [Ea,Eb][Ea,Ob] [Oa,Eb]
3
cs466(Prasad)L13DFAMin3 Strings over {a,b} with even number of a’s ** EaOa a a [Ea] [Oa] b b
4
cs466(Prasad)L13DFAMin4 Observation The states among the state sets {[Ea,Eb], [Ea,Ob]} and {[Oa,Eb], [Oa,Ob]} differ on aspect immaterial for the problem at hand. Why not collapse these state sets into one state each, to get a smaller DFA?
5
cs466(Prasad)L13DFAMin5 Equivalent or Indistinguishable States Recall that a DFA state summarizes the substring consumed so far (that is, the past history). Two states qi and qj are equivalent or indistinguishable (for the future), if, when started in these states, every string causes the machine to either end up in an accepting state for both or end up in a non-accepting state for both. In other words, there is no string that can tell the equivalent states apart for the given language.
6
cs466(Prasad)L13DFAMin6 Main Idea qi qnqj qm If qm and qn are distinguishable, then so are qi and qj a a
7
cs466(Prasad)L13DFAMin7 Example DFA q0 q4 q1q2 q3 q7q5 q6 a b a a,b a b b b a b (a u b)(a u b*) a,b a
8
cs466(Prasad)L13DFAMin8 Refinement of State Partitions { {q0,q7}, {q1,q2,q3,q4,q5,q6} } { {q0},{q7}, {q1,q2,q3,q4,q5,q6} } On any transition { {q0},{q7}, {q1,q2,q3,q4,q5,q6} } { {q0},{q7}, {q1,q4}, {q2,q3,q5,q6} } On “a” transition { {q0},{q7}, {q1,q4}, {q2,q5},{q3,q6} } On “b” transition
9
cs466(Prasad)L13DFAMin9 Example DFA showing equivalent states q0 q4 q1q2 q3 q7q5 q6 a b a a,b a b b b a b (a u b)(a u b*) a,b a
10
cs466(Prasad)L13DFAMin10 Example Minimum DFA q0 q1,q4 q7 q2,q5 q3,q6 a a,b a b b (a u b)(a u b*)
11
cs466(Prasad)L13DFAMin11 For an efficient way of determining minimal DFA, see the details in Algorithm 5.7.2
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.