binate covering

38
Binate Covering Binate Covering Problem Problem Lecture 8 Lecture 8

Upload: jatanbhatt89

Post on 20-Jul-2016

233 views

Category:

Documents


0 download

DESCRIPTION

binate covering for synthesis

TRANSCRIPT

Page 1: Binate Covering

Binate Covering Binate Covering ProblemProblem

Lecture 8Lecture 8

Page 2: Binate Covering

ISM State Minimization ISM State Minimization AlgorithmAlgorithm

Find all pairs of compatible states;Find all pairs of compatible states; Find the maximal compatibles;Find the maximal compatibles; Find the prime compatibles;Find the prime compatibles; Set up the covering problem;Set up the covering problem; Solve the binate covering problem.Solve the binate covering problem.

Page 3: Binate Covering

The Covering ProblemThe Covering Problem Now we have found Now we have found allall the prime compatibles, the prime compatibles,

our goal is to collect our goal is to collect somesome prime compatibles prime compatibles such that such that Every state is contained in at least one compatible Every state is contained in at least one compatible

((covering constraintcovering constraint); ); All the class sets of the selected compatibles are All the class sets of the selected compatibles are

contained in some compatibles (contained in some compatibles (closure constraintclosure constraint).).A set of compatibles satisfying these two A set of compatibles satisfying these two constraints is called a constraints is called a covercover, we want to find a , we want to find a cover with the cover with the minimal number of compatiblesminimal number of compatibles..

Page 4: Binate Covering

Covering Problem as SAT Covering Problem as SAT The The Boolean satisfiability (SAT)Boolean satisfiability (SAT) problem problem

seeks to determine whether there exists a seeks to determine whether there exists a 0/1 assignment to the Boolean variables 0/1 assignment to the Boolean variables such that a given Boolean formula is true.such that a given Boolean formula is true. Example: Example:

(x+y)(y’+z)z’ is satisfiable (x=1,y=0,z=0)(x+y)(y’+z)z’ is satisfiable (x=1,y=0,z=0) x’(x+y’)(y+z’)(x+z) is unsatisfiable.x’(x+y’)(y+z’)(x+z) is unsatisfiable.

Covering problem as SATCovering problem as SAT Prime compatible Prime compatible a Boolean variable x a Boolean variable x

x=1 x=1 the compatible is selected in the cover the compatible is selected in the cover x=0 x=0 the compatible is not selected in the cover the compatible is not selected in the cover

Covering/closure constraints Covering/closure constraints clauses clauses

Page 5: Binate Covering

Covering ConstraintsCovering Constraints Covering constraint: every state has to be Covering constraint: every state has to be

covered.covered. If a state If a state SS is contained in the following prime is contained in the following prime

compatibles: compatibles: xx11,x,x22,…,x,…,xkk, then at least one of , then at least one of these has to be selected. (Otherwise, S will be these has to be selected. (Otherwise, S will be left uncovered.)left uncovered.)

If xIf xii is selected in the cover, we have x is selected in the cover, we have xii=1.=1. Therefore, all we need to do is to satisfy the Therefore, all we need to do is to satisfy the

clause clause xx11+x+x22+…+x+…+xkk.. For each state, construct a clause as above.For each state, construct a clause as above.

Page 6: Binate Covering

Example: Example: Setting Up the Setting Up the Covering ProblemCovering Problem

Prime Compatibles and their class sets: Prime Compatibles and their class sets: xx11: : (A,B,D,E): (A,B,D,E): emptyempty x x77: (D,H):: (D,H): emptyempty

xx22: (B,C,D):: (B,C,D): {(A,B),(A,G),(D,E)} {(A,B),(A,G),(D,E)} x x88: (C,F):: (C,F): {(C,D)}{(C,D)}

xx33: (D,E,H):: (D,E,H): {(A,B),(A,D)}{(A,B),(A,D)} x x99: (C,G):: (C,G): {(C,D),{(C,D),(F,G)}(F,G)}

xx44: (C,F,G):: (C,F,G): {(C,D),(E,H)} {(C,D),(E,H)} x x1010:(A,G)::(A,G): emptyempty

xx55: (B,C):: (B,C): empty empty x x1111: (F,G):: (F,G): {(E,H)}{(E,H)}

