1 / 17

Chapter 5 . Functional Decomposition and Symmetric Functions

Chapter 5 . Functional Decomposition and Symmetric Functions. n var. f. s var. . Z 1. F. Z r. f (x 1 , x 2 , ••• , x n ) = F(G 1 ( •••),G 2 (•••),•••,G k (•••)) A decomposition of form f (x 1 , x 2 , ••• , x n ) = F(G 1 (y 1 , •••,y s ),Z 1 ,Z 2 ,•••,Z r )

Télécharger la présentation

Chapter 5 . Functional Decomposition and Symmetric Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5.Functional Decomposition and Symmetric Functions

  2. n var. f s var.  Z1 F Zr f(x1, x2, ••• , xn) = F(G1(•••),G2(•••),•••,Gk(•••)) A decomposition of form f(x1, x2, ••• , xn) = F(G1(y1,•••,ys),Z1,Z2,•••,Zr) ,where yi, zi{x1, x2, ••• , xn} and {y1,•••,ys}  {Z1,Z2,•••,Zr} = {x1, x2, ••• , xn}, is a simple decomposition around {Z1,Z2,•••,Zr}. If {y1,•••,ys} {Z1,Z2,•••,Zr} =  and {y1,•••,ys} {Z1,Z2,•••,Zr} = {x1, x2, ••• , xn} then the decomposition is called disjunctive decomposition. The simplest type : Shannon’s expansion theorem. f(x1, x2, ••• , xn) = x1f(1, x2, ••• , xn) +x1’f(0, x2, ••• , xn) = (x1)•g(x2, ••• , xn) + ’(x1)•h(x2, ••• , xn) f(x1, x2, ••• , xn) = F((y1,•••,ys),Z1,Z2,•••,Zr) Same result

  3. {x1, x2, ••• , xn} - {Z1,Z2,•••,Zr} z1, ,•••, zr 00 ••• 0 00 ••• 1 ••• ••• 11 ••• 1 00 ••• 0 00 ••• 1 ••• ••• 11 ••• 1 Given the function f(x1, x2, ••• , xn) and some subset of {x1, x2, ••• , xn}, say {Z1,Z2,•••,Zr}, is there a simple disjunctive decomp. of f around {Z1,Z2,•••,Zr}? No, not always. To find if there is a decomp. around {Z1,Z2,•••,Zr} make a decomposition chart. decomposition chart There is a simple disjunctive decomp. of f around {Z1,Z2,•••,Zr} iff the decomp. chart has at most 2 distinct columns F(G(y1,y2,•••,yn-m),Z1,Z2,•••,Zm)= F(G,Z1,Z2,•••,Zm)  F(1,Z1,Z2,•••,Zm), F(0,Z1,Z2,•••,Zm)  F(G,Z1,Z2,•••,Zm) Eg) f(x1, x2, x3, x4) = (1,2,3,4,6,8,9,11,12,14) try to decompose

  4. Gx2,x4 0 1 00 01 11 10 1 1 1 1 1 1 1 • F(G(x1,x2),x3,x4) • Try to decompose F(G(x1, x3),x2,x4) 3 distinct columns  not decomposable around {x3,x4} 2 distinct columns  decomposable around {x2,x4} F(G,x2,x4) = x2’x4+x2x4’+Gx2’ ,where G(x1,x3) G(0,0), G(1,1) = 0 G(0,1), G(1,0) = 1  G(x1,x3) = x1’x3+x1x3’ G(x1,x3)

  5. x1 x2 f x3 x4 x1x2x4 x3,x5 000 001 010 011 100 101 110 111 2 8 10 18 24 0 16 26 00   1 3 9 11 25 27 17 19 01 1 1 1  7 13 29 15 21 5 23 31 11 1 1  1 1  1  Gx3,x5 0 1 4 6 22 28 30 12 14 20 10 1  1 1  00 01 11 10 1 1 1 1 x1 G x3 F x2 x4 The best expression of decomposition problem is F(G(x1, x3),x2,x4) = x2’x4+x2x4’+ G(x1,x3)x2’ ,where G(x1,x3) = x1’x3+x1x3’. Eg) f(x1, x2, x3, x4, x5) = (3,4,5,7,9,15,17,21,22,28,29)+ (10,13,14,18,23,27,30,31) F(G(x1, x2, x4),x3,x5) 1. At most 2 distinct columns F(G(x1, x2, x4),x3,x5) = G’x3+Gx5 G(x1, x2, x4) = G(0,0,0), G(0,1,1), G(1,0,1), G(1,1,0) = 0 rest of 1.

  6. G(x1, x2, x4) = x1’x2’x4+x1’x2x4’+x1x2’x4’+x1x2x4 General procedure to determine if f(x1, x2, ••• , xn) has a disjunctive decomposition of the form F(G1(y1,y2, ••• ,yk), G2(Z1,Z2, ••• ,Zl), w1,w2, ••• ,wn-k-l) 1) Construct 2k decomposition maps of the form: z1,z2,•••,zl w1w2•••wn-k-l z1,z2,•••,zl w1w2•••wn-k-l 00 ••• 0 00 ••• 0 11 ••• 1 11 ••• 1 ••• ••• ••• ••• ••• ••• ••• ••• 00 ••• 0 00 ••• 1 ••• ••• 11 ••• 1 00 ••• 0 00 ••• 1 ••• ••• 11 ••• 1 ••• ••• ••• ••• ••• ••• ••• ••• x1 x2,x4 0 1 ••• ••• 00 01 11 10 1 1 1 1 y1,y2, ••• ,yk= 00 ••• 0 y1,y2, ••• ,yk=11 ••• 1 2) Now, the function can be decomposed iff a) each map has at most two distinct columns b) there are at most two distinct maps

  7. x2x5 x4 00 01 11 10 x2x5 x4 00 01 11 10 x2x5 x4 00 01 11 10 x2x5 x4 00 01 11 10 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x1,x3 = 01 x1,x3 = 00 x1,x3 = 10 x1,x3 = 11 G2 x4 G2 x4 0 0 1 1 x2x5 x4 00 01 11 10 x2x5 x4 00 01 11 10 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 G1 = 0 G1 = 0 G1 = 0 G1 = 1 c) If there are two distinct maps (& both have 2 distinct columns) the sets of distinct columns must be the same for these two maps. i.e. if one map has columns 1, 2, & 3 identical, and column4 different from these 3, then the other map must also have column 1, 2, and 3 identical to each other Note that : Column 4 of this map be either different from, or identical to the first 3. Eg) Find a decomposition of f(x1, x2, x3, x4, x5) = (2,3,4,5,6,7,8,9,16,17,18,19,22,23,28, 29) into F(G1(x1,x3),G2(x2,x5),x4). 1. There are two distinct maps 2. In each map, there are distinct columns

  8. G2=0 G2=1 x1 x3 x2 x5 0 0 1 1 x2x5 G1x4 00 01 11 10 G1(x1,x3); G1(0,0)=G1(1,1)=0 G1(0,1)=G1(1,0)=1  G1(x1,x3) = x1’x3+x1x3’ 0 0 1 1 00 1 1 1 1 1 1 01 1 1 G1(x1,x3) G2(x2,x5) 1 1 11 1 1 10 G2(x2,x5); G2(0,0)=G2(0,1)=0 G2(1,1)=G2(1,0)=1  G2(x2,x5) = x2 G2 G1x4 0 1 00 1 01 1 Final answer; F(G1,G2,x4) = G1G2’+x4G2’+G1’x4’G2 ,where G1(x1,x3) = x1’x3+x1x3’ and G2(x2,x5) = x2 11 1 10 1

  9. Eg) Find a decomposition of f(x1, x2, x3, x4, x5) =(0,1,3,5,6,7,11,13,16,17,19,21,22,23,27,29) into F(G1(x1,x2),G2(x3,x4),x5). x3x4 x5 x3x4 x5 00 00 01 01 11 11 10 10 x3x4 x5 x3x4 x5 00 00 01 01 11 11 10 10 x3x4 x5 00 01 11 10 x3x4 x5 00 01 11 10 1. Two distinct maps 2. Two distinct columns in each map 3. The combinations are okay? 0 0 1 1 1 1 0 0 0 1 1 0 G2=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G2=0 G1 = 0 x1,x2 = 00 x1,x2 = 01 G1 = 1 x1,x2 = 10 x1,x2 = 11 x3x4 G1x5 00 01 11 10 00 1 1 01 1 1 1 1 1 1 11 10

  10. x1 x2 x3 x4 0 0 1 1 00 0 1 1 01 1 1 1 G2(x3,x4) G1(x1,x2) G2 G1x5 0 1 00 1 01 1 1 11 1 10 F(G1,G2,x5) = G1’G2’+x5G2 G1(x1,x2) = x2 G2(x3,x4) = x3x4’+x3’x4 Final answer; F(G1,G2,x5) = G1’G2’+x5G2 ,where G1(x1,x2) = x2 and G2(x3,x4) = x3x4’+x3’x4

  11. Symmetric Function A switching fn f(x1, x2, ••• , xn) is symmetric in variables {xi1, xi2, ••• , xik}, where {xi1, xi2, ••• , xik} is a subset of {x1, x2, ••• , xn} iff it is invariant to any permutation of these variables. Eg) f(x1, x2, x3, x4) = (0,3,5,6) x1 x2 x3 x4 Symmetric function in var x2, x3, x4. i,e. f(x1, x2, x3, x4) = f(x1, x2, x4, x3) = f(x1, x4, x3 , x2) = ••• 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 A function which is symmetric in all of its variables is called totally symmetric. The necessary and sufficient condition for a function f(x1, x2, ••• , xn) to be symmetric is that it may be specified by a set of numbers {a1, a2, ••• , ak}, where 0ain such that the function gives the value 1 when and only when ai of the variables are equal to 1. Example) x y cin full adder cout Z

  12. x y cin Z cout Z(x, y, cin) = S1,3(x, y, cin) = (1,2,4,7) cout(x,y,cin) = S2,3(x,y,cin) = (3,5,6,7) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 Properties of a symmetric function Eg) Z(x,y,cin) + cout(x,y,cin) = S1,2,3(x,y,cin) , where Z={0,1,2, ••• ,n}

  13. x1 x2 x3 A realization for any 13 variable symmetric function using 10 full adders and 1 decoders x8 x6 x4 x7 x9 x5 x10 x11 x12 x13 x1 x2 x3 cout cout cout cout S cout S cout 0 u3 u2 u1 u4 4 to 16 decoder full adder F A F A F A F A F A F A F A F A F. A.’s 2 to 4 decoder F A ••• ••• ••• ••• Z15 Z0 Z1

  14. Identification of symmetric functions f(x1, x2, x3) = (1,2,4,7) = S1,3(x1, x2, x3) 1. Column sum should have to same. 2. for n variable, if a# = k, it should have to appear times x1 x2 x3 a# 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 3 Column sum 2 2 2 f(x1, x2, x3, x4) = (0,1,3,5,8,10,11,12,13,15) x1 x2 x3 x4 a# x1 x’2 x’3 x4 a# x’1 x2 x3 x’4 a# 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 2 3 2 2 3 2 3 2 3 2 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 2 1 2 2 1 2 1 2 1 2 6 4 4 6 6 6 6 6 4 4 4 4 S2,3(x1,x’2,x’3,x4 ) S1,2(x’1,x2,x3,x’4)

  15. f(x1, x2, x3, x4) = (0,3,5,10,12,15) x1 x2 x3 x4 a# 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 2 2 2 2 1 not symmetric but we can find symmetric function 3 3 3 3 x1=1 x1=0 x2 x3 x4 x’4 x2 x3 x4 x’4 a# a# 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 2 2 2 1 1 1 2 2 1 2 1 1 2 1 S2(x2,x3,x’4 ) S1(x2,x3,x’4 ) f(x1, x2, x3, x4) = x1’ S1(x2,x3,x’4 ) +x1S2(x2,x3,x’4 ) = S2(x1’, x2, x3, x4’)

  16. Following the above arguments, the procedure for identifying symmetric functions can be summarized as follows: 1.Obtain column sums. (a) If more than two different sums occur, the function is not symmetric. (b) If two different sums occur, compare the total of these two sums with the number of rows in the table: if they are not equal, the function is not symmetric; if they are equal, complement the columns corresponding to either one of the column sums (preferably the one of fewer occurrences) and continue to step 2. (c) If all column sums are identical, compare their sum with one-half the number of rows in the table. If they are not equal, continue to step 2; if they are equal, continue to step 3. 2. Obtain row sums and check each for sufficient occurrence; that is, if a is a row sum and n is the number of variables, then that row sum must occur n!/(n – a)!a! times. (a) If any row sum does not occur the required number of ties, the function is not symmetric. (b) If all row sums occur the required number of times, the function is symmetric, it’s a-numbers are given by the different row sums in column a#, and its variables of symmetry are given at the top of the table.

  17. 3. Obtain row sums and check each for sufficient occurrence. (a) If all row sums occur the required number of times, the function is symmetric. (b) If any row sum does not occur the required number of times, expand the function about any of its variables; that is, find functions g and h such that f = x’g + xh. Write g and h in tabular form and find their column sums. Determine all variable complementations required for the identifications of symmetries in g and h. Test f under the same variable complementations. If all row sums occur the required number of times, f is symmetric; if any row sum does not occur the required number of times, f is not symmetric.

More Related