Download presentation

Presentation is loading. Please wait.

1
1 Regular Languages Finite Automata eg. Supermarket automatic door: exit or entrance

2
2 Finite Automata NEITHERFRONTREARBOTH CLOSED OPENCLOSED OPENCLOSEDOPEN Door state Input signal State transition table State diagram

3
3 Definition A finite automaton is a 5-tuple (Q, , , q 0, F) Q : a finite set called the states : a finite set called the alphabet : Qx Q is the transition function q 0 Q is the start state F Q is the set of accept states final states

4
4 M 1 = (Q, , , q 0, F) Q = {q 1, q 2, q 3 } = {0, 1} : 01 q 1 q 1 q 2 q 2 q 3 q 2 q 3 q 2 q 2 q 1 : the start state F = {q 2 } L(M) = A M recognizes A or M accepts A the set of all strings that M accepts L(M 1 ) = ?

5
5 q 2 q 3 q 2 q 3 q 2 q 3 100000 101011 M 2 =({q 1,q 2 }, {0,1}, , q 1, {q 2 }) Eg: :01q1q1q2q2q1q2:01q1q1q2q2q1q2 L(M 2 ) =? M2:M2: L(M 2 ) = {w | w ends in a 1}

6
6 M3:M3: L(M 3 )=? L(M 3 )={ or ends in 0}

7
7 M4:M4: Starts and ends with the same symbol

8
8 What is the language accepted by the above automata? 1 0 2 2 0 1 2 M5:M5: ={, 0, 1, 2}

9
9 L(M 5 ) = {w | the sum of the symbols in w is 0 modulo 3 except the resets to 0} M5:M5: ={, 0, 1, 2}

10
10 Formal definition of computation M = (Q, , , q 0, F) w : a string over , w i , w = w 1 w 2 … w n M accepts w if a sequence of states r 0, r 1, …, r n exists in Q and satisfies the following 3 conditions: r 0 = q 0 ( r i, w i+1 ) = r i+1, for i = 0, …, n-1 r n F

11
11 We say that M recognizes language A if A = { w | M accepts w } Def: A language is called a regular language if some finite automata recognizes it.

12
12 Designing finite automata Let A = { w | w is 0-1 string and w has odd number of 1} Is A a regular language ? What is the automata accepting A ?

13
13 Designing finite automata eg: Design a finite automaton to recognize all strings that contains 001 as a substring

14
14 Regular operations A, B : languages Regular operations : union, concatenation, star Union : A B = { x | x A or x B} Concatenation : A 。 B = { x y | x A and y B} Star : A* = { x 1 x 2 … x k | k 0 and each x i A }

15
15 Regular operations eg: = { a, b, c, …, z} (26 letters) A = { good, bad} B = { boy, girl} A B = { good, bad, boy, girl} A 。 B= {goodboy, goodgirl, badboy,badgirl} A* = { , good, bad, goodbad, badgood, goodgood, badbad, goodgoodgood, goodgoodbad, ……… }

16
16 eg. A 1 ={ w | w has odd number of 1} Q 1 = {q even, q odd } = {0,1} 1 :01 q even q even q odd q odd q odd q even q even : start state q odd : accept state

17
17 eg. A 2 ={ w | w has a 1} Q 2 = {q 1, q 2 } = {0,1} 2 :01 q 1 q 1 q 2 q 2 q 2 q 2 q 1 : start state q 2 : accept state

18
18 A 1 A 2 ={ w | w has odd number of 1 or w has a 1} Q= {(q even,q 1 ), (q even,q 2 ), (q odd,q 1 ), (q odd,q 2 )} = {0, 1} : 01 (q even, q 1 )(q even, q 1 )(q odd, q 2 ) (q even, q 2 )(q even, q 2 )(q odd, q 2 ) (q odd, q 1 )(q odd, q 1 )(q even, q 2 ) (q odd, q 2 )(q odd, q 2 )(q even, q 2 ) (q even, q 1 ): start state (q odd, q 1 )(q odd, q 2 )(q even, q 2 ): accept state

19
19 Theorem: The class of regular languages is closed under the union operation (in other words, if A 1 and A 2 are regular languages, so is A 1 A 2 )

