100 likes | 217 Views
Lecture 21. Regular languages review Several ways to define regular languages Two main types of proofs/algorithms Relative power of two computational models proofs/constructions Closure property proofs/constructions Language class hierarchy Applications of regular languages.
E N D
Lecture 21 • Regular languages review • Several ways to define regular languages • Two main types of proofs/algorithms • Relative power of two computational models proofs/constructions • Closure property proofs/constructions • Language class hierarchy • Applications of regular languages
Three definitions • LFSA • A language L is in LFSA iff there exists an FSA M s.t. L(M) = L • LNFA • A language L is in LNFA iff there exists an NFA M s.t. L(M) = L • Regular languages • A language L is regular iff there exists a regular expression R s.t. L(R) = L • Conclusion • All these language classes are equivalent • Any language which can be represented using any one of these models can be represented using either of the other two models
Relative power proofs • These proofs work between two language classes and two computational models • The crux of these proofs are algorithms which behave as follows: • Input: One program from the first computational model • Output: A program from the second computational model that is equivalent in function to the first program
Closure property proofs • These proofs work within a single language class and typically within a single computational model • The crux of these proofs are algorithms which behave as follows: • Input: 1 or 2 programs from a given computational model • Output: A third program from the same computational model that accepts/describes a third language which is a combination of the languages accepted/described by the two input programs
L L1 L1 intersect L2 L LNFA L2 LFSA LFSA M1 M3 M M2 M’ NFA’s FSA’s FSA’s Comparison
REC H ? RE All languages over alphabet S H Language class hierarchy regular
Three remaining topics • Myhill-Nerode Theorem • Provides technique for proving a language is not regular • Also represents fundamental understanding of what a regular language is • Decision problems about regular languages • Most are solvable in contrast to problems about recursive languages • Pumping lemma • Provides technique for proving a language is not regular
Review Problems • We will cover one example of converting a regular expression into an NFA • We will work on a new closure property proof • regular languages are closed under language reversal