xx66: (C,D):: (C,D): {(A,G),(D,E)} {(A,G),(D,E)} x x1212: (F):: (F):emptyemptyCovering constraints: Covering constraints: A:A: xx11 + x + x1010 E: xE: x11 + x + x33

B:B: xx11 + x + x22 + x + x55 F: xF: x44 + x + x88 + x + x1111 + x + x1212

C:C:xx22 + x + x44 + x + x55 + x + x66 + x + x88 + x + x99 G: xG: x44 + x + x99 + x + x1010 + x + x1111

D:D:xx11 + x + x22 + x + x33 + x + x66 + x + x77 H: xH: x33 + x + x77

Page 7: Binate Covering

Closure ConstraintsClosure Constraints Closure constraint: if one compatible is select (x=1), then all its Closure constraint: if one compatible is select (x=1), then all its

class set must be covered.class set must be covered. For a compatible pair For a compatible pair (S(S11,S,S22)), if state , if state SS11 is contained in the is contained in the

following prime compatibles: following prime compatibles: xx1111,x,x1212,…,x,…,x1m1m, and state , and state SS22 in in xx2121,x,x2222,,…,x…,x2n2n, then, then

let {x1,x2,…,xk}={x11,x12,…,x1m}let {x1,x2,…,xk}={x11,x12,…,x1m}{x21,x22,…,x2n}, then {x21,x22,…,x2n}, then the pair (S1,S2) can be covered by any of the followings the pair (S1,S2) can be covered by any of the followings x1,x2,…,xk. x1,x2,…,xk.

If x is selected in the cover (x=1), for each pair If x is selected in the cover (x=1), for each pair (S(S11,S,S22)) in x’s in x’s class set, one of the follows must be selected: class set, one of the follows must be selected: xx11,x,x22,…,x,…,xkk.. I.e., I.e., xx11+x+x22+…+x+…+xkk must be true. must be true.

If x is not selected, we don’t care its class setIf x is not selected, we don’t care its class set Therefore, all we need to do is to satisfy the Therefore, all we need to do is to satisfy the clause clause

x’+x x’+x11+x+x22+…+x+…+xkk for each of the pairs in x’s class set. for each of the pairs in x’s class set. For each compatible, construct a clause as above for each compatible For each compatible, construct a clause as above for each compatible

pair in its class set.pair in its class set.

Page 8: Binate Covering

Prime Compatibles and their class sets: Prime Compatibles and their class sets: xx11: : (A,B,D,E): (A,B,D,E): emptyempty x x77: (D,H):: (D,H): emptyempty

xx22: (B,C,D):: (B,C,D): {(A,B),(A,G),(D,E)} {(A,B),(A,G),(D,E)} x x88: (C,F):: (C,F): {(C,D)}{(C,D)}

xx33: (D,E,H):: (D,E,H): {(A,B),(A,D)}{(A,B),(A,D)} x x99: (C,G):: (C,G): {(C,D),{(C,D),(F,G)}(F,G)}

xx44: (C,F,G):: (C,F,G): {(C,D),(E,H)} {(C,D),(E,H)} x x1010:(A,G)::(A,G): emptyempty

xx55: (B,C):: (B,C): empty empty x x1111: (F,G):: (F,G): {(E,H)}{(E,H)}

xx66: (C,D):: (C,D): {(A,G),(D,E)} {(A,G),(D,E)} x x1212: (F):: (F):emptyempty

Example: Example: Setting Up the Setting Up the Covering ProblemCovering Problem

Closure constraints: Closure constraints: xx22: (x: (x22’ + x’ + x11)(x)(x22’ + x’ + x1010)(x)(x22’ + x’ + x1 1 + x+ x33))

xx33: (x: (x33’ + x’ + x11)(x)(x33’ + x’ + x11) ) xx88: (x: (x88’ + x’ + x22 + x + x66))

xx44: (x: (x44’ + x’ + x2 2 + x+ x66)(x)(x44’ + x’ + x33)) xx99: (x: (x99’ + x’ + x22 + x + x66)(x)(x99’ + x’ + x44))

xx66: (x: (x66’ + x’ + x1010)(x)(x66’ + x’ + x1 1 + x+ x33) ) xx1111: (x: (x1111’ + x’ + x44))

