Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic notions contd... Definition:

Similar presentations


Presentation on theme: "Basic notions contd... Definition:"— Presentation transcript:

1 Basic notions contd... Definition:
Let B  Y = {y1,...,ym} and p,q  M. Minterms p,q  CON(B) if and only if y(p) ~ y(q) for every y  B, where a1 ~ a2 means that a1 and a2 are equal if defined. If every pair of minterms in a set is consistent then the set constitutes a consistence class. The classes which are not the subsets of any other consistent class are called Maximum Consistent Classes (MCC).

2 Basic notions contd... The same notation as defined earlier for the inputs can also be used for the output consistence class, i.e. PF(B), where the index F differentiates the IND and CON relations. When B = Y, the CON relation is denoted as PF and is called the output partition of the function F.

3 Basic notions contd... Definition:
A specification table is said to be consistent if and only if for every pair of vectors r1 = (x1,y1) and r2 = (x2,y2), the equality x1 = x2 implies y1 ~ y2. It means that for every pair of minterms v1 and v2, if v1 = v2 then F(v1) ~ F(v2). A function expresses the functional dependency between its inputs X and outputs Y only when the specification table T is consistent.

4

5 Using the notations already defined for tuple T:
M = {1,...,10}, X = {x1,...,x8}, Y = {y1,...,y4}. Example IND relations for B1 = {x1} and B2 = {x2,x3} can be written as P(B1) = {{6,7,10}, {1,2,3,4,5,8,9}} (Abstract classes of equivalence relation (blocks of a partition) will henceforth be separated by semicolons and not by parenthesis.) P(B2) = {1,2,3,4; 5; 9; 6,7,8,10}. Examples of Maximum Consistent Classes (MCCs) calculated for the given CON relations are as follows: PF(y1) = {1,2,4,6,7,10; 3,4,5,6,8,9} PF = {1,6,7; 3,5; 2,4,7; 6,9; 4,8,9; 7,10}.

6 where ki is a component of the cube K = (k1,...,kn).
Cubes In Boolean algebra, a cube is expressed as a product of binary variables as given by the mapping WB:  xi, if ki = 1, WB(ki) =  xi if ki = 0,  1 if ki = *, where ki is a component of the cube K = (k1,...,kn).

7 Product of the cubes C and D denoted as C  D (or C  D) is the cube E with components ei as follows: 0 if ci and di are respectively equal to 0,0; 0,*; *,0; 1 if ci and di are respectively equal to 1,1; 1,*; *,1;  if ci and di are respectively equal to 0,1; 1,0; * if ci and di are respectively equal to *,*; The concept of a cube extends the Boolean function specification to include the case where the table T = (K,A,X,Y), where K is the set of cubes and Vx = {0,1,*}.

8 Now, the specification table can be redefined as T = (K,A,X,Y), where K is the set of cubes and it is said to be compatible if and only if for every pair of C,D  K, C and D are compatible (C ~ D) and their respective output vectors are consistent i.e. F(C) ~ F(D). For example, if for the cubes C = (0*00) and D = (*100) the respective output vectors are (110) and (011), then they are inconsistent. On the other hand, if the respective output vectors are (-10) and (01-) then the cubes are consistent.

9 The collection of subsets K/(COM) and as well as K/CON are called r‑partitions on K and are denoted as COM(X') and CON(Y') respectively. R‑partitions can be used as a tool to classify cubes of a Boolean function description. It can be shown that the r‑partition concept is a generalization of the ideas of partitioning a set into consistent classes and partitioning a set into compatible classes. Therefore, partitioning a set S into consistent classes of certain relation R and partitioning a set into compatible classes of a certain relation T can be treated as special cases of r‑partitioning. All other symbols and operations of partition algebra are applicable to r‑partitions also.

10 It is said that the r‑partition 1 is not greater than 2 (1  2) if every block of the r‑partition 1 is included in at least one block of the r‑partition 2. The product 1  2 of the r‑partitions 1 and 2 is a r‑partition , the blocks of which are the non-empty products of the blocks of 1 and 2. The division 1  2 of r‑partitions 1 and 2 is the r‑partition of blocks of 1  2, where every block B  1 is the sum of the minimal number of blocks of 1  2.

