Presentation is loading. Please wait.

Presentation is loading. Please wait.

Geometric interpretation & Cubes Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)

Similar presentations


Presentation on theme: "Geometric interpretation & Cubes Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)"— Presentation transcript:

1 Geometric interpretation & Cubes Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu www.testgroup.polito.it Lecture 3.2

2 2 3.2 Goal  This lecture first introduces a geometric interpretation of Boolean Algebras, focusing, in particular, on the concept of K-cubes.  It then presents several ways of representing K-cubes.  Eventually some advanced operators on cubes are defined.

3 3 3.2 Prerequisites  Lecture 3.1

4 4 3.2 Homework  No particular homework is foreseen

5 5 3.2 Further readings  Students interested in a deeper knowledge of advanced operators on cubes can refer, for instance, to:  G.D. Hachtel, F. Somenzi: “Logic Synthesis and Verification Algorithms,” Kluwer Academic Publisher, Boston MA (USA), 1996

6 6 3.2 Outline  Geometric interpretation of Boolean Algebras  K-cubes representation  Advanced operations on K-cubes.

7 7 3.2 Geometric interpretation The carrier B n of a Boolean Algebra can be seen as an n-dimensional space, where each generic element v  B n (usually called a vertex), is represented by a vector of n coordinates, each  B.

8 8 3.2 x z 00 10 1101 B = { 0, 1} B 2

9 9 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1} B 3

10 10 3.2 x y z B = { 0, 1 } B 4 w

11 11 3.2 K-cube A k-dimensional sub-space (or k-cube) S k  B n is a set of 2 k vertices, in which n-k variables get the same constant value.

12 12 3.2 x z 00 10 11 01 0-cube = vertex B = { 0, 1 } B 2

13 13 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube = vertex

14 14 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube = edge

15 15 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube = face

16 16 3.2 B = { 0, 1 } B 4 2-cube = face x y z w

17 17 3.2 Remarks  Not all the sub-sets of B n with cardinality 2 k are k-cubes.

18 18 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 An example of set of 2 2 vertices which is not a 2-cube

19 19 3.2 Remarks  Not all the sub-sets of B n with cardinality 2 k are k-cubes  The empty set is not a k-cube

20 20 3.2 Remarks  Not all the sub-sets of B n with cardinality 2 k are k-cubes  The empty set is not a k-cube  The total # of different k-cubes is:

21 21 3.2 Examples  n = 3 k = 2 : 2-cubes : faces N = 3! 2 / 1! 2! = 6  n = 3 k = 1 : 1-cubes : edges N = 3! 4 / 2! 1! = 12  n = 3 k = 0 : 0-cubes : vertices N = 3! 8 / 3! 0! = 8

22 22 3.2 Outline  Geometric interpretation of Boolean Algebras  K-cubes representation  Advanced operations on K-cubes.

23 23 3.2 K-cubes representation k-cube

24 24 3.2 K-cubes representation Algebraic notation Cubic notation k-cube

25 25 3.2 K-cubes representation Algebraic notation Cubic notation Product term Sum term k-cube

26 26 3.2 K-cubes representation Cubic notation k-cube list of n values  { 0, 1, – }, one for each coordinate

27 27 3.2 In such a list there will be:  n-k values set at 0, or at 1, and in particular:  at 0 if the corresponding coordinate gets the value 0 in all the vertices of the cube  at 1 if the corresponding coordinate gets the value 1 in all the vertices of the cube –  k values set at a particular value, conventionally represented by “–” and read “don’t care” (they correspond to the k coordinates which assume all the 2 k possible combinations of values). Cubic notation (cont’d)

28 28 3.2 x z 00 10 11 01 0-cube in cubic notation B = { 0, 1 } B 2 10

29 29 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube in cubic notation 111

30 30 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube in cubic notation 10101010

31 31 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube in cubic notation 0000

32 32 3.2 B = { 0, 1 } B 4 2-cube in cubic notation x y z w 10101010

33 33 3.2 Cubes representation Algebraic notation k-cube list of n-k literals, one for each variable that gets the same value in all the vertices of the cube

34 34 3.2 Cubes representation Algebraic notation Product term k-cube

35 35 3.2 Cubes representation Algebraic notation Product term k-cube Each k-cube is represented by a logic product of n-k variables where: variables assuming constantly the 1 value are assertedvariables assuming constantly the 1 value are asserted variables assuming constantly the 0 value are complemented.variables assuming constantly the 0 value are complemented.

36 36 3.2 x z 00 10 11 01 0-cube by product terms B = { 0, 1 } B 2 x z’

37 37 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube by product terms x y z

38 38 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube by product terms x z’

39 39 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube by product terms y’y’y’y’

40 40 3.2 2-cube by product terms B = { 0, 1 } B 4 x y z w x z ’

41 41 3.2 Remark The universe set, i.e., the n-cube, which, according to the previous rules should be represented by “no” variable, is usually represented by the symbol 1.

42 42 3.2 f ( x 1, x 2, x 3 ) 10 -  - 1 -  110  From cubic notation to algebraic notation by product terms