Page 9: Binate Covering

Example: Example: Setting Up the Setting Up the Covering ProblemCovering Problem

SAT instance:SAT instance:(x(x11+x+x1010)(x)(x11+x+x22+x+x55)(x)(x22+x+x44+x+x55+x+x66+x+x88+x+x99)(x)(x11+x+x22+x+x33+x+x66+x+x77)(x)(x11+x+x44)(x)(x44+x+x88+x+x1111+ +

xx1212)(x)(x44+x+x99+x+x1010+x+x1111)(x)(x33+x+x77) ) (x(x22’+x’+x11)(x)(x22’+x’+x1010)(x)(x22’+x’+x11+x+x33)) (x (x33’+x’+x11) ) (x(x44’+x’+x22+x+x66)(x)(x44’+x’+x33)) (x (x66’+x’+x1010)(x)(x66’+x’+x11+x+x33) )

(x(x88’+x’+x22+x+x66) ) (x(x99’+x’+x22+x+x66)(x)(x99’+x’+x44) ) (x(x1111’+x’+x33))

Covering constraints: Covering constraints: A:A: xx11 + x + x1010 E: xE: x11 + x + x33 B:B: xx11 + x + x22 + x + x55 F: xF: x44 + x + x88 + x + x1111 + x + x1212

C:C:xx22 + x + x44 + x + x55 + x + x66 + x + x88 + x + x99 G: xG: x44 + x + x99 + x + x1010 + x + x1111

D:D:xx11 + x + x22 + x + x33 + x + x66 + x + x77 H: xH: x33 + x + x77 Closure constraints: Closure constraints: xx22: (x: (x22’ + x’ + x11)(x)(x22’ + x’ + x1010)(x)(x22’ + x’ + x1 1 + x+ x33)) xx33: (x: (x33’ + x’ + x11)(x)(x33’ + x’ + x11) ) xx88: (x: (x88’ + x’ + x22 + x + x66)) xx44: (x: (x44’ + x’ + x2 2 + x+ x66)(x)(x44’ + x’ + x33)) xx99: (x: (x99’ + x’ + x22 + x + x66)(x)(x99’ + x’ + x44)) xx66: (x: (x66’ + x’ + x1010)(x)(x66’ + x’ + x1 1 + x+ x33) ) xx1111: (x: (x1111’ + x’ + x44))

Page 10: Binate Covering

SAT instance:SAT instance:((xx11+x+x1010)()(xx11+x+x22+x+x55)(x)(x22+x+x44++xx55+x+x66+x+x88+x+x99)()(xx11+x+x22+x+x33+x+x66+x+x77)()(xx11+x+x33)(x)(x44+x+x88++xx1111+ +

xx1212)(x)(x44+x+x99+x+x1010++xx1111)()(xx33+x+x77) ) (x(x22’+’+xx11)(x)(x22’+x’+x1010)(x)(x22’+’+xx11+x+x33)) (x (x33’+’+xx11) ) (x(x44’+x’+x22+x+x66)(x)(x44’+’+xx33)) (x (x66’+x’+x1010)(x)(x66’+’+xx11+x+x33) )

(x(x88’+x’+x22+x+x66) ) (x(x99’+x’+x22+x+x66)(x)(x99’+x’+x44) ) (x(x1111’+’+xx33))

Example: Example: Setting Up the Setting Up the Covering ProblemCovering Problem

Selection:Selection: {(A,B,D,E), (D,E,H), (B,C), (F,G)}{(A,B,D,E), (D,E,H), (B,C), (F,G)}

Prime Compatibles and their class sets: Prime Compatibles and their class sets: xx11: : (A,B,D,E): (A,B,D,E): emptyempty x x77: (D,H):: (D,H): emptyempty

xx22: (B,C,D):: (B,C,D): {(A,B),(A,G),(D,E)} {(A,B),(A,G),(D,E)} x x88: (C,F):: (C,F): {(C,D)}{(C,D)}

xx33: (D,E,H):: (D,E,H): {(A,B),(A,D)}{(A,B),(A,D)} x x99: (C,G):: (C,G): {(C,D),{(C,D),(F,G)}(F,G)}

xx44: (C,F,G):: (C,F,G): {(C,D),(E,H)} {(C,D),(E,H)} x x1010:(A,G)::(A,G): emptyempty