20
20 Pf : Let M 1 recognize A 1, where M 1 = (Q 1, , 1, q 1, F 1 ) M 2 recognize A 2, where M 2 = (Q 2, , 2, q 2, F 2 ) Goal: Construct M=(Q, , , q 0, F) to recognize A 1 A 2 Q={(r 1,r 2 )|r 1 Q 1 and r 2 Q 2 } is the same in M 1, M 2 For each (r 1, r 2 ) Q and each a , let ((r 1,r 2 ), a)=( 1 (r 1,a), 2 (r 2,a)) q 0 =(q 1, q 2 ), (q 0 is a new state Q 1 Q 2 ) F={(r 1, r 2 )|r 1 F 1 or r 2 F 2 }

21
21 Theorem: The class of regular languages is close under the concatenation (in other words, if A 1 and A 2 are regular languages, so is A 1 。 A 2 )

22
22 Nondeterminism: eg. Deterministic Computation Non Deterministic Computation

23
23 Input : 0 1 0 1 1 0

24
24 eg: A : the language consisting of all strings over {0, 1} containing a 1 in the 3rd position from the end

25
25 0 1 1 0 0 1

26
26 eg: What does the following automaton accept? 1.2.

27
27 Formal definition of a nondeterministic finite automaton = { }, P (Q) : the collection of all subset of Q A nondeterministic finite automaton is a 5-tuple ( Q, , , q 0, F), where Q : a finite set of states : a finite set of alphabet : Qx P (Q) transition function q 0 Q : start state F Q : the set of accept states

28
28 eg. Q = {q 1, q 2, q 3, q 4 } = {0, 1} : 01 q 1 {q 1 } {q 1, q 2 } q 2 {q 3 } {q 3 } q 3 {q 4 } q 4 {q 4 } {q 4 } q 1 : start state q 4 : accept state

29
29 N=(Q, , , q 0, F )~NFA w : string over , w= y 1 y 2 y 3 … y m, y i r 0,r 1,r 2,…,r m Q N accepts w if exists r 0,r 1,r 2,…,r m such that r 0 =q 0 r i+1 (r i, y i+1 ), for i =0, … m-1 r m F

30
30 Equivalence of NFA and DFA Theorem : Every nondeterministic finite automaton has an equivalent deterministic finite automaton Pf: Let N=(Q, , , q 0, F) be the NFA recognizing A. Goal: Construct a DFA recognizing A 1. First we don ’ t consider . Construct M= ( Q’, , ’, q 0 ’, F’) 1. Q’= P (Q) 2. For R Q’ and a let 3. q 0 ’= {q 0 } 4. F’ = {R Q’ | R contains an accept state of N}

31
31 Equivalence of NFA and DFA 2. Consider : For any R M, define E(R)={q | q can be reached from R by traveling along 0 or more } Replace (r,a) by E( (r,a)) Thus, ’(R, a)={q Q : q E( (r,a)) for some r R} Change q 0 ’ to be E({q 0 })

