Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.