xx55: (B,C):: (B,C): empty empty x x1111: (F,G):: (F,G): {(E,H)}{(E,H)}

xx66: (C,D):: (C,D): {(A,G),(D,E)} {(A,G),(D,E)} x x1212: (F):: (F):emptyempty

SAT instance:SAT instance:(x(x11+x+x1010)(x)(x11+x+x22+x+x55)(x)(x22+x+x44+x+x55+x+x66+x+x88+x+x99)(x)(x11+x+x22+x+x33+x+x66+x+x77)(x)(x11+x+x33)(x)(x44+x+x88+x+x1111+ +

xx1212)(x)(x44+x+x99+x+x1010+x+x1111)(x)(x33+x+x77) ) (x(x22’+x’+x11)(x)(x22’+x’+x1010)(x)(x22’+x’+x11+x+x33)) (x (x33’+x’+x11) ) (x(x44’+x’+x22+x+x66)(x)(x44’+x’+x33)) (x (x66’+x’+x1010)(x)(x66’+x’+x11+x+x33) )

(x(x88’+x’+x22+x+x66) ) (x(x99’+x’+x22+x+x66)(x)(x99’+x’+x44) ) (x(x1111’+x’+x33))Solution:Solution: x x11=x=x33=x=x55= x= x1111= 1, all others set to 0.= 1, all others set to 0.

Page 11: Binate Covering

Representing the Representing the Reduced ISMReduced ISMIn the reduced ISM:In the reduced ISM:

There is a state for There is a state for each compatible;each compatible;

Next state will be a Next state will be a compatible that compatible that contains all the contains all the original next states original next states (if there are more (if there are more than one, randomly than one, randomly pick one);pick one);

Output remains the Output remains the same.same.

A,A,11

E,-E,-B,-B,-B,B,00

D,D,11

E,E,00

A,A,11

HHF,F,00

G,G,00

-,--,-E,E,11

-,--,-C,C,11

-,--,-GG-,--,-G,G,

00F,F,11

H,H,11

-,1-,1C,-C,-B,B,00

FFA,A,11

E,-E,-B,-B,--,--,-A,-A,-E,-E,-B,-B,-EEA,-A,--,--,-B,B,

00B,-B,--,--,-E,-E,--,--,-DD

G,G,00

-,--,--,--,--,--,-A,A,11

D,D,11

B,B,00

CC-,--,-A,A,

11A,-A,--,--,-A,-A,-D,D,

11B,B,00

BB-,--,-A,-A,-B,B,

00E,E,11

D,D,00

-,--,-A,A,00

AA77665544332211

(F,G)(F,G) ZZ

Z,0Z,0W,W,11

W,-W,--,--,-W,W,11

W,W,11

Y,0Y,0(B,C)(B,C) YY

(D,E,H)(D,E,H) XX

?,?,11

W,W,00

(A,B,D,E) (A,B,D,E) WW

77665544332211

Page 12: Binate Covering

Unate and BinateUnate and Binate A function A function f(xf(x11,,•••x•••xii•••x•••xnn) ) is is positive unatepositive unate in in xxii if its cofactorif its cofactor

Negative unateNegative unate is defined in a similar way. If a function is is defined in a similar way. If a function is neither positive unate nor negative unate in a variable, it is neither positive unate nor negative unate in a variable, it is called called binatebinate in this variable. in this variable.A function is A function is positive/negative unatepositive/negative unate if it is so for all if it is so for all variables, otherwise it is called variables, otherwise it is called binatebinate..

Example: Example: f(x,y,z) = xy + xz’ + yz’f(x,y,z) = xy + xz’ + yz’ ff is positive unate in x: is positive unate in x: ffxx=y+z’+yz’=y+z’+yz’, , ffx’x’=yz’=yz’ ff is positive unate in y: is positive unate in y: ffyy=x+xz’+z’=x+xz’+z’, , ffy’y’=xz’=xz’ ff is negative unate in z: is negative unate in z: ffzz=xy=xy, , ffz’z’=xy+x+y=xy+x+y f f is a binate functionis a binate function

' includes ii xx ff

Recall:Recall:

Page 13: Binate Covering

Binate Covering Problem in Binate Covering Problem in Matrix FormMatrix Form

