


xxx ¯ xxx ¯ xxx ¯ xxx ¯ xxx ¯ xxx ¯ (F, U, S) {
(F,S) = reduce(F,S)
if (terminalCase(F)) {
if (F ¹ 0 and cost(S) < U) {
U = cost(S)
return (S) }
else return (``no solution'') }
L = lower_bound(F,S)
if (L ³ U) return (``no solution'')
x_{i} = choose_var(F)
S^{1} = bcp(F_{xi}, U, S È{x_{i}})
if (cost(S^{1}) = L) return (S^{1})
S^{0} = bcp(F_{xi¢}, U, S)
return best_solution(S^{1}, S^{0}) }








x_{1}  x_{2}  x_{3}  x_{4}  x_{5}  x_{6}  x_{7}  
a  a,0    d,0  e,1  b,0  a,   
b  b,0  d,1  a,    a,  a,1   
c  b,0  d,1  a,1        g,0 
d    e,    b,  b,0    a, 
e  b,  e,  a,    b,  e,  a,1 
f  b,0  c,  ,1  h,1  f,1  g,0   
g    c,1    e,1    g,0  f,0 
h  a,1  e,0  d,1  b,0  b,  e,  a,1 


b  
c  ~  
d  
e  ~  
f  
g  ~  
h  ~  
a  b  c  d  e  f  g 
b  
c  ×  ~  
d  
e  ×  ~  
f  ×  ×  ×  
g  ~  ×  ×  
h  ×  ×  ×  ~  ×  ×  
a  b  c  d  e  f  g 
b  a,d  
c  ×  ~  
d  b,e  a,b d,e  d,e a,g  
e  a,b a,d  d,e a,b a,e  ×  ~  
f  ×  ×  c,e  ×  c,e b,f e,g  
g  ~  ×  c,d f,g  c,e b,e a,f  ×  e,h  
h  ×  ×  ×  ~  a,b a,d  ×  × 
a  b  c  d  e  f  g 
b  a,d  
c  ×  ~  
d  b,e  a,b d,e  d,e a,g  
e  a,b a,d  d,e a,b a,e  ×  ~  
f  ×  ×  c,d  ×  ×  
g  ~  ×  c,d f,g  ×  ×  e,h  
h  ×  ×  ×  ~  a,b a,d  ×  × 
a  b  c  d  e  f  g 
First step:  c = { fg } 
S_{e} = h:  c = { fg, eh } 
S_{d} = eh:  c = { fg, deh } 
S_{c} = dfg:  c = { cfg, deh, cd } 
S_{b} = cde:  c = { cfg, deh, bcd, bde } 
S_{a} = bdeg:  c = { cfg, deh, bcd, abde, ag } 



xxx ¯ xxx ¯ xxx ¯ xxx ¯ xxx ¯ xxx ¯ xxx ¯ (C, M){ done = Æ
for(k = largest(M); k ³ 1; k) {
foreach(q Î M; q = k) enqueue(P,q)
foreach(p Î P; p = k) {
if(class_set(CM,p) = Æ)
continue
foreach(s Î max_subsets(p)) {
if(s Î done) continue
G_{s} = class_set(CM,s)
prime = true
foreach(q Î P; q ³ k) {
if (s Ì q) {
G_{q} = class_set(CM,q)
if (G_{s} Ê G_{q}) {
prime = false;
break } } }
if(prime = 1) enqueue(P,s)
done = doneÈ{s} } } } }
Prime compatibles  Class set  
1  abde  Æ 
2  bcd  {(a,b),(a,g),(d,e)} 
3  cfg  {(c,d),(e,h)} 
4  deh  {(a,b),(a,d)} 
11  ag  Æ 
5  bc  Æ 
6  cd  {(a,g),(d,e)} 
7  cf  {(c,d)} 
8  cg  {(c,d),(f,g)} 
9  fg  {(e,h)} 
10  dh  Æ 
12  f  Æ 