11 For 1 = {0,2,5,8; 1,3,4,6,7,9} 2 = {0,4,6,7,8; 1,9; 2,4,5,6; 3,9} 3 = {0,5,6,7,9; 1,2,3,4,8} 13 = {0,5; 2,8; 6,7,9; 1,3,4} 1  2 = {(0,8),(2,5); (1,9),(3,9),(4,6,7)}

12 An example:

13 B=x1x3x4 It is also not precise to say that cube C1 is compatible with either cube C2 or cube C5. According to definition 3.5, cubes of the set C = {1,...,9} can be classified as: 1,2; 1,5; 3,4; 6,7; 8,9. This is evidently not correct because the cube 0** contains the minterm 000 as well, and this minterm is different from both C2 and C5. Therefore the cube C1 has to belong to an another class also and the classes ought to be as follows: 1; 1,2; 1,5; 3,4; 6,7; 8,9.

14 Modified definition: Let C(Li) denote the product of all the cubes belonging to compatible Li class of P(B) defined over a set of cubes C. A r‑partition of (B) is a family of subsets of the set C such that: (B) = P(B)  C where c  C if and only if there are two blocks Li of P(B) containing the cube c and the sum of all the cubes C(Li) is different from the cube c. In other words, for every c  C all possible combinations of minterms vc are assumed:

15 The r‑partition generated by a set B is nothing but the product of r‑partitions generated by the variables xi  B: (B) =   (xi) i:xiB

16 Therefore, for the set B = {x1,x3,x4},
For the table from the example, 1 = {1,2,5; 3,4,6,7,8,9} 2 = {1,3,6,8; 2,4,5,7,8,9} 3 = {1,2,3,4; 1,5,6,7,8,9} 4 = {1,5,6,7; 1,2,3,4,5,8,9} Therefore, for the set B = {x1,x3,x4}, (B) = 1  3  4 = {1; 1,2; 1,5; 3,4; 6,7; 8,9}.

17 Parallel Decomposition
Parallel decomposition relies on dividing the outputs into two separate groups so that each group of outputs depend on lesser or the same number of variables as the given function F: X= Xg  Xh X Y F Xh H Xg Yg G X Yh Y = Yg  Yh

18 Parallel Decomposition

19 Parallel Decomposition
X= Xg  Xh 9 Xh H Xg Yg G X Yh X Y F 9 5 5 6 3 3 Y = Yg  Yh

20 Truth table Yh Truth table Yg

21 Serial Decomposition: Example

22 Serial decomposition relies on partitioning the input variables in such a way as to obtain a two-level functional dependency F = H(A, G(B  C)).

23 Serial Decomposition A C B G H Y X X Y F

24 Non-disjoint Serial Decomposition models

25 Necessary and sufficient condition for the existence of a serial decomposition
There exists a serial decomposition of F if and only if there exists a partition G, such that: (a) G  P(B  C), and (b) P(A)  G  PF.

26 Partition G in the theorem represents function G
Partition G in the theorem represents function G. In particular,the number of blocks in , , determines the number of output variables of G, log2.

27 Example:

28 Verify if serial decomposition exists for the given bound set B.
Let A = {x1}, B = {x2,x3,x0}, C = . G = ,.., = (1,4,7,9; 1,2,3,9,11; 0,1,2,7,10,11; 5,6,8). Verify if serial decomposition exists for the given bound set B. P(A) = (0,3,5,7,9,10; 0,1,2,4,6,8,11) P(B) = P0(B),..,P6(B) = (6,8; 0,1,7; 5,6; 0,1,2; 1,4,7,9; 10,11; 1,2,3,9,11) PF = (7,9; 3,4,5,6,8,9; 0,1,2,7,10,11; 1,3,4,5) P(A)·G = (1,4; 7,9; 1,2,11; 3,9; 0,7,10; 0,1,2,11; 5; 6,8) Hence, P(A) · G  PF. Thus, according to Theorem, function F is decomposable as F = H(x1,G(x2,x3,x0)), where G is a two-output function.