43 43 3.2 f ( x 1, x 2, x 3 ) 10 -  x 1 x 2 ’ - 1 -  x 2 110  x 1 x 2 x 3 ’ From cubic notation to algebraic notation by product terms

44 44 3.2 f ( x 1, x 2, x 3 ) x 1 x 2 ’  x 2  x 1 x 2 x 3 ’  From algebraic notation by product terms to cubic notation

45 45 3.2 f ( x 1, x 2, x 3 ) x 1 x 2 ’  10 - x 2  - 1 - x 1 x 2 x 3 ’  110 From algebraic notation by product terms to cubic notation

46 46 3.2 Minterm A minterm (or fundamental product) is the representation of a 0-cube by a product term. k-cube representation 1 0 1x y ’ z  minterm 0 1 1x’ y z  minterm 0  0x’ z’  not a minterm  1  y  not a minterm

47 47 3.2 Cubes representation Algebraic notation Sum term k-cube

48 48 3.2 Cubes representation Algebraic notation Sum term k-cube Each k-cube is represented by a logic sum of n-k variables where: variables assuming constantly the 1 value are complementedvariables assuming constantly the 1 value are complemented variables assuming constantly the 0 value are asserted.variables assuming constantly the 0 value are asserted.

49 49 3.2 x z 00 10 11 01 0-cube by sum terms B = { 0, 1 } B 2 x’ + y

50 50 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube by sum terms x’ + y ’ + z’

51 51 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube by sum terms x’ + z

52 52 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube by sum terms y

53 53 3.2 2-cube by sum terms B = { 0, 1 } B 4 x y z w x ’ + z

54 54 3.2 Remark The universe set is usually represented, in this notation, by the symbol 0.

55 55 3.2 Maxterm A maxterm (or fundamental sum) is the representation of a 0-cube by a sum term. k-cube representation 1 0 1x’ + y + z’  maxterm 0 1 1x + y ’ + z’  maxterm 0  0x + z  not a maxterm  1  y ’  not a maxterm

56 56 3.2 Outline  Geometric interpretation of Boolean Algebras  K-cubes representation  Advanced operations on K-cubes.

57 57 3.2  Several advanced operators have been defined on k-cubes, including:  Splitting  Coverage  Intersection  Distance  Union  Complement  Cofactor  Consensus  … Advanced operations on K-cubes

58 58 3.2 Note  Since most of them are of interest for peculiar applications, only (e.g., advanced techniques for logic minimization), they are not fatherly dealt with in the present course.  Just a couple of them are going to be presented here.  Interested students can refer to the book suggested in slide 5 for a deeper analysis.

59 59 3.2 Splitting Splitting allows us to find all the vertices of a given k-cubes. Algorithm Assign each “–” all the possible combinations of the related input variable, until no “–” are present.

60 60 3.2 Example –11–0

61 61 3.2 Example –11–0 111–0 011–0

62 62 3.2 Example –11–0 11110 11100 01110 01100 111–0 011–0

63 63 3.2 Coverage We have to distinguish between:  Coverage among cubes  Coverage among sets of cubes

64 64 3.2 Coverage among cubes A cube a covers (or contains) a cube b, and we denote it as: a  b Iff all the vertices of b are vertices of a as well. In such a case we say that b implies a or that a is implied by b.

65 65 3.2 Example a = - 0 - b = - 0 0 a  b 000 111 100 101 001 010 110 011 b a aa a

66 66 3.2 “Working” Definition A cube a covers a cube b, iff the cube b can be derived from a by replacing, in a, one (or more) “–” by 0 or 1. Examples a = – 0 – b = – 0 0 a  b a = 1 0 – 1 b = – 0 1 1 a  b

67 67 3.2 Coverage among sets of cubes A set of cubes C covers a cube a iff each vertex of a is a vertex of at least one of the cubes of C. Example C = { 0–1, 10– }  a = –01 ?

68 68 3.2 Solution We first split the vertices of a : 001, covered by C[1] = 0–1 101, covered by C[2] = 10– As a consequence C = { 0–1, 10– }  a = –01 Even if, when considered individually C[1]  a and C[2]  a

69 69 3.2 000 111 100 101 001 010 110 011 C[1] C[2] a C[1] = 0–1 C[2] = 10– a = – 0 1

70 70 3.2 Hamming distance between cubes We define Hamming distance between 2 cubes a and b, and we denote it as D (a, b) the # of coordinates of the 2 cubes such that: a[i] = 0 and b[i] = 1 or a[i] = 1 and b[i] = 0

71 71 3.2 Properties  Two cubes have a null distance iff they share one or more vertices  Two cubes having unit distance are usually referred to as being logically adjacent.

72 72 3.2 Example y z 000 111 100 101 001 010 011 x 110

73 73 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 -

74 74 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0

75 75 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0

76 76 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1

77 77 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1D(a, c) = 1

78 78 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1D(a, c) = 1 xy z 00011110 0 1

79


Download ppt "Geometric interpretation & Cubes Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)"

Similar presentations


Ads by Google