Regular Expression We shall build expressions from the
Regular Expression • We shall build expressions from the symbols using simple operations include concatenation, union and kleen closure. • Several intuitive examples of our notation are: a) 01 means a zero followed by a one (concatenation) b) 0+1 means either a zero or a one (union) c) 0* means ^ + 000 +. . . (Kleene closure)
Regular Expression • Useful for representing certain sets of strings in an algebraic fashion. (reunion of broken parts) • Describes the languages accepted by finite state automaton. • Formal Recursive Definition of Regular Expression over ∑ as follows: -
• Some Rules for Regular Expression: - • Example: -
• Solution: -
Example: - • Example: -
• Identities of Regular Expression: -
• We can write regular expression for a DFA using Arden theorem • • • Solution: - Assume that R = QP* satisfied 5. 1 Then Q + (QP*)P put the value of R in 5. 1 Q(Ʌ + P*P) Now apply I 9 QP* hence 5. 1 is satisfied when R = QP*. This means R = QP* is a solution of 5. 1
• Example: -
• Finite Automata and Regular Expression: Transition System Containing Ʌ - Moves: • Transition Systems can be generalized by Ʌ - moves. • occur when no input is applied. • It is possible to convert a transition system with Ʌ moves into an equivalent transition system without Ʌ - moves. Suppose we want to replace a Ʌ- move from vertex v 1 to v 2. Then we proceed as follows:
Null Moves Removal
• Let R be a regular expression having n+1 characters. Then : Also P and Q are regular expression having n characters or less. By : L(P) and L(Q) are recognized by M 1 and M 2 where M 1 and M 2 are NDFs with Ʌ - moves such that L(P) = T(M 1) and L(Q) = T(M 2).
• M 1 and M 2 are represented by figure: -
Construction of Finite Automata Equivalent to Regular Expression: -
• Example: - • Solution: -
• Example: -
• Equivalence of Two Finite Automata: Two finite automata over ∑ are equivalent if they accept the same set of strings over ∑. Two finite automata are not equivalent if one automaton reaches at final state and other doesn’t.
• Example: -
• Equivalence of Two Regular Expression: Two regular expression is equal if they represents same set. Two regular expression is equal if their corresponding finite automata is equal. Example: Solution: -
• Pumping Lemma for Regular Sets: This lemma gives a necessary condition for an input string to belong to a regular set. The result is called pumping lemma as it gives a method of pumping (generating) many input strings from a given string. As pumping lemma gives a necessary condition, it can be used to show that certain sets are not regular. Theorem 5. 5 (Pumping Lemma) Let M be a finite automaton with n states. Let L be the regular set accepted by M. Let w. E L and w>= m. If m >=n, then there exists x, y, z such that w =xyz, y != null and xyiz. E L for each i >=O.
Application of Pumping Lemma • This theorem can be used to prove that certain sets are not regular. The steps needed for proving that a given set is not regular are • Step 1 Assume that L is regular. Let n be the number of states in the corresponding finite automaton. • Step 2 Choose a string w such that w >= n. Use pumping lemma to write w=xyz , xy<=n and Iy I > 0. • Step 3 Find a suitable integer i such that xyiz does not belongs to L. This contradicts our assumption, Hence L is not regular.
• Show that L = {0 i 1 i such that i>= I} is not regular. Solution • Step 1 Suppose L is regular. Let n be the number of states in the finite automaton accepting L. • Step 2 Let w =0 n 1 n. Then w=2 n > n. By pumping lemma, we write • w = xyz with IX}'I ~ n and I y I : : t O. • Step 3 We want to find i so that x. '/z EO L for getting a contradiction. The • string ' can be in any of the following fonns: • Case 1 y has a's. i. e. y =Ok for some k e: l. • Case 2 , 'has only l' s. i. e. y = 11 for some I 2: 1. • Case 3 y has both O·sand l' s, i. e. y = Oklj for some k, j e: L
- Slides: 42