Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover. (irredundant)
Irredundant Cover Proposition: A set of cubes C covers a cube p if and only if C p is a tautology. proof: Cp = p =>(Cp) p = p p => C p p p = 1 => C p = 1 <= => C p = 1 => C P P = P => C P = P
Example Ex: p = C = C p = Check tautology(C p ) If (C p ) is a tautology, C covers p.
Divide & Conquer by Cofactor Op.
Property of Unate Function Proposition: A unate cover is a tautology if and only if it contains a row of 2’s. pf: (<=) trivial (=>) Assume the cover represent a monotone increasing function, the function contains 1’s and 2’s. The minterm (0,0,....0) must be covered. Unless the cover contains (2,2,....2), the minterm (0,0,...0) will not be covered.
Tautology Check 1. speed-up by unate variables Let F(x 1,x 2,...x n ), x 1 : positive unate –F(x 1,x 2,...x n ) = x 1 A(x 2,...x n ) + B(x 2,...x n ) A : terms with x 1 B : terms without x 1 F x1 = A + B F x1 ’ = B –If (F x1’ = B) is tautology, F x1 = A + B is a tautology. –If (F x1’ = B) is not a tautology, F is not a tautology. If x is positive unate, test if F is a tautology. F x’ is a tautology
Tautology Check 2. Other techniques – a row of 2’s, answer ‘Yes’ – a column of all 1’s or all 0’s, answer ‘No’ – compute an upper bound on the no. of minterms of on-set Ex: number of minterms n = 16 > 8 answer ‘No’ – n7, test by truth table
A Possible Irredundant Cover Algorithm?
Example of Irredundant Cover a b c d e F =
Example F covers C 3 = ? => Check tautology (F – C 3 ) C 3 a b c d e on-set count= on-set count= < 32, not tautology C 3 cannot be removed from the cover F covers C 7 = ? => Check tautology (F – C 7 ) C 7 a b c d e C 7 can be removed from the cover b b’ tautology
Slides shown below are for your reference.
Irredundant Cover Primes in F (1) relatively essential cube c of F (E) F - {c} is not a cover (2) redundant cubes –Totally redundant (R t ) a cube covered by relatively essential cubes and Don’t care –Partially redundant (R p )
Example F ={c 1,c 2,c 3 } E = {c 1,c 3 } R t = {c 2 } R p = F ={c 1,c 2,c 3, c 4 } E = {c 1,c 4 } R t = R p = {c 2,c 3 } Ex: c1c1 c2c2 c3c3 c1c1 c2c2 c4c4 c3c3
Irredundant Cover (1) Check whether cubes are relatively essential 1. tautology (F-c) C 2. If not tautology (F-c) c, c is relatively essential. (2) Check partially, totally redundant 1. tautology (ED) C (D : don’t care) 2. If yes, c istotally redundant If no, c ispartially redundant
Irredundant Cover (3) Minimal Irredundant (R p ) For each rR p, define the minimal set S such that (R p - S)ED is NOT a cover ex: R p = {c 4,c 3,c 2 } S 4 ={{c 4,c 3 }} S 3 = {{c 3,c 4 },{c 3,c 2 }} S 2 = {{c 2,c 3 }} Find a minimum subset of partially irredundant set such that combining with relatively essential cubes, it forms a cover. c1c1 c2c2 c4c4 c3c3 c5c5
Irredundant Cover Define a matrix B. Each rows corresponds to a S i B ij = 1 if R pj in S i 0 otherwise Ex: R p = {c 4,c 3,c 2 } S 4 = {{c 4,c 3 }} S 3 = {{c 3,c 4 },{c 3,c 2 }} S 2 = {{c 2,c 3 }} c 2 c 3 c 4 S S S S minimum column cover of B minimal irredundant cover
Irredundant Cover Two things: 1. find minimal set S 2. find minimal column covering
Find Minimal Set S For each r in R p, find all minimal sets S (R p - S)ED does not cover r Tautology((R p - S)ED) r is not a tautology. Let A = (R p ) r B = (ED) r AB1 determine all minimal subset S A such that (A - S)B1
Find Minimal Set S D = A = (R p ) r taut(A) If A is a unate cover with (A 1), then there must be at least one row of 2’s in the cover A take S to be the set of all such cubes, then A - S1 Let E else binate select x j split A xj, A xj’ S xj taut(A xj ) S xj’ taut(A xj’ ) merge: S = S x S x’ (A-S)1(A x -S x )1 OR (A x’ - S x’ )1 ) (
Irredundant Cover Let A =(R p ) r B=(E D) r AB1 find subset SA such that (A - S)B1
Example ex: A =(R p ) r B = x 4 x 5 x 6 x4x4 x 4’ x5x5 x 5’ x5x5 {5,7} {5,6} {4,7} {4,6} {{5,7},{5,6}} {{4,7},{4,6}}