Regular Language Equivalence and DFA Minimization Equivalence of
![Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization 1 Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization 1](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-1.jpg)
![Decision Property: Equivalence • Given regular languages L and M, is L = M? Decision Property: Equivalence • Given regular languages L and M, is L = M?](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-2.jpg)
![Product DFA – Continued • Start state = [q 0, r 0] (the start Product DFA – Continued • Start state = [q 0, r 0] (the start](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-3.jpg)
![Example: Product DFA 0 0 A 1 B [A, C] 0, 1 1 1 Example: Product DFA 0 0 A 1 B [A, C] 0, 1 1 1](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-4.jpg)
![Equivalence Algorithm • Make the final states of the product DFA be those states Equivalence Algorithm • Make the final states of the product DFA be those states](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-5.jpg)
![Example: Equivalence 0 0 A 1 B [A, C] 0, 1 1 1 0 Example: Equivalence 0 0 A 1 B [A, C] 0, 1 1 1 0](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-6.jpg)
![Equivalence Algorithm – (2) • The product DFA’s language is empty iff L = Equivalence Algorithm – (2) • The product DFA’s language is empty iff L =](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-7.jpg)
![Decision Property: Containment • Given regular languages L and M, is L M? • Decision Property: Containment • Given regular languages L and M, is L M? •](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-8.jpg)
![Example: Containment 0 0 A 1 B [A, C] 0, 1 1 1 0 Example: Containment 0 0 A 1 B [A, C] 0, 1 1 1 0](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-9.jpg)
![The Minimum-State DFA for a Regular Language • In principle, since we can test The Minimum-State DFA for a Regular Language • In principle, since we can test](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-10.jpg)
![Efficient State Minimization • Construct a table with all pairs of states. • If Efficient State Minimization • Construct a table with all pairs of states. • If](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-11.jpg)
![State Minimization – (2) • Basis: Mark a pair if exactly one is a State Minimization – (2) • Basis: Mark a pair if exactly one is a](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-12.jpg)
![Transitivity of “Indistinguishable” • If state p is indistinguishable from q, and q is Transitivity of “Indistinguishable” • If state p is indistinguishable from q, and q is](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-13.jpg)
![Constructing the Minimum. State DFA • Suppose q 1, …, qk are indistinguishable states. Constructing the Minimum. State DFA • Suppose q 1, …, qk are indistinguishable states.](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-14.jpg)
![Example: State Minimization {1} {2, 4} {5} {2, 4, 6, 8} {1, 3, 5, Example: State Minimization {1} {2, 4} {5} {2, 4, 6, 8} {1, 3, 5,](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-15.jpg)
![Example – Continued r AB BD CD DD ED *F D *G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-16.jpg)
![Example – Continued r AB BD CD DD ED *F D *G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-17.jpg)
![Example – Continued r AB BD CD DD ED *F D *G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-18.jpg)
![Example – Continued r AB BD CD DD ED *F D *G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-19.jpg)
![Example – Continued r AB BD CD DD ED *F D *G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-20.jpg)
![Example – Concluded r AB BD CD DD ED *F D *G D b Example – Concluded r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-21.jpg)
![Eliminating Unreachable States • Unfortunately, combining indistinguishable states could leave us with unreachable states Eliminating Unreachable States • Unfortunately, combining indistinguishable states could leave us with unreachable states](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-22.jpg)
- Slides: 22
![Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization 1 Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization 1](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-1.jpg)
Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization 1
![Decision Property Equivalence Given regular languages L and M is L M Decision Property: Equivalence • Given regular languages L and M, is L = M?](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-2.jpg)
Decision Property: Equivalence • Given regular languages L and M, is L = M? • Algorithm involves constructing the product DFA from DFA’s for L and M. • Let these DFA’s have sets of states Q and R, respectively. • Product DFA has set of states Q R. • I. e. , pairs [q, r] with q in Q, r in R. 2
![Product DFA Continued Start state q 0 r 0 the start Product DFA – Continued • Start state = [q 0, r 0] (the start](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-3.jpg)
Product DFA – Continued • Start state = [q 0, r 0] (the start states of the DFA’s for L, M). • Transitions: δ([q, r], a) = [δL(q, a), δM(r, a)] • δL, δM are the transition functions for the DFA’s of L, M. • That is, we simulate the two DFA’s in the two state components of the product DFA. 3
![Example Product DFA 0 0 A 1 B A C 0 1 1 1 Example: Product DFA 0 0 A 1 B [A, C] 0, 1 1 1](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-4.jpg)
Example: Product DFA 0 0 A 1 B [A, C] 0, 1 1 1 0 [A, D] 1 0 1 C 0 0 1 [B, C] 0 [B, D] D 1 4
![Equivalence Algorithm Make the final states of the product DFA be those states Equivalence Algorithm • Make the final states of the product DFA be those states](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-5.jpg)
Equivalence Algorithm • Make the final states of the product DFA be those states [q, r] such that exactly one of q and r is a final state of its own DFA. • Thus, the product accepts w iff w is in exactly one of L and M. 5
![Example Equivalence 0 0 A 1 B A C 0 1 1 1 0 Example: Equivalence 0 0 A 1 B [A, C] 0, 1 1 1 0](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-6.jpg)
Example: Equivalence 0 0 A 1 B [A, C] 0, 1 1 1 0 [A, D] 1 0 1 C 0 0 1 [B, C] 0 [B, D] D 1 6
![Equivalence Algorithm 2 The product DFAs language is empty iff L Equivalence Algorithm – (2) • The product DFA’s language is empty iff L =](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-7.jpg)
Equivalence Algorithm – (2) • The product DFA’s language is empty iff L = M. • But we already have an algorithm to test whether the language of a DFA is empty. 7
![Decision Property Containment Given regular languages L and M is L M Decision Property: Containment • Given regular languages L and M, is L M? •](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-8.jpg)
Decision Property: Containment • Given regular languages L and M, is L M? • Algorithm also uses the product automaton. • How do you define the final states [q, r] of the product so its language is empty iff L M? Answer: q is final; r is not. 8
![Example Containment 0 0 A 1 B A C 0 1 1 1 0 Example: Containment 0 0 A 1 B [A, C] 0, 1 1 1 0](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-9.jpg)
Example: Containment 0 0 A 1 B [A, C] 0, 1 1 1 0 [A, D] 1 0 0 1 C 0 1 [B, C] [B, D] D Note: the only final state is unreachable, so containment holds. 9
![The MinimumState DFA for a Regular Language In principle since we can test The Minimum-State DFA for a Regular Language • In principle, since we can test](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-10.jpg)
The Minimum-State DFA for a Regular Language • In principle, since we can test for equivalence of DFA’s we can, given a DFA A find the DFA with the fewest states accepting L(A). • Test all smaller DFA’s for equivalence with A. • But that’s a terrible algorithm. 10
![Efficient State Minimization Construct a table with all pairs of states If Efficient State Minimization • Construct a table with all pairs of states. • If](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-11.jpg)
Efficient State Minimization • Construct a table with all pairs of states. • If you find a string that distinguishes two states (takes exactly one to an accepting state), mark that pair. • Algorithm is a recursion on the length of the shortest distinguishing string. 11
![State Minimization 2 Basis Mark a pair if exactly one is a State Minimization – (2) • Basis: Mark a pair if exactly one is a](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-12.jpg)
State Minimization – (2) • Basis: Mark a pair if exactly one is a final state. • Induction: mark [q, r] if there is some input symbol a such that [δ(q, a), δ(r, a)] is marked. • After no more marks are possible, the unmarked pairs are equivalent and can be merged into one state. 12
![Transitivity of Indistinguishable If state p is indistinguishable from q and q is Transitivity of “Indistinguishable” • If state p is indistinguishable from q, and q is](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-13.jpg)
Transitivity of “Indistinguishable” • If state p is indistinguishable from q, and q is indistinguishable from r, then p is indistinguishable from r. • Proof: The outcome (accept or don’t) of p and q on input w is the same, and the outcome of q and r on w is the same, then likewise the outcome of p and r. 13
![Constructing the Minimum State DFA Suppose q 1 qk are indistinguishable states Constructing the Minimum. State DFA • Suppose q 1, …, qk are indistinguishable states.](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-14.jpg)
Constructing the Minimum. State DFA • Suppose q 1, …, qk are indistinguishable states. • Replace them by one state q. • Then δ(q 1, a), …, δ(qk, a) are all indistinguishable states. • Key point: otherwise, we should have marked at least one more pair. • Let δ(q, a) = the representative state for that group. 14
![Example State Minimization 1 2 4 5 2 4 6 8 1 3 5 Example: State Minimization {1} {2, 4} {5} {2, 4, 6, 8} {1, 3, 5,](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-15.jpg)
Example: State Minimization {1} {2, 4} {5} {2, 4, 6, 8} {1, 3, 5, 7} * {1, 3, 7, 9} * {1, 3, 5, 7, 9} r {2, 4} {2, 4, 6, 8} {2, 4, 6, 8} b {5} {1, 3, 5, 7} {1, 3, 7, 9} {1, 3, 5, 7, 9} {5} {1, 3, 5, 7, 9} r AB BD CD DD ED *F D *G D b C E F G G C G Here it is with more convenient state names Remember this DFA? It was constructed for the chessboard NFA by the subset construction. 15
![Example Continued r AB BD CD DD ED F D G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-16.jpg)
Example – Continued r AB BD CD DD ED *F D *G D b C E F G G C G A B C D E F G x x x F E D C B x x x Start with marks for the pairs with one of the final states F or G. 16
![Example Continued r AB BD CD DD ED F D G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-17.jpg)
Example – Continued r AB BD CD DD ED *F D *G D b C E F G G C G A B C D E F G x x x F E D C B x x x Input r gives no help, because the pair [B, D] is not marked. 17
![Example Continued r AB BD CD DD ED F D G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-18.jpg)
Example – Continued r AB BD CD DD ED *F D *G D b C E F G G C G A B C D E F G x x x F E D C B x x x But input b distinguishes {A, B, F} from {C, D, E, G}. For example, [A, C] gets marked because [C, F] is marked. 18
![Example Continued r AB BD CD DD ED F D G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-19.jpg)
Example – Continued r AB BD CD DD ED *F D *G D b C E F G G C G A B C D E F G x x x F x x x E D C B x x x x [C, D] and [C, E] are marked because of transitions on b to marked pair [F, G]. 19
![Example Continued r AB BD CD DD ED F D G D b Example – Continued r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-20.jpg)
Example – Continued r AB BD CD DD ED *F D *G D b C E F G G C G A B C D E F [A, B] is marked because of transitions on r to marked pair [B, D]. G x x x F x x x E D C B x x x x x [D, E] can never be marked, because on both inputs they go to the same state. 20
![Example Concluded r AB BD CD DD ED F D G D b Example – Concluded r AB BD CD DD ED *F D *G D b](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-21.jpg)
Example – Concluded r AB BD CD DD ED *F D *G D b C E F G G C G r AB BH CH HH b C H F G *F H C *G H G A B C D E F G x x x F x x x E D C B x x x x x Replace D and E by H. Result is the minimum-state DFA. 21
![Eliminating Unreachable States Unfortunately combining indistinguishable states could leave us with unreachable states Eliminating Unreachable States • Unfortunately, combining indistinguishable states could leave us with unreachable states](https://slidetodoc.com/presentation_image/02a31e197d5511bf5ec1b89f46e3b477/image-22.jpg)
Eliminating Unreachable States • Unfortunately, combining indistinguishable states could leave us with unreachable states in the “minimum-state” DFA. • Thus, before or after, remove states that are not reachable from the start state. 22
Dfa minimization code in c++
Nfa to dfa with epsilon
Dfa for (a/b)*abb
Dfa minimization examples
Dominos recall
Every linear grammar generates a regular language
Nfa dfa equivalence
Equivalence of dfa and ndfa
Dfa to regular expression converter
Pople notation examples
Examples of formal equivalence
What language does the given dfa accepts
Jakobson equivalence
Mapa de karnaugh 4 variables
Implication chart method
Simplex minimization problem
Expected risk minimization
Cost minimization formula
Simplex lp
Finite state machine minimization
Digital electronics question
Cost minimization formula
Cost minimization