29 The main task of decomposition is to verify if a subset of input variables for function G which, when applied as a subfunction to function H will generate the final function F, i.e. to find a P(B), such that there exists G  P(B) which satisfies condition a) and b) in the theorem. To solve this problem, consider a subset of input variables B, and an m‑block partition P(B) = (B1; B2 ;...; Bm) generated by this subset.

30 A relation of compatibility of partition blocks is used to verify whether or not partition P(B) is suitable for serial decomposition. Two blocks Bi,Bj  P(B) are compatible if and only if partition  obtained from partition P(B) by merging blocks Bi and Bj into a single block Bj satisfies conditions in the decomposition theorem, i.e. if and only if P(A)    PF

31 Compatible class A subset of n partition blocks, B = {Bi1,Bi2,...,Bin}, where Bij  P(B), is a class of compatible blocks for partition P(B) if and only if all blocks in B are pairwise compatible.

32 Maximum Compatible Class
A compatible class is called Maximum Compatible Class (MCC) if and only if it cannot be properly covered by any other compatible class.

33

34 Let B = {x1,x2,x4} and A = {x3,x5}. Then, PF = (3,10,14,15; 12; 3,16,12,14; 5,7,8,13; 1,8,9,14; 4,8,11,12; 2,6,8,12,14), P(A) = (2,13,14; 5,11; 1,3,7,8,9,15; 4,6,10,12) and P(B) = (14,15; 2,3; 9,11,12; 6; 13; 1; 8,10; 4,5,7)

35 Let us check if B0 = (14,15) and B2 = (9,11,12) are compatible.
We have: P02(B) = (9,11,12,14,15; 2,3; 6; 13; 1; 8,10; 4,5,7) P(A)  P02(B) = (2; 13; 14; 5; 11; 1; 3; 7; 8; 9,15; 4; 6; 10; 12), does not satisfy P(A)  P02(B)  PF, B0 and B2 are not compatible.

36 For B0 = {14,15} and B1 = {2,3}, we obtain
P01(B) = (14,15,2,3; 9,11,12; 6; 13; 1; 8,10; 4,5,7) and P(A)  P01(B) = (2,14; 13; 5;11; 1; 3,15; 7; 8; 9; 4; 6; 10; 12)  PF. Thus, B0 and B1 are compatible. In a similar way we check the compatibility of each pair of blocks in P(B) finding the following relation COM = {(B0,B1), (B0,B3), (B1,B3), (B2,B3), (B2,B4), (B2,B5), (B3,B4), (B3,B5), (B4,B5), (B4,B6), (B4,B7), (B5,B6)}.

37 Finding the MCCs Let Sj be the set containing all the blocks Bi for which Bj and Bi are compatible. a) A compatible list (CC‑list) is initiated with one set containing the first block. b) Starting from B1 to Bm, one by one, the set Sj is formed and tested. c) If Sj is an empty set, a new class consisting of one block is added to the CC‑list before moving to the next S. (Since block j is in conflict with blocks B1 to Bj-1 it is placed in a single element set) d) If Sj is not empty, its intersection with every CC of the current CC‑list, Sj  CC is calculated. If the intersection is empty, the sets are not changed otherwise a new class is created by adding to the intersection an one-element set Bj.

38 Hence, assuming that the blocks of PG are denoted B1,
Hence, assuming that the blocks of PG are denoted B1,...,B6, we obtain the Sj sets and corresponding MCCs (for the sake of simplicity we write Sj sets and C-lists by indexes of Bj) S0 =  CC0 = 0 S1 = {0} CC1 = {0,1} S2 =  CC2 = {0,1}, {2} S3 = {0,1,2} CC3 = {0,1,3}, {2,3} S4 = {2,3} CC4 = {0,1,3}, {2,3,4} S5 = {2,3,4} CC5 = {0,1,3}, {2,3,4,5} S6 = {4,5} CC6 = {0,1,3}, {2,3,4,5}, {4,5,6} S7 = {4} CC7 = {0,1,3}, {2,3,4,5}, {4,5,6}, {4,7}

39 As the last C-list represents Maximum Compatible Classes we conclude:
MCC0 = {B4,B7,} MCC1 = {B4,B5,B6}, MCC2 = {B2,B3,B4,B5}, MCC3 = {B0,B1,B3}.


Download ppt "Basic notions contd... Definition:"

Similar presentations


Ads by Google