F = (xF = (x11+x+x33)(x)(x22+x+x44+x+x66)(x)(x33’+x’+x44+x+x55)(x)(x66’)(x’)(x11’+x’+x66’)(x’)(x33+x+x44’+x’+x55))

-101--0----00------110--1 -1- 1-- - - 1 - 1

654321 xxxxxxFor each clause (row fFor each clause (row fii) and ) and

each variable (column Feach variable (column Fjj):):

ffijij = 1: normal form = 1: normal form

ffijij = 0: complement form = 0: complement form

ffijij = -: does not appear = -: does not appearThe Binate Cover Problem: Find a minimum cost subset S The Binate Cover Problem: Find a minimum cost subset S

of columns, such that for each row fof columns, such that for each row f ii:: Either Either j s.t. fj s.t. fijij = 1 and F = 1 and Fjj S;S; Or Or j s.t. fj s.t. fijij = 0 and F = 0 and Fjj SS

Page 14: Binate Covering

Unate Covering Problem Unate Covering Problem (UCP)(UCP) Let Let MMmmxxnn be a Boolean matrix, the UCP is to find be a Boolean matrix, the UCP is to find

a minimum number of columns to cover a minimum number of columns to cover MM in the in the sense that any row with a 1-entry has at least sense that any row with a 1-entry has at least one of its 1-entries covered by these columns.one of its 1-entries covered by these columns.

1111wx’y’z1111wxy’z

11w’x’yz’1111wx’yz’

1111wxyz’1111wxyz

1111w’x’y’z’11w’x’y’z

1111wx’y’z’x’z’x’z’x’y’x’y’wy’zwy’zwyzwyz

’’wxzwxzwxywxy

Solutions to UCP: {x’y’, x’z’,wxy, wxz}, {x’y’, x’z’,wxy, wy’z},{x’y’, x’z’,wxz, wyz’}.

Recall:Recall:

Page 15: Binate Covering

Reduction TechniquesReduction Techniques1.1. Check for Check for essential columnsessential columns, remove them (they must , remove them (they must

be in the selection) and all the rows that have a 1 in be in the selection) and all the rows that have a 1 in such columns;such columns;

2.2. Check for Check for row dominancerow dominance and remove all dominating and remove all dominating rows;rows;

3.3. Check for Check for column dominancecolumn dominance and remove all dominated and remove all dominated columns;columns;

4.4. Repeat 1, 2, 3 if there is any removal occurs.Repeat 1, 2, 3 if there is any removal occurs.

What is left?What is left? If no rows/columns left, we find an optimal solution;If no rows/columns left, we find an optimal solution; Otherwise, this UCP instance is called Otherwise, this UCP instance is called cyclic.cyclic.

Recall:Recall:

Page 16: Binate Covering

Essential and Unacceptable Essential and Unacceptable VariablesVariables

An essential Row of F is a row fi where only An essential Row of F is a row fi where only one coefficient is different from ‘one coefficient is different from ‘–’–’..

The identification of literals corresponding The identification of literals corresponding to essential rows is called to essential rows is called essential literals.essential literals.

The variables corresponding to the positive The variables corresponding to the positive essential literals are essential literals are essential variables.essential variables.

The variables corresponding to the negative The variables corresponding to the negative essential literals are essential literals are unacceptable variables.unacceptable variables.

Page 17: Binate Covering

Row Dominance & Row Dominance & Column dominanceColumn dominance

A row fi dominates another row fj if fi is satisfied A row fi dominates another row fj if fi is satisfied whenever fj is satisfied ,ie fj<=fi.whenever fj is satisfied ,ie fj<=fi.

In Practice dominating row has all the ones and In Practice dominating row has all the ones and zeros of the dominated rows ,plus possibly some.zeros of the dominated rows ,plus possibly some.

Let fLet fj j , f, fkk be two columns of the matrix F . Fj be two columns of the matrix F . Fj dominates Fdominates Fk k (F(Fj j > F> Fk k ) if ,for each clause f) if ,for each clause fi i of of F ,one of the following occurs:F ,one of the following occurs:

ffijij=1=1ffijij=- and f=- and fikik≠ 1;≠ 1;fij = 0 and fjk=0.fij = 0 and fjk=0.

