bernd steinbach *, christian lang *, and marek a. perkowski +
DESCRIPTION
Bi-Decomposition of Discrete Function Sets. Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski + * Freiberg University of Mining and Technology Institute of Computer Science, Freiberg (Sachs.), Germany + Portland State University, Department of Electrical and - PowerPoint PPT PresentationTRANSCRIPT
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
1 / 24
Bernd Steinbach *, Christian Lang *, andMarek A. Perkowski +
* Freiberg University of Mining and Technology Institute of Computer Science, Freiberg (Sachs.), Germany+ Portland State University, Department of Electrical and Computer Engineering, Portland (Oregon), USA
Bi-Decomposition of Discrete Function Sets
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
2 / 24
Outline
• Introduction
• Function Sets
• Bi-Decomposition
• Decomposition Strategy
• EXOR-Decomposition of Function Sets
• Results
• Conclusion
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
3 / 24
Introduction• Incompletely specified functions (ISFs) are a
generalization of Boolean functions.
• There are many multi-stage design algorithms for ISFs.
• We propose function sets as a generalization of ISFs to improve many of these design algorithms.
• We demonstrate our method on the example of EXOR-bi-decomposition.
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
4 / 24
Function Sets I• There are two ways to interpret ISFs:
– incompletely specified function– set of 2s fully specified functions,
s = number of don’t cares
• Example: F {f1, f2, f3, f4}
0
1
1 0
0 1a
b F(a,b)
1 0
0 0
f1(a,b)
1 1
1 0
f2(a,b)
1 1
0 0
f3(a,b)
1 0
1 0
f4(a,b)
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
5 / 24
Function Sets II• The functions of an ISF and the AND and OR operation
form a lattice, a special type of Boolean algebra
• If f1, f2 F, then f1 f2 F and f1 f2 F
• Example: f3 f4 = f1 F, and f3 f4 = f2 F
0
1
1 0
0 1a
b F(a,b)
1 0
0 0
f1(a,b)
1 1
1 0
f2(a,b)
1 1
0 0
f3(a,b)
1 0
1 0
f4(a,b)
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
6 / 24
Function Sets III• There are function sets that are lattices, but not ISFs:
R={f1, f2} F {f1, f2, f3, f4}
• There are function sets that are not lattices:
S={f3, f4}, f3 f4 = f1 S
0
1
1 0
0 1a
b F(a,b)
1 0
0 0
f1(a,b)
1 1
1 0
f2(a,b)
1 1
0 0
f3(a,b)
1 0
1 0
f4(a,b)
R={f1,f2} S={f3,f4}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
7 / 24
Bi-DecompositionBi-Decomposition for Binary Circuits
Structureo
OR-Bi-DecompositionAND-Bi-DecompositionEXOR-Bi-Decomposition
B
C
Ag(A, C)
h(B, C)
f(A, B, C)
f(A,B,C) = g(A,C) h(B,C)
f(A,B,C) = g(A,C) h(B,C)
f(A,B,C) = g(A,C) h(B,C)
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
8 / 24
Decomposition Strategy I• An ISF F(A, B, C) is bi-decomposed into
function sets G(A, C) and H(B, C)
• This decomposition is recursively repeated.
• More functions in G(A, C) means fewer functions in H(B, C) and vice versa.
• Our strategy: Include into G(A, C) as many functions as possible, design G(A, C), then make the same with H(B, C).
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
9 / 24
Decomposition Strategy IIExample:
G
?
Fab
cd
0 1 0 1 0 1 0 1 0
00
01
11
10
00 01 11 10ab
cdF(a,b,c,d)
0
1
0
G(a,b)
design(F){
G = bi_decompose(F);g = design(G);H = compute_h(F, g);h = design(H);return bi_compose(g, h);
}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
10 /
24
Decomposition Strategy IIIExample:
?
Fab
cd
0 1 0 1 0 1 0 1 0
00
01
11
10
00 01 11 10ab
cdF(a,b,c,d)
0
1
0
0
g(a,b)
g design(F){
G = bi_decompose(F);g = design(G);H = compute_h(F, g);h = design(H);return bi_compose(g, h);
}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
11 /
24
Decomposition Strategy IVExample:
H
Fab
cd
0 1 0 1 0 1 0 1 0
00
01
11
10
00 01 11 10ab
cdF(a,b,c,d)
0
1
0
0
g(a,b)
g
0 1 0 H(c,d)
design(F){
G = bi_decompose(F);g = design(G);H = compute_h(F, g);h = design(H);return bi_compose(g, h);
}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
12 /
24
Decomposition Strategy VExample:
fab
cd
0 1 0 0
1 0 1 1
0 1 0 0
0 1 0 0
00
01
11
10
00 01 11 10ab
cdf(a,b,c,d)
0
1
0
0
g(a,b)
g
0 1 0 0 h(c,d)
h
design(F){
G = bi_decompose(F);g = design(G);H = compute_h(F, g);h = design(H);return bi_compose(g, h);
}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
13 /
24
Function Sets in Bi-Decomposition• Pass as many decomposition functions to the
next stage of decomposition as possible.
• For OR and AND decomposition ISFs are sufficient to describe all decomposed functions.
• In EXOR decomposition ISFs describe only a small fraction of all possible subfunctions
G(A, C) and H(B, C).
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
14 /
24
EXOR-Decomposition of Functions• A function f(A, B, C) is EXOR-decomposable
if its decomposition chart consists of two types of columns one being the negation of the other.
• There are two decomposition functions g(A, C), the first column and its negation.
• Example:
0 1 0 0
1 0 1 1
0 1 0 0
0 1 0 0
00
01
11
10
00 01 11 10ab
cd f(a,b,c,d)
0
1
0
0
g1(a,b)
1
0
1
1
g2(a,b)
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
15 /
24
EXOR-Decomposition of ISFs I• An ISF F(A, B, C) can consists of independent
parts.
• Each independent part consists of horizontally or vertically connected cares in the decomposition chart.
0 1 1 0 0 0
0 0
00
01
11
10
00 01 11 10ab
cd F(a,b,c,d)
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
16 /
24
EXOR-Decomposition of ISFs II• Each independent part has an ISF Gi(A, C) and its
negation as decomposition functions.
• All decomposition functions gi are combinations of the Gi or their negation (/Gi).
• Function set is not an ISF new data structureG1(a,b) G2(a,b)
0
1
0
0
G1G2
1
0
0
0
G1G2
0
1
1
1
G1G2
1
0
1
1
G1G2
0 1 1 0 0 0
0 0
00
01
11
10
00 01 11 10ab
cd F(a,b,c,d)
0
1
0
0
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
17 /
24
Combinational ISFs (C-ISF)• A C-ISF is a set of functions specified by a set of
component ISFs with disjoint care sets.
• The cares of each component ISF may be negated.
• A C-ISF contains 2#component ISF functions.
0
1
F1(a,b)
0
0
F2(a,b)
0
1
0
0
f1
1
0
0
0
f2
0
1
1
1
f3
1
0
1
1
f4F<F1,F2>={f1, f2, f3, f4}
00
01
11
10
ab
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
18 /
24
Decomposition of C-ISFs I• Each component ISF Fi of a C-ISF F<F1,,Fn>
can be negated.
• The decomposability of the function depends on the pattern of negations of its component ISFs .
• A large number of component ISFs is possible.
• We propose a greedy algorithm that successively adds the component ISFs to the resulting ISF.
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
19 /
24
Decomposition of C-ISFs II• Example: Decomposition of F<F1, F2, F3>
1 0 1
00
01
11
10
00 01ab
c F1
1
0
F2
1
1 0
F3
1 1
0 1
0
F1F2
1 0
0 1
1
F1F2
1 0
0 1
1 1
1 0
F1F2F3
1 0
0 1
1 0
0 1
F1F2F3
EXOR-decomposablerelating {a, b} - {c}
not EXOR-decomposablerelating {a, b} - {c}
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
20 /
24
Multi-Valued Bi-Decomposition• Function sets of Boolean functions can be
generalized to function sets of multi-valued functions.
• EXOR-decomposition can be extended to MODSUM- (sum modulo n) decomposition.
• AND- and OR-decompositions correspond to MIN- and MAX-decompositions
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
21 /
24
Results I• Decomposition of machine-learning benchmarks
• Selection of type of decomposition:
F = modsum (max (G1max, G2max) H )
• Comparison of complexity of G using ISFs and C-ISFs
max
modsum
H
G1max
G2max F
A1
A2
B
ISF vs. C-ISFG
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
22 /
24
)2()1(
)2()1(
maxmax
maxmaxmax ISFISF
ISFCISFC
GDFCGDFC
GDFCGDFCG
Results II
Name #inp Gmax
monks3 6 -monks1 6 1.00postOp 8 -bridges1 9 0.42cloud 6 1.00sleep 9 2.89E-4trains 32 1.00
#inp - Number of Inputs
DFC(F)=mo(mi1*mi2*...*min)
DFC: discrete function cardinality
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
23 /
24
Conclusion• Function sets are a generalization of ISFs.
• C-ISFs are a particular class of function sets that describe the decomposed functions of EXOR-decomposition
• C-ISFs can be efficiently bi-decomposed
• Better decompositions can be found using C-ISFs instead of ISFs
Bi-Decomposition of Discrete Function Sets RM‘99Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
24 /
24
Further Work
• Applications– Ashenhurst and Curtis decompositions– finite state machine design
(set of functions is used to represent
set of state encodings)
• Extensions– function sets for multiple output functions– a new concept of sets of relations