Parallel Decomposition

Slides:



Advertisements
Similar presentations
Section 7.5: Equivalence Relations Def: A relation R on a set A is called an equivalence relation if it is reflexive, symmetric, and transitive. Ex: Let.
Advertisements

1 EE5900 Advanced Embedded System For Smart Infrastructure Advanced Theory.
1 State Assignment Using Partition Pairs 2  This method allows for finding high quality solutions but is slow and complicated  Only computer approach.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Prune-and-Search Method
T(n) = 4 T(n/3) +  (n). T(n) = 2 T(n/2) +  (n)
Advanced Topics in Algorithms and Data Structures Lecture pg 1 Recursion.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
Encoding xsxs 0101 AAB00 BAC00 CDC00 DAB01 Variant I A = 00 B = 01 C = 10 D = 11 Variant II A = 00 B = 11 C = 01 D = 10 Variant II Variant I.
Prune-and-search Strategy
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
FSM Decomposition using Partitions on States 290N: The Unknown Component Problem Lecture 24.
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
Table of Contents The goal in solving a linear system of equations is to find the values of the variables that satisfy all of the equations in the system.
Zvi Kohavi and Niraj K. Jha 1 Structure of Sequential Machines.
Order Statistics The ith order statistic in a set of n elements is the ith smallest element The minimum is thus the 1st order statistic The maximum is.
© The McGraw-Hill Companies, Inc., Chapter 6 Prune-and-Search Strategy.
Restricted Track Assignment with Applications 報告人:林添進.
1 Prune-and-Search Method 2012/10/30. A simple example: Binary search sorted sequence : (search 9) step 1  step 2  step 3  Binary search.
Copyright © Cengage Learning. All rights reserved.
CS 151  What does the full truth table look like? InputsOutputs D3D3 D2D2 D1D1 D0D0 A1A1 A0A0 V 0000XX
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
Basic Definitions of Set Theory Lecture 23 Section 5.1 Wed, Mar 8, 2006.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
Chapter 8: Relations. 8.1 Relations and Their Properties Binary relations: Let A and B be any two sets. A binary relation R from A to B, written R : A.
1 Finding a decomposition of a graph T into isomorphic copies of a graph G is a classical problem in Combinatorics. The G-decomposition of T is balanced.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Discrete Mathematics Lecture # 13 Applications of Venn Diagram.
BOOLEAN INFORMATION RETRIEVAL 1Adrienn Skrop. Boolean Information Retrieval  The Boolean model of IR (BIR) is a classical IR model and, at the same time,
Set. Outline Universal Set Venn Diagram Operations on Sets.
Capabilities, Minimization, and Transformation of Sequential Machines
Relations Chapter 9 Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
ISHIK UNIVERSITY FACULTY OF EDUCATION Mathematics Education Department
Chapter 10 NP-Complete Problems.
Understanding the basics of the decomposition methods, discussed in the earlier lectures, leads to devising a general and complete decomposition method.
Chapter 2 Sets and Functions.
A sketch proof of the Gilbert-Pollak Conjecture on the Steiner Ratio
As the last CC-list represents Maximum Compatible Classes we conclude:
6.1 One-to-One Functions; Inverse Function
§3-3 realization for multivariable systems
Chapter 5. Optimal Matchings
One-to-One Functions and Inverse Functions
Vapnik–Chervonenkis Dimension
Set Theory A B C.
Distinct Distances in the Plane
Example of application: Decomposition
Finding Large Set Covers Faster via the Representation Method
ICS 353: Design and Analysis of Algorithms
Chapter 6. Large Scale Optimization
Depth Estimation via Sampling
Divide-and-Conquer 7 2  9 4   2   4   7
Basic notions contd... Definition:
ECB2212-Digital Electronics
4.1 One-to-One Functions; Inverse Function
Synthesis and Verification of Finite State Machines
6.1 One-to-One Functions; Inverse Function
Instructor: Aaron Roth
Heuristic Minimization of Two Level Circuits
Divide-and-Conquer 7 2  9 4   2   4   7
Flow Feasibility Problems
Merge Sort 4/10/ :25 AM Merge Sort 7 2   7  2   4  4 9
Recap lecture 23 Mealy machines in terms of sequential circuit.
Basic Definitions of Set Theory
6.2 Using Substitution to Solve Systems
Chapter 6. Large Scale Optimization
Section 3.2 More set operations.
Chapter 9 -- Simplification of Sequential Circuits
Presentation transcript:

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

Parallel Decomposition

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

Truth table Yh Truth table Yg

Serial Decomposition: Example

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)).

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

Non-disjoint Serial Decomposition models

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.

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.

Example:

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.

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.

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

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.

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.

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)

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.

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)}.

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.

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}

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}.