Regular Language Equivalence and DFA Minimization

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

CSE 311 Foundations of Computing I
Reducing DFA’s Section 2.4. Reduction of DFA For any language, there are many DFA’s that accept the language Why would we want to find the smallest? Algorithm:
Lecture 24 MAS 714 Hartmut Klauck
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Regular Expressions. 2 Regular expressions describe regular languages Example: describes the language.
1 Single Final State for NFAs and DFAs. 2 Observation Any Finite Automaton (NFA or DFA) can be converted to an equivalent NFA with a single final state.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Definitions Equivalence to Finite Automata
CS Chapter 2. LanguageMachineGrammar RegularFinite AutomatonRegular Expression, Regular Grammar Context-FreePushdown AutomatonContext-Free Grammar.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
1 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY For next time: Read 2.1 & 2.2.
Decision Properties of Regular Languages
1 A Single Final State for Finite Accepters. 2 Observation Any Finite Accepter (NFA or DFA) can be converted to an equivalent NFA with a single final.
Transparency No. 8-1 Formal Language and Automata Theory Chapter 8 DFA state minimization (lecture 13, 14)
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong DFA minimization.
Fall 2004COMP 3351 Regular Expressions. Fall 2004COMP 3352 Regular Expressions Regular expressions describe regular languages Example: describes the language.
Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language,
NFA ε - NFA - DFA equivalence. What is an NFA An NFA is an automaton that its states might have none, one or more outgoing arrows under a specific symbol.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
Introduction to CS Theory
Overview of Previous Lesson(s) Over View  An NFA accepts a string if the symbols of the string specify a path from the start to an accepting state.
Decidable Questions About Regular languages 1)Membership problem: “Given a specification of known type and a string w, is w in the language specified?”
DFA Minimization 1 2 Equivalent States Consider the accept states c and g. They are both sinks meaning that any string which ever reaches them is guaranteed.
Transition Diagrams Lecture 3 Wed, Jan 21, Building Transition Diagrams from Regular Expressions A regular expression consists of symbols a, b,
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
Closure Properties Lemma: Let A 1 and A 2 be two CF languages, then the union A 1  A 2 is context free as well. Proof: Assume that the two grammars are.
1 Decision Properties of Regular Languages General Discussion of “Properties” The Pumping Lemma Minimizing DFA.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong DFA minimization.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
What do we know? DFA = NFA =  -NFA We have seen algorithms to transform DFA to NFA (trival) NFA to  NFA (trivial) NFA to DFA (subset construction)
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
Nondeterminism Subset Construction ε -Transitions.
General Discussion of “Properties” The Pumping Lemma Membership, Emptiness, Etc.
Normal Forms for CFG’s Eliminating Useless Variables Removing Epsilon
Properties of Context-Free Languages
The time complexity for e-closure(T).
Two issues in lexical analysis
Review: NFA Definition NFA is non-deterministic in what sense?
Single Final State for NFA
Jaya Krishna, M.Tech, Assistant Professor
Hierarchy of languages
Decision Properties of Regular Languages
Non-deterministic Finite Automata (NFA)
CS 154, Lecture 4: Limitations on DFAs (I),
More on DFA minimization and DFA equivalence
COSC 3340: Introduction to Theory of Computation
4. Properties of Regular Languages
Non-Deterministic Finite Automata
RegExp = (DFA,NFA,NFAe) Sipser pages
Nondeterministic Finite Automata
Minimal DFA Among the many DFAs accepting the same regular language L, there is exactly one (up to renaming of states) which has the smallest possible.
Non Deterministic Automata
Transition Diagrams Lecture 3 Fri, Jan 21, 2005.
CSE 311: Foundations of Computing
DFA Minimization: The Idea
Introduction to Finite Automata
Finite Automata Reading: Chapter 2.
Finite Automata.
Closure Properties of Regular Languages
Chapter 1 Regular Language - 02
Instructor: Aaron Roth
Are DFAs and NFAs Equivalent
CSE 311 Foundations of Computing I
NFA’s With ε-Transitions
Presentation transcript:

Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization

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.

Product DFA – Continued Start state = [q0, r0] (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.

Example: Product DFA 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1

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.

Example: Equivalence 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1

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.

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.

Example: Containment 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D 1 [A,C] [A,D] A B 1 0, 1 1 1 1 [B,C] [B,D] 1 C D Note: the only final state is unreachable, so containment holds. 1

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.

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.

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.

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.

Constructing the Minimum-State DFA Suppose q1,…,qk are indistinguishable states. Replace them by one state q. Then δ(q1, 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.

Example: State Minimization r b {1} * {1,3,5,7,9} {2,4,6,8} {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {5} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5} r b A B C B D E C D F D D G E D G F D C G D G * Here it is with more convenient state names Remember this DFA? It was constructed for the chessboard NFA by the subset construction.

Example – Continued r b A B C B D E C D F D D G E D G F D C G D G * G F E D C B A B C D E F x x Start with marks for the pairs with one of the final states F or G.

Example – Continued r b A B C B D E C D F D D G E D G F D C G D G * G F E D C B A B C D E F x x Input r gives no help, because the pair [B, D] is not marked.

Example – Continued r b A B C B D E C D F D D G E D G F D C G D G * G F E D C B A B C D E F x x x x x x 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.

Example – Continued r b A B C B D E C D F D D G E D G F D C G D G * G F E D C B A B C D E F x x x x x x x x x x x [C, D] and [C, E] are marked because of transitions on b to marked pair [F, G].

Example – Continued r b A B C B D E C D F D D G E D G F D C G D G * G F E D C B A B C D E F x x x x x x x x x x x x [A, B] is marked because of transitions on r to marked pair [B, D]. [D, E] can never be marked, because on both inputs they go to the same state.

Example – Concluded r b A B C B D E C D F D D G E D G F D C G D G * B H H C H F H H G F H C G H G * G F E D C B A B C D E F x x x x x x x x x x x x Replace D and E by H. Result is the minimum-state DFA.

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.