x_{1}  x_{2}  x_{3}  x_{4}  x_{5}  x_{6}  x_{7}  
1  1,0  {1,4},1  1,0  1,1  1,0  1,1  1,1 
4  1,1  {1,4},0  1,1  {1,5},0  {1,5},0  {1,4},  1,1 
5  {1,5},0  {1,4},1  1,1    1,  1,1  9,0 
9  {1,5},0  5,1  ,1  4,1  9,1  9,0  9,0 
x_{1}  x_{2}  x_{3}  x_{4}  x_{5}  x_{6}  x_{7}  
1  1,0  1,1  1,0  1,1  1,0  1,1  1,1 
4  1,1  1,0  1,1  1,0  1,0  1,  1,1 
5  1,0  1,1  1,1    1,  1,1  9,0 
9  1,0  5,1  ,1  4,1  9,1  9,0  9,0 




Theorem (Tracey, 1966) A row assignment alloting one ystate per row can be used for direct transition realization of normal flow tables without critical races if, and only if, for every transition [s_{i},s_{j}]






a  b  c  d  e  f  
(p_{1},p_{2})  0  0  1    0  1 
(p_{3},p_{4},p_{8},p_{9})  0  1  0  1  1  1 
([`(p_{5})],p_{6})  0  1  1  0  0  1 
(p_{7},p_{10})  0  0  1  0  1  1 
a  b  c  d  e  f  
(p_{1},p_{7},p_{10})  0  0  1  0  1  1 
(p_{2},[`(p_{5})],p_{6})  0  1  1  0  0  1 
(p_{3},p_{4},p_{8},p_{9})  0  1  0  1  1  1 

First step:  c = { (9,10) } 
S_{8} = 9,[`10]:  c = { (8,9), (8,[`10]), (9,10) } 
S_{7} = 10:  c = { (7,10), (8,9), (8,[`10]), (9,10) } 
S_{6} = 7:  c = { (6,7), (7,10), (8,9), (8,[`10]), (9,10) } 
S_{[`5]} = 6:  c = { ([`5],6), (6,7), (7,10), (8,9), (8,[`10]), (9,10) } 
S_{4} = [`5],8,9:  c = { (4,8,9), (4,[`5]), ([`5],6), (6,7), (7,10), (8,[`10]), (9,10) } 
S_{3} = 4,5,8,9:  c = { (3,4,8,9), (3,5), (4,[`5]), ([`5],6), (6,7), (7,10), 
(8,[`10]),(9,10) }  
S_{2} = [`5],6:  c = { (2,[`5],6), (3,4,8,9), (3,5), (4,[`5]), (6,7), (7,10), 
(8,[`10]),(9,10) }  
S_{1} = 2,7,10:  c = { (1,2), (1,7,10), (2,[`5],6), (3,4,8,9), (3,5), (4,[`5]), 
(6,7),(8,[`10]), (9,10) } 


wx  
yz 

ONset
=
{ w¢x¢y¢z¢, w¢x y¢z¢, w x y¢z¢, w x¢y¢z¢, w¢x y¢z, w x y¢z, w¢x y z, w x y z }
OFFset
=
{ w¢x¢y¢z, w¢x¢y z, w x¢y z, w¢x¢y z¢, w x y z¢, w x¢y z¢}
DCset
=
{ w x¢y¢z, w¢x y z¢}





wx  
yz 

[w¢x y¢z¢, w x y¢z]
[w¢x y z, w x y z¢)
wx  
yz 

[w¢x¢y¢z¢, w¢x y¢z]
[w¢x y z¢, w x¢y z]
wx  
yz 

[w¢x y¢z¢, w x y¢z]
wx  
yz 

[w¢x y¢z¢, w¢x¢y¢z]
[w¢x y¢z, w x y z]
Inputs a b c
State
000 001 011 010 110 111 101 100
A A,1 C,0  A,1 B,0   A,1
...
D       E,1 D,1
Reduce to:
AD A,1 C,0  A,1 B,0  E,1 A,1
Inputs a b  
States 

ab  
cd 



