bernd steinbach *, christian lang *, and marek a. perkowski +

24
Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 1 / 24 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 Bi-Decomposition of Discrete Function Sets

Upload: netis

Post on 08-Jan-2016

22 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 2: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 3: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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.

Page 4: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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)

Page 5: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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)

Page 6: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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}

Page 7: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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)

Page 8: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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).

Page 9: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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);

}

Page 10: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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);

}

Page 11: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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);

}

Page 12: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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);

}

Page 13: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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).

Page 14: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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)

Page 15: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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)

Page 16: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 17: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 18: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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.

Page 19: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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}

Page 20: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 21: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 22: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 23: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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

Page 24: Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

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