Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transparency No. ?-0 Formal Language and Automata Theory Chapter 6 Homomorphisms (lecture 10) Transparency No. 6-1.

Similar presentations


Presentation on theme: "Transparency No. ?-0 Formal Language and Automata Theory Chapter 6 Homomorphisms (lecture 10) Transparency No. 6-1."— Presentation transcript:

1 Transparency No. ?-0 Formal Language and Automata Theory Chapter 6 Homomorphisms (lecture 10) Transparency No. 6-1

2 Homomorphisms Transparency No. 6-2 Homomorphisms (the definition) Def: A homomorphism is a mapping h:  * ->  * s.t. for all x,y in  * h(xy) = h(x) h(y) (10-1) h(  ) =  (10.2) Note: (10.2) is not needed since h(  ) = h(   ) = h(  ) h(  ) => |h(  )| = |h(  )|+|h(  )| ==> |h(  )| = 0 ==> h(  ) = . Property 1: Any homomorphism h:  * ->  * is uniquely determined by its value on . I.e., if g,h:  * ->  * are morphism s.t. g(a)=h(a) for all a in , then g = h (I.e., g(x) = h(x) for all x in  *). Pf: if x = x 1 x 2 …x n => h(x) = h(x 1 x 2 …x n ) = h(x 1 )h(x 2 )…h(x n ) = g(x 1 )…g(x n ) = g(x 1 x 2 …x n ) = g(x). Conclusion: to specify a homomorphism h:  *->  * completely, it suffices to specify its values on .

3 Homomorphisms Transparency No. 6-3 More about homomorphisms h:  * ->  *: a homomorphim; A: a subset of  *; B: a subset of  * h(A) = def {h(x) |x in A}   * is the image of A under h. h -1 (B) = def {x | h(x) in B}   * is the preimage of B under h. Theorem 10: h:  *->  * a homomorphism;B: a regular language over  ==> h -1 (B) is regular too. Pf : M=(Q, , ,s,F) : a DFA s.t. L(M) = B => let M’ = (Q, ,  ’,s,F) where  ’(q,a) =  (q,h(a)) for all a in . Property of M’:  ’(q,x) =  (q,h(x)) for all q in Q and x in  * ----- (10.3) by simple induction on |x|, left as an exercise. => for all x in  *, x  L(M’) iff  ’(s,x)  F iff  (s,h(x))  F iff x  L(M) = B => h -1 (B) = L(M’) is regular. QED

4 Homomorphisms Transparency No. 6-4 Example: EX: h:{a,b}* -> {0,1}* s.t. h(a) = 01 and h(b) = 10. B= L(M) M : ==> M’ = ?      

5 Homomorphisms Transparency No. 6-5 Theorem 10.2 h :  * ->  *: a homoporphism; A   *: a regular set => h(A) is regular. Let  be any reg. expr. S.t. L(  ) = A. Let  ’ be the reg. expr. obtained from  by replacing every letter a in  appearing in  with the string h(a) in  *. eg: if h(a) =000, h(b) = 11,  = [(a+b)*ab] =>  ’ = (000+11)*00011  ’ can be defined inductively as follows: _____ (exercise) Property: for any reg. expr.  over . L(  ’) = h(L(  )) --- (10.4) Hence L(  ’) = h(L(  )) = h(A) is regular. To prove 10.4, we require: for all C,D   * and any family of subsets C i   *, i  I, h(CD) = h(C) h(D) --- (10.5) h(U i  I C i ) = U i  I h(C i ) --- (10.6) ==> can be proved direct from definition.

6 Homomorphisms Transparency No. 6-6 proof of 10.4: pf: by induction on  : case 1:  = a   : L(a’) = L(h(a)) = {h(a)} = h(L(a))  =  => L(  ’) = L(  ) = {} = h({}) = h(L(  )).  = e (note: since e =  * L(e’) can be covered by other case ) Ind. cases: 1. L((  +  )’) = L(  ’ +  ’) = L(  ’) U L(  ’) = h(L(  )) U h(L(  )) = h(L(  ) U L(r)) = h(L(  +r)) 2. L((   )’) = L(  ’  ’) = L(  ’)L(  ’) = h(L(  )) h(L(  )) = h(L(  )L(  )) = h(L(  )) 3. L((  *)’) = L((  ’)*) = U k  0 (L(  ’)) k = U k  0 (h(L(  ))) k = U k  0 h(L(  ) k ) = h( U k  0 L(  ) k ) = h( L(  )*) = h(L(  *)).

