1 Parallel Decomposition Parallel decomposition relies on dividing























- Slides: 23
1 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 F Y X Xg Xh G H Yg Yh Y = Y g Yh Henry Selvaraj
2 Parallel Decomposition Henry Selvaraj
3 Parallel Decomposition X= Xg Xh X 9 X Xg F 5 G Y 6 Yg 9 Xh H 3 Yh Y = Y g Yh Henry Selvaraj 5 3
4 Truth table Yg Henry Selvaraj Truth table Yh
5 Serial Decomposition: Example Henry Selvaraj
6 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)). Henry Selvaraj
7 Serial Decomposition X X A B C G F Y Henry Selvaraj
8 Non-disjoint Serial Decomposition models Henry Selvaraj
9 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. Henry Selvaraj
10 Partition G in theorem represents function G. In particular, the number of blocks in , , determines the number of output variables of G, log 2 . Henry Selvaraj
11 Example: Henry Selvaraj
12 Let A = {x 1}, B = {x 2, x 3, x 0}, 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) = P 0(B), . . , P 6(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(x 1, G(x 2, x 3, x 0)), where G is a two-output function. Henry Selvaraj
13 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 theorem. To solve this problem, consider a subset of input variables B, and an m‑block partition P(B) = (B 1; B 2 ; . . . ; Bm) generated by this subset. Henry Selvaraj
14 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 Henry Selvaraj
15 Compatible class A subset of n partition blocks, B = {Bi , . . . , Bi }, where Bi P(B), is a 1 2 n j class of compatible blocks for partition P(B) if and only if all blocks in B are pairwise compatible. Henry Selvaraj
16 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. Henry Selvaraj
17 Henry Selvaraj
18 Let B = {x 1, x 2, x 4} and A = {x 3, x 5}. 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) Henry Selvaraj
19 Let us check if B 0 = (14, 15) and B 2 = (9, 11, 12) are compatible. We have: P 02(B) = (9, 11, 12, 14, 15; 2, 3; 6; 13; 1; 8, 10; 4, 5, 7) P(A) P 02(B) = (2; 13; 14; 5; 11; 1; 3; 7; 8; 9, 15; 4; 6; 10; 12), does not satisfy P(A) P 02(B) PF, B 0 and B 2 are not compatible. Henry Selvaraj
20 For B 0 = {14, 15} and B 1 = {2, 3}, we obtain P 01(B) = (14, 15, 2, 3; 9, 11, 12; 6; 13; 1; 8, 10; 4, 5, 7) and P(A) P 01(B) = (2, 14; 13; 5; 11; 1; 3, 15; 7; 8; 9; 4; 6; 10; 12) PF. Thus, B 0 and B 1 are compatible. In a similar way we check the compatibility of each pair of blocks in P(B) finding the following relation COM = {(B 0, B 1), (B 0, B 3), (B 1, B 3), (B 2, B 4), (B 2, B 5), (B 3, B 4), (B 3, B 5), (B 4, B 6), (B 4, B 7), (B 5, B 6)}. Henry Selvaraj
Finding the MCCs 21 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 B 1 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 B 1 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. Henry Selvaraj
22 Hence, assuming that the blocks of PG are denoted B 1, . . . , B 6, we obtain the Sj sets and corresponding MCCs (for the sake of simplicity we write Sj sets and C-lists by indexes of Bj) S 0 = S 1 = {0} S 2 = S 3 = {0, 1, 2} S 4 = {2, 3} S 5 = {2, 3, 4} S 6 = {4, 5} S 7 = {4} Henry Selvaraj CC 0 = 0 CC 1 = {0, 1} CC 2 = {0, 1}, {2} CC 3 = {0, 1, 3}, {2, 3} CC 4 = {0, 1, 3}, {2, 3, 4} CC 5 = {0, 1, 3}, {2, 3, 4, 5} CC 6 = {0, 1, 3}, {2, 3, 4, 5}, {4, 5, 6} CC 7 = {0, 1, 3}, {2, 3, 4, 5}, {4, 5, 6}, {4, 7}
23 As the last C-list represents Maximum Compatible Classes we conclude: MCC 0 = {B 4, B 7, } MCC 1 = {B 4, B 5, B 6}, MCC 2 = {B 2, B 3, B 4, B 5}, MCC 3 = {B 0, B 1, B 3}. Henry Selvaraj