Page 18: Binate Covering

Essential Row in BCPEssential Row in BCPF = (xF = (x11+x+x33)(x)(x22+x+x44+x+x66)(x)(x33’+x’+x44+x+x55)(x)(x66’)(x’)(x11’+x’+x66’)’)

(x(x33+x+x44’+x’+x55)) For F to be true, the term xFor F to be true, the term x66’ must be true, or ’ must be true, or

equivalently, xequivalently, x66=0. =0. In the matrix form, this is a row of -----0, to In the matrix form, this is a row of -----0, to

cover this row, from definition, we cannot cover this row, from definition, we cannot select the column corresponding to xselect the column corresponding to x66..

An An essential rowessential row of F is a row where only one of F is a row where only one entry fentry fijij is not -. It corresponds to a single is not -. It corresponds to a single literal clause in the SAT instance.literal clause in the SAT instance.

Page 19: Binate Covering

Essential Literal And Essential Literal And UnacceptableUnacceptable

F = (xF = (x11+x+x33)(x)(x22+x+x44+x+x66)(x)(x33’+x’+x44+x+x55)(x)(x66’)(x’)(x11’+x’+x66’)(x’)(x33+x+x44’+x’+x55))

-101--0----00------110--1 -1- 1-- - - 1 - 1

654321 xxxxxx X6’ is essential

X6 is unacceptable

Page 20: Binate Covering
Page 21: Binate Covering

ExampleExample Consider Consider

------110011665544332211

1100----11001111----111100--00--00------00------11--11--11--x6x6x5x5x4x4x3x3x2x2x1x1

Page 22: Binate Covering

x1 x2 x3 x4 x5 x6

1 - 1 - 1 - 1

2 - - - 0 - -

3 - 0 - 0 - 0

4 1 1 - - 1 1

5 0 1 - - 0 1

6 1 0 1 - - -

Row 2 is singleton and x4 is unaccpetable

Page 23: Binate Covering

x1 x2 x3 x5 x6

1 - 1 - - 1

4 1 1 - 1 1

5 0 1 - 0 1

6 1 0 1 - -

Row 4 dominates Row 1 eliminate Row 4

Page 24: Binate Covering

x1 x2 x3 x5 x6

1 - 1 - - 1

5 0 1 - 0 1

6 1 0 1 - -

Col 6 dominates Col 2

Col 1 dominates Col 5

Eliminate Col 2 and 5

x1 x3 x6

1 - - 1

5 0 - 1

6 1 1 -

Row 1 has a singleton

Column 6 becomes essential

Page 25: Binate Covering

x1 x3

6 1 1

Col 1 dominates Column 3

Eliminate Column 3

So the solution is

X1=x6=1 and

x2=x3=x4=x5=0

x1

6 1

Page 26: Binate Covering

Maximal Independent Maximal Independent SetSet

Provides Lower BoundProvides Lower Bound In binate case, we consider only clause that In binate case, we consider only clause that

do not contain any complemented literal.do not contain any complemented literal. Consider an exampleConsider an example

MIS={1}=>LB=1MIS={1}=>LB=1

x1 x2 x3 x4

1 1 - -

- - 0 1

Page 27: Binate Covering

x1 x2 x3 x4 x5 x61 - - - - 1 12 - - 1 1 - 13 - 1 - 1 - -4 1 1 - - 1 -5 1 - 1 - - -6 1 1 1 1 1 17 0 - - - 1 -8 0 1 - 1 - -9 1 0 - - - -10 - - 0 - 1 -11 1 - 0 - - -12 - 1 0 1 - -13 1 - - 0 - -14 - 1 - - 0 -15 1 - - - 0 -16 - - 1 1 0 117 - 1 - - - 018 1 - - - - 0

UB=7

LB=?

Page 28: Binate Covering

x1 x2 x3 x4 x5 x61 - - - - 1 12 - - 1 1 - 13 - 1 - 1 - -4 1 1 - - 1 -5 1 - 1 - - -6 1 1 1 1 1 17 0 - - - 1 -8 0 1 - 1 - -9 1 0 - - - -10 - - 0 - 1 -11 1 - 0 - - -12 - 1 0 1 - -13 1 - - 0 - -14 - 1 - - 0 -15 1 - - - 0 -16 - - 1 1 0 117 - 1 - - - 018 1 - - - - 0