32
32 Corollary: A language is regular if and only if some NFA recognizes it eq. D ’ s state : { , {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} N 4 = ({1,2,3}, {a,b}, , 1, {1})

33
33 Construct a DFA D equivalent to N 4

34
34 eg. Convert the following NFA to an equivalent DFA E({q 0 }) = {q 0 } E( ({q 0 },a)) = {q 1,q 2 } E( ({q 0 },b)) = E( ({q 1,q 2 },a) = {q 1,q 2 } E( ({q 1,q 2 },b) = {q 0 }

35
35 Closure under the regular operations Theorem : The class of regular language is closed under the union operation Pf: A 1 : N 1 : A 2 : N 2 : N 1 =(Q 1, , 1, q 1, F 1 ) for A 1 N 2 =(Q 2, , 2, q 2, F 2 ) for A 2 A1 A2

36
36 Construct N=(Q, , , q 0, F) to recognize A1 A2 Q : {q 0 } Q 1 Q 2 q 0 : start state F : F 1 F 2 For q Q and a (q, a)= 1 (q, a),q Q 1 2 (q, a),q Q 2 {q 1, q 2 },q=q 0 and a= ,q=q 0 and a

37
37 Theorem : The class of regular language is closed under the concatenation operation Pf: N 1 : N 2 : N 1 =(Q 1, , 1, q 1, F 1 ) recognize A 1 N 2 =(Q 2, , 2, q 2, F 2 ) recognize A 2 A1 。 A2

38
38 Construct N=(Q, , , q 1, F 2 ) to recognize A1 。 A2 Q : Q 1 Q 2 q 1 : start state F 2 : accept state (q, a) = 1 (q, a), q Q 1 and q F 1 1 (q, a), q F 1 and a 1 (q, a) {q 2 },q F 1 and a= 2 (q, a),q Q 2 q Q, a

39
39 Theorem : The class of regular language is closed under the star operation Pf: A: A*: N 1 =(Q 1, , 1, q 1, F 1 ) recognize A A = {a, b} A* = { , a, b, … } , A A 。 A = {aa, ab, ba, bb} A 。 A 。 A …

40
40 Construct N=(Q, , , q 0, F) to recognize A* Q : { q 0 } Q q 0 : start state F : { q 0 } F (q, a) = 1 (q, a), q Q 1 and q F 1 1 (q, a), q F 1 and a 1 (q, a) {q 1 },q F 1 and a= {q 1 },q=q 0 and a= q=q 0 and a

41
41 Regular Expressions AWK, GREP in UNIX PERL, text editors. eg. (0 1)0* = ({0} {1}) 。 {0}* eg. (0 1)* = {0, 1}*

42
42 Formal definition of a regular expression Definition: R is a regular expression if R is a (R 1 R 2 ), R 1 and R 2 are regular (R 1 。 R 2 ), R 1 and R 2 are regular (R 1 * ), R 1 is regular expression Inductive definition

43
43 eg. = {0, 1} 0*10* = { w : w has exactly a single 1} *1 * *001 * ( )* 01 10 0 *0 1 *1 0 1 (0 )1*=01* 1* (0 )(1 ) = { , 0, 1, 01} 1* = * = { }

44
44 eg. R : regular expression R = R R 。 = R R ?=R R 。 ?= R R = {0} R 。 =

45
45 Equivalence with finite automata Theorem: A language is regular if and only if some regular expression describes it Lemma: ( ) If a language is described by a regular expression then it is regular

46
46 Pf: Let R be a regular expression describing some language A Goal: Convert R into an NFA N. R=a , L(R)={a} R= , L(R)={ } R= , L(R)= R = R 1 R 2 R = R 1 。 R 2 R = R 1 *

47
47 eg. (ab a)* a b ab ab a (ab a)*

48
48 eg. (a b)*aba a b a b (a b)* aba

49
49 (a b)*aba

50
50 Generalized nondeterministic finite automaton (GNFA) ( Q, , , q start, q accept ) : (Q - {q accept }) x (Q - {q start }) R Set of all regular expressions over (q i, q j ) = R

51
51 Lemma: ( ) If a language is regular, then it is described by a regular expression Pf: a language A is regular There is a DFA M accepting A Goal: Convert DFAs into equivalent regular expressions

52
52 A GNFA accepts a string w in * if w = w 1 w 2 …w k, where each w i is in * and a sequence of states q 0 q 1 q 2 …q k exists s.t. q 0 = q start is the start state q k = q accept is the accept state for each i, we have w i L(R i ), where R i = (q i-1, q i ) DFA M -------------------- GNFA G Convert (G) : takes a GNFA and return an equivalent regular expression start state addingaccept state transition arrows

53
53 Convert(G) Let k be the number of states of G If k=2, return R If k>2, select any q rip Q ( q start,q accept ), Let G ’ = GNFA(Q’, , ’, q start, q accept ), where Q’=Q-{q rip }, and for any q i Q’-{q accept } and any q j Q’-{q start }, let ’(q i, q j ) = (R 1 )(R 2 )*(R 3 ) (R 4 ) Compute CONVERT(G’) and return this value

54
54 Claim: For any GNFA G, CONVERT(G) is equivalent to G. Pf: By induction on k, the number of states of the GNFA Basis: It is clear for k=2

55
55 Induction step Assume that the claim is true for k-1 states Suppose G accepts an input w, Then in an accepting branch of the computation G enters a sequence of states: q start, q 1, q 2, …, q accept If none of them is q rip, G’ accepts w. If q rip does appear in the above states, removing each run of consecutive q rip states forms an accepting computation for G’ Suppose G’ accepts an input w G’: G: or ⇒ G accepts w G ≅ G’, by induction hypothesis, the claim is true

56
56 example eg:

57
57 example

58
58 Pumping lemma for regular languages Is {0 n 1 n : n ≥ 0} regular? How can we prove a language non-regular? Theorem: (Pumping Lemma) If A is a regular language, then there is a number P (the pumping length) where, if s is any string in A of length ≥ P, then s may be divided into 3 pieces, s = x yz, satisfying the following conditions: for each i ≥ 0, x y i z ∈ A | y | > 0 | x y | ≤ P

59
59 proof M=(Q, Σ, δ,q 1, F): a DFA recognizing A P =|Q|: number of state of M s = s 1 s 2 … s n ∈ A, n ≥ P r 1, r 2, …, r n+1 : the seq. of states M enters while processing r i+1 = δ (r i, s i ) for 1 ≤ i ≤ n. By pigeonhole principle, there must be 2 identical states, say r j =r l, x = s 1 … s j-1, y = s j …s l-1, z = s l …s n x takes M from r 1 to r j, y takes M from r j to r j, and z takes M from r j to r n+1 M must accept x y i z for i ≥ 0 ∵ j ≠ l, | y |=| s j …s l-1 |>0, l ≤ P +1, so | x y | ≤ P

60
60 B={0 n 1 n : n≥0} is not regular proof: Suppose B is regular Let P be the pumping length Choose s = 0 P 1 P = 0 … 01 … 1 ∈ B Let s = x yz, By pumping lemma, for any i ≥0 x y i z ∈ B. But 0…001…1 : y has 0 only ⇒ →← 0…01…1 : y has 1 only ⇒ →← 0…01…1 : y has both 0 and 1 ⇒ x yyz ∉ B

61
61 C={ w | w has an equal number of 0s and 1s} is not regular proof: (By pumping lemma) Let P be the pumping length, Suppose C is regualr Let s = 0 P 1 P ∈ C, By pumping lemma, s can be split into 3 pieces, s = x yz, and x y i z ∈ C for any i ≥0 By condition 3 in the lemma: | x y | ≤ P Thus y must have only 0s. Then x yyz ∉ C

62
62 proof: (Not by pumping lemma) Suppose C is regular It is clear that 0*1* is regualr Then C ∩ 0*1*={0 n 1 n : n≥0} is regular →←

63
63 F={ ww | w ∈ {0,1}* } is nonregular proof: Suppose F is regular Let P be the pumping length given by the pumping lemma Let s = 0 P 10 P 1 ∈ F Split s into 3 pieces, s = x yz By condition 3 in the lemma: | x y | ≤ P Thus y must have 0 only. ⇒ x yyz ∉ F 0…010…01 →← w y

64
64 E={0 i 1 j : i > j } is nonregular proof: Assume E is regular Let P be the pumping length Let s = 0 P+1 1 P ∈ E Split s into 3 pieces, s = x yz By pumping lemma: x y i z ∈ E for any i ≥ 0 | y |>0, y have 0 only. x z ∈ E. But x z has #(0) ≤ #(1)

65
65 D={1 n 2 : n ≥ 0 } is not regular proof: Assume D is regular Let P be the pumping length Let s = 1 P 2 ∈ D Split s into 3 pieces, s = x yz ⇒ x y i z ∈ D, i ≥ 0 Consider x y i z ∈ D and x y i+1 z ∈ D ⇒ | x y i z | and | x y i+1 z | are perfect squre for any i ≥ 0 If m=n 2, (n+1) 2 - n 2 =2n+1 = 2 +1

66
66 Let m=| x y i z | | y | ≤ | s |= P 2 Let i = P 4 | y |= | x y i+1 z |-| x y i z | ≤ P 2 = ( P 4 ) 1/2 < 2( P 4 ) 1/2 +1 ≤ 2(| x y i z |) 1/2 +1 = 2 +1 → ←

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google