binate covering
DESCRIPTION
binate covering for synthesisTRANSCRIPT
Binate Covering Binate Covering ProblemProblem
Lecture 8Lecture 8
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.
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..
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
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.
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
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.
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))
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))
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.
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
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:
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
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:
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:
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.
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.
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.
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
ExampleExample Consider Consider
------110011665544332211
1100----11001111----111100--00--00------00------11--11--11--x6x6x5x5x4x4x3x3x2x2x1x1
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
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
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
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
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
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=?
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
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
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.
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
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
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
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
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
UB=7
LB=3X1
Cost =4
X5=x2=x3=1
X4=x6=0
1 0
Infeasible
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
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