R6,R8,R16 dominate other rows can be dropped

Page 29: Binate Covering

x1 x2 x3 x4 x5 x6

1 - - - - 1 1

2 - - 1 1 - 1

3 - 1 - 1 - -

4 1 1 - - 1 -

5 1 - 1 - - -

7 0 - - - 1 -

9 1 0 - - - -

10 - - 0 - 1 -

11 1 - 0 - - -

12 - 1 0 1 - -

13 1 - - 0 - -

14 - 1 - - 0 -

15 1 - - - 0 -

17 - 1 - - - 0

18 1 - - - - 0

MIS={1,3,5} LB=3

Page 30: Binate Covering

x1 x2 x3 x4 x5 x6

1 - - - - 1 1

2 - - 1 1 - 1

3 - 1 - 1 - -

4 1 1 - - 1 -

5 1 - 1 - - -

7 0 - - - 1 -

9 1 0 - - - -

10 - - 0 - 1 -

11 1 - 0 - - -

12 - 1 0 1 - -

13 1 - - 0 - -

14 - 1 - - 0 -

15 1 - - - 0 -

17 - 1 - - - 0

18 1 - - - - 0

Since problem is cyclic

Select Splitting variable

Split on x1

Heuristic:

Large no of 1’s in the column.

Page 31: Binate Covering

x1 x2 x3 x4 x5 x6

1 - - - - 1 1

2 - - 1 1 - 1

3 - 1 - 1 - -

4 1 1 - - 1 -

5 1 - 1 - - -

7 0 - - - 1 -

9 1 0 - - - -

10 - - 0 - 1 -

11 1 - 0 - - -

12 - 1 0 1 - -

13 1 - - 0 - -

14 - 1 - - 0 -

15 1 - - - 0 -

17 - 1 - - - 0

18 1 - - - - 0

Drop

R4,R5,R9,R11

R13,R15,R18

Page 32: Binate Covering

x2 x3 x4 x5 x6

1 - - - 1 1

2 - 1 1 - 1

3 1 - 1 - -

7 - - - 1 -

10 - 0 - 1 -

12 1 0 1 - -

14 1 - - 0 -

17 1 - - - 0

R7 has a single ‘1’

It make x5 as essential

Page 33: Binate Covering

x2 x3 x4 x6

2 - 1 1 1

3 1 - 1 -

12 1 0 1 -

14 1 - - -

17 1 - - 0

x3 x4 x6

2 1 1 1

R14 has one singleton

X2 becomes essential

Remove all Intersecting Rows

x3

2 1

Page 34: Binate Covering

UB=7

LB=3X1

Cost =4

X5=x2=x3=1

X4=x6=0

Since the problem Cost > LB we need to search on false path.

1

Page 35: Binate Covering

x2 x3 x4 x5 x61 - - - 1 12 - 1 1 - 13 1 - 1 - -4 1 - - 1 -5 - 1 - - -6 1 1 1 1 17 - - - 1 -8 1 - 1 - -9 0 - - - -10 - 0 - 1 -11 - 0 - - -12 1 0 1 - -13 - - 0 - -14 1 - - 0 -15 - - - 0 -16 - 1 1 0 117 1 - - - 018 - - - - 0

X3 & x5 are essential

But

X4,x5,x6 unacceptable

If x5=x6=0 then

Row 1 is not covered

so Infeasible Solution

Page 36: Binate Covering

UB=7

LB=3X1

Cost =4

X5=x2=x3=1

X4=x6=0

1 0

Infeasible

Page 37: Binate Covering

Infeasible ProblemsInfeasible Problems During BCP we find that a particular During BCP we find that a particular

variable is both essential and variable is both essential and unacceptable, then that subproblem unacceptable, then that subproblem admits no solution.admits no solution.

ExampleExamplex1 x2

1 1 1

2 0 1

3 1 0

4 0 1

If we split on x1

x2 is both essential and acceptable.

x2

1 1

3 0

Page 38: Binate Covering

For More problems ReferFor More problems Refer Pg No 364 & 365 Logic Synthesis & Pg No 364 & 365 Logic Synthesis &

Verification Algorithms by Somenzi & hactelVerification Algorithms by Somenzi & hactel