7 Homomorphisms Transparency No. 6-7 Example: EX: h:{0,1}* -> {a,b}* s.t. h(0) = ab and h(1) = ba. A= L(M) M : ==> h(A) is accepted by M’ = ?      

8 Homomorphisms Transparency No. 6-8 Quiz Q1: Is it true that “ h(A) is regular => A is regular “ ? Notes: 1. h(A) = B does not mean h -1 (B) = A. Hence Q1 is not a consequence of Theorem 10.1. 2. counter example: Let A = {a n b n | n  0 } h: {a,b}* -> {a,b}* with h(a)=h(b) = a => h(A) = {a 2n | n  0 } = B is regular, but A can be shown to be not regular. 3. h -1 (B) = ______  A. ans: {x  {a,b}* | |x| = 2n }. Exercise: Given a homomorphism h:  *   * and a FA M, find a FA M’ s.t. L(M’) = h (L(M)).

9 Homomorphisms Transparency No. 6-9 Automata with  -transiiton Def: A NFA with e-transition is a structure M = (Q, ,e, ,S,F) where Q, , ,S,F are the same as in NFAs and e is a special symbol not in  (standing for the empty string  ). for each M, define M e = (Q,  U{e}, ,S,F) to be a usual NFA over the alphabet  U{e}. Define acceptance for automata with e-transitions as follows: for all x in  *, M accepts x if  y in (  U{e})* s.t. M e accepts y under usual definition and x is obtained from y by erasing all e from y. I.e., x = h(y) where h(  U{e})* ->  * with h(a) = a for a in  and h(e) = . In other words, L(M) = def h(L(M e )). Hence if A is accepted by a NFA-e machine M => A = L(M) and B = L(M e )  (  U{e})* is regular with h(B) = A. => A is regular too.

10 Homomorphisms Transparency No. 6-10 Application of homomorphisms : Haming distance x, y: two bit strings, A: a set of bit strings; k  0 : any number. H(x,y) = # of positions at which they differ if |x| = |y|, or infinite if |x|  |y|. H(x,A) = min y  A H(x,y) N k (A) = {x | H(x,A)  k } is the set of strings of Haming distance at most k from A. Example: 1. N 0 ({000}) = {000}, 2. N 1 ({000}) = ? 3. N 2 ({000}) = ? 4. N 2 ({001, 11}) = {0,1} 3 - {110} U {0,1} 2. Ex3Hw2: if A is regular, then so is N k (A) for any k  0.

11 Homomorphisms Transparency No. 6-11 Applications of homomorphisms  = {0,1};  x  = { 00, 01,10,11} = { } define top, btm :    with top( ) = x and btm( ) = y. top and btm can be extended to homomorphism (  x  )* ->  * eg: top( ) = 0001 and btm( ) = 1011 D k = def {x  (  x  )* | x contains no more than k occurrences of (0,1) or (1,0) } is certainly regular (why?) = {x  (  x  )* | H(top(x), btm(x))  k }.     xyxy xyxy        

12 Homomorphisms Transparency No. 6-12 Applications of homomorphisms (cont’d) Now let A be any regular set over  => N k (A) = top (btm -1 (A)  D k ) where btm -1 (A) is the set of (x,y) with y  A, D k is the set of (x,y) with H(x,y)  k btm -1 (A)  D k is the set of (x,y) with y  A and H(x,y)  k top (btm -1 (A)  D k ) is the set of x s.t.  y  A with H(x,y)  k = the set of x with H(x,A)  k = N k (A). Hence N k (A) is regular if A is regular.


Download ppt "Transparency No. ?-0 Formal Language and Automata Theory Chapter 6 Homomorphisms (lecture 10) Transparency No. 6-1."

Similar presentations


Ads by Google