Basic notions contd... Definition:

Slides:



Advertisements
Similar presentations
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Advertisements

Instructor: Hayk Melikya
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
Discrete Mathematics Lecture 4 Harper Langston New York University.
FSM Decomposition using Partitions on States 290N: The Unknown Component Problem Lecture 24.
© Love Ekenberg The Algorithm Concept, Big O Notation, and Program Verification Love Ekenberg.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
Copyright © Cengage Learning. All rights reserved.
Relations Chapter 9.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
Lecture 4 4. Boolean functions – advanced
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Copyright © 2013, 2009, 2005 Pearson Education, Inc. 1 2 Graphs and Functions Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Chapter 4.1 Solving Systems of Linear Equations in two variables.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Copyright © Cengage Learning. All rights reserved.
1 Introduction to Abstract Mathematics Sets Section 2.1 Basic Notions of Sets Section 2.2 Operations with sets Section 2.3 Indexed Sets Instructor: Hayk.
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.
Quantum Two 1. 2 Angular Momentum and Rotations 3.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 9 Boolean Algebras and Combinatorial Circuits.
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.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
ORDERED SETS. RELATIONS COSC-1321 Discrete Structures 1.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
CHAPTER 2 Boolean algebra and Logic gates
Discrete Mathematics Lecture # 13 Applications of Venn Diagram.
Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation is a relation on.
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.
The Relation Induced by a Partition
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.
CHAPTER 3 SETS, BOOLEAN ALGEBRA & LOGIC CIRCUITS
The Language of Sets If S is a set, then
Vector Spaces B.A./B.Sc. III: Mathematics (Paper II) 1 Vectors in Rn
Chapter 11 (Part 1): Boolean Algebra
1.1: Objectives Properties of Real Numbers
Unit-III Algebraic Structures
Direct Proof and Counterexample III: Divisibility
Computer Organisation
As the last CC-list represents Maximum Compatible Classes we conclude:
5 Systems of Linear Equations and Matrices
2.7 Combining Functions.
Chapter 2 Section 8.
Chapter 1 Logic and Proofs Homework 2 Given the statement “A valid password is necessary for you to log on to the campus server.” Express the statement.
Copyright © Cengage Learning. All rights reserved.
Chapter 2 Sets and Functions.
… and now for the Final Topic:
Functions Defined on General Sets
Chapter 2 Sets and Functions.
Chapter 2 Section 8.
Set Theory A B C.
Splash Screen.
Copyright © Cengage Learning. All rights reserved.
MINTERMS and MAXTERMS Week 3
Graphs, Linear Equations, and Functions
ECB2212-Digital Electronics
Copyright © Cengage Learning. All rights reserved.
I.4 Polyhedral Theory (NW)
Heuristic Minimization of Two Level Circuits
Copyright © Cengage Learning. All rights reserved.
Number Talk What is a Number Talk?
design entry (schematic capture, VHDL, truth table and etc.)
I.4 Polyhedral Theory.
Analysis of Logic Circuits Example 1
Copyright © Cengage Learning. All rights reserved.
Tautology Decision May be able to use unateness to simplify process
Copyright © Cengage Learning. All rights reserved.
Parallel Decomposition
Presentation transcript:

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

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.

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.

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

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

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

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.

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.

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.

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

An example:

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.

